- 
                Notifications
    You must be signed in to change notification settings 
- Fork 2
Approximator Abstract Type: Selector #120
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
base: main
Are you sure you want to change the base?
Conversation
| Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nathanielpritchard please add some en uses in the PR description for context
| 
 I have updated the PR accordingly. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is OK for now well need to revisit the Selector type once we actually have selectors implemented.
This is an implementation of new abstract type that will be essential for all interporlatory decompositions that will be implemented, such as CUR. This set of abstract types will be know as
Selectorsas they will be designed to select row and column indices from matrices. A selector will work by performing some operation on a matrix that helps to identify good indices. This could be as simple as using the matrix to derive a distribution, which it samples from or it could be as complicated as considering the interplay between the matrix and its dominant singular vectors. This PR implements:Selector, the techniqueSelectorRecipe, the recipe for the techniquecomplete_selector, the function that returns the recipe given the techniqueupdate_selector!, the function that updates the selector recipesselect_indices!, the function that selects indices from a matrix and stores then in a vectoridx.Example selectors: