Sparse matrix ir sorting
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Fadime Bekmambetova
il 23 Apr 2019
Commentato: Fadime Bekmambetova
il 23 Apr 2019
Hi,
I am writing a MEX function and I need to know some specific information about the way sparse matrices are stored: in particular, the result of mxGetIr.
From the documentation on mxSetIr (https://www.mathworks.com/help/matlab/apiref/mxsetir.html) I see the following
"The ir array must be in column-major order. The ir array must define the row positions in column 1 (if any) first, then the row positions in column 2 (if any) second, and so on, through column N. Within each column, row position 1 must appear before row position 2, and so on."
Does this mean that the elements in ir array corresponding to the same column are guaranteed to go in increasing order? This was also my observation but I want to confirm whether this is necessarily the case, so I can use this property in my MEX code.
Thank you!
0 Commenti
Risposta accettata
James Tursa
il 23 Apr 2019
Yes, the elements in the ir array corresponding to the same column are guaranteed to go in increasing order. The indexing is 0-based, not 1-based. If you are building a sparse matrix from scratch in a mex routine, you must ensure this is the case in order to have a valid matrix.
Basically, the elements of the sparse matrix are stored in column-major order in memory ... so the ordering of the ir values for any particular column must be increasing in order for this to be the case.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!