sparse function is intrisically slow?

5 Ansichten (letzte 30 Tage)
Jiangtao Lu
Jiangtao Lu am 7 Mai 2020
Kommentiert: Yingzhi Liu am 19 Mär. 2022
I am building the sparse matrix using the function sparse(I,J,V,N,N)
I, J and V are already a column vector. I checked previous questions, it seems already being the best way. But, it takes extreamely long time if the size goes to 1E5.
Any way out? Thanks!
  14 Kommentare
James Tursa
James Tursa am 12 Mai 2020
OK. Are the values in the double vector stored in the same memory order as the sparse matrix columns? Can you give a small example of your indexing and values vector? I'm asking all of these questions to see if a mex routine could work for you.
Jiangtao Lu
Jiangtao Lu am 12 Mai 2020
Bearbeitet: Jiangtao Lu am 12 Mai 2020
I am not clear to that question. The calculation is like:
work.jacValueIndex = numC*(work.g(work.J)-1)+work.I;
jacValue = df(work.jacValueIndex)./dc(work.J);
jac = sparse(work.I,work.J,jacValue,numC,numC);
I attached an example of work and jacValue

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Robert
Robert am 24 Dez. 2020
I was able to speed my sparse matrix build for very large problems by using sparse2.m (mexFunction) from SuiteSparse.
  1 Kommentar
Yingzhi Liu
Yingzhi Liu am 19 Mär. 2022
I downloaded SuiteSparse, but I don't konw how sould I do to use sparse2.m in matlab. Can you help me list the steps after downloaded SuiteSparse? Thanks.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Performance and Memory finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by