-
Notifications
You must be signed in to change notification settings - Fork 10
Improvements to API for sparse matrices #137
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ce constructor for DenseDist so that it can handle any ordinal arguments, rather than just double.
…d sort_coo_data to sort_coo_arrays. Marked some functions for deprecation.
…ce alloc_coo_arrays, alloc_compressed_sparse_arrays, free_coo_arrays, and free_compressed_sparse_arrays.
rileyjmurray
commented
Oct 13, 2025
rileyjmurray
commented
Oct 13, 2025
rileyjmurray
commented
Oct 13, 2025
…. Tweak implementation of safe_scal for improved efficiency.
…coo_to_csr and coo_to_csc so that the COOMatrix argument is const.
Merge branch 'sparse-api-improvements' of https://github.com/BallisticLA/RandBLAS into sparse-api-improvements
…copy instance methods to COOMatrix, CSRMatrix, CSCMatrix. Remove COOMatrix copy constructor. Add transpose() instance methods to CSCMatrix, CSRMatrix, COOMatrix. Rename transpose(COOMatrix&) to transpose_as_coo(const COOMatrix&); this doesn't break our API since the former function never appeared in our web docs. Streamline transpose handling in left_spmm dispatch function using the new transpose() instance methods.
rileyjmurray
commented
Oct 15, 2025
Contributor
Author
|
EDIT: the issue below has been resolved. There's web doc example text that includes the following lines SkDist D1( d, m, arg3, Axis::Short );
SkDist D( d, m + k, arg3, Axis::Short );
// Since d < m and we're short-axis major, the columns of matrices sampled from
// D1 or D1 will be sampled i.i.d. from some distribution on R^d.
using SkOp = typename SkDist::distribution_t;
SkOp S1( D1, seed_state ); // seed_state is some RNGState.
SkOp S( D, seed_state );
// With these definitions, S1 is *always* equal to the first m columns of S.
// We recover S2 by working implicitly with the trailing k columns of S.The typedef of SkOp is going backward. Right now we can't programmatically get a handle on the SketchingOperator class associated to a SketchingDistribution. |
… for DenseDist and SparseDist. Add DenseDist::sample and SparseDist::sample instance methods
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Everything in the plan below is implemented and tested.
Plan
deepcopy()instance methods and free functions.valsarrays in spmm kernels whenalpha != 0.other changes
sample(RNGState &seed_state)instance functions.