Sparse sub access

This package allows to retrieve and assign values of sparse matrix in one shot.
3.7K Downloads
Updated Sat, 13 Nov 2010 03:30:11 +0000

View License

The indexes must be provided in (row,column) form. Functions in this package are programmed with care so no overflow of linear index is used with large-size matrix. I try to design an engine of automatic selection algorithms so as to provide a good run time performance across various cases. I'm not sure it's worth the effort, but my experience shows that it is easy to mess with the performance when non-appropriate method is using in sparse manipulation. This package does not warranty for best performance, but it just has a modest pretension to prevent user to use bad algorithm. For a better customize solution, a calibration is required on the specific
computer by running this command: spcalib('auto')

Cite As

Bruno Luong (2024). Sparse sub access (https://www.mathworks.com/matlabcentral/fileexchange/23488-sparse-sub-access), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Sparse Matrices in Help Center and MATLAB Answers
Acknowledgements

Inspired: Robust Sparse data types

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.11.0.0

When passing scalar row or column, it will automatically expanded to match the other

1.9.0.0

switch the sort-engine of setsparse to introsort which is more stable than quicksort (previously used) in term of complexity

1.8.0.0

Workaround for BUG of LCC (related to "|" operator in expression with int64)

1.7.0.0

Correct bug when calling setspvalmex.c with empty indice.
This code is also ready to compiled using INTROSORT, however QUICKSORT is still retained as default engine.

1.6.0.0

Correct a bug in setspvalmex.c, which concerns 64-bit only

1.5.0.0

A new mex sparse assign engine is developped from scratch using quicksort. Finally, we beat adding routine by about 40% of speed. More comprehensive calibration routine is included.

1.4.0.0

More comprehensive calibration
Correct mex-build command for 64-bit platform
Many small improvements and bug fixes

1.3.0.0

A brand new mex implementation that overcome Matlab indexing Bug (32 bit platform) and improve the speed by approximately a factor of 4.

1.2.0.0

Adjust the maximum of linear index allowed according to bug information communicated by The Mathworks (applicable only for 32-bit platform, v.2009A or previous)

1.1.0.0

Add a feature of bi-variate function-handle when assign values

1.0.0.0