Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement DPCoA #12

Open
dkoslicki opened this issue Jun 18, 2021 · 0 comments
Open

Implement DPCoA #12

dkoslicki opened this issue Jun 18, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@dkoslicki
Copy link
Member

Implement algorithm 2.3.1 from page 98 of Jason's thesis. Note that Jason is using a binary tree so the following adjustment will be necessary: Whenever you see anything like: \lfloor (i/2) \rfloor, interpret this as the ancestor of node i. Also, check in line 13 of algorithm 2.3.1 if the matrix is sparse (as sparse SVD approaches might help here). Lastly, the three nested for loops (lines 3-7, 8-12, and 14-18) can be parallelized over the depths of the tree. I.e. Given an ancestor node, the update step only depends on its descendants. Will need to check if that leads to a speedup. Otherwise, vectorization with numpy might make things faster.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants