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

ENH Implement LGCD with rank1 dictionary #46

Closed
tomMoral opened this issue Oct 21, 2021 · 1 comment
Closed

ENH Implement LGCD with rank1 dictionary #46

tomMoral opened this issue Oct 21, 2021 · 1 comment

Comments

@tomMoral
Copy link
Owner

It would be nice to implement LGCD for rank1 dictionary in dicodile so it can be easily integrated in alphacsc. I would go with the following steps:

  • first add a rank1 parameter in dicodile and update set_D and other communication function that communicate D so that it is retireve in rank1. For this first step, the workers should store a full rank D = uv^T (ie forget about the rank 1 inside the worker by computing D from its rank1 form \sum_k u[k]v[k]^T). Also store the rank1 form as a new attribute uv in each worker.
  • Then track all steps that make use of D in the workers and update them to use uv if rank1.
    All these steps should already be implemented in sub functions used in https://github.com/alphacsc/alphacsc/blob/master/alphacsc/utils/coordinate_descent.py as each worker runs an algorithm similar to this one. In particular, I think you need to update the computation of DtD, the reconstruction of X and the _init_beta.
@rprimet rprimet mentioned this issue Nov 4, 2021
@tomMoral
Copy link
Owner Author

tomMoral commented Jan 7, 2022

This has been implemented in #48. Closing this one.

@tomMoral tomMoral closed this as completed Jan 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant