Filter löschen
Filter löschen

Is there an efficient way to create a 3 dimensional sparse matrix?

6 Ansichten (letzte 30 Tage)
Jason
Jason am 28 Okt. 2016
Kommentiert: Jason am 7 Nov. 2016
Hello, all ! I have some 2 dimensional large sparse matrix (may be more than 102,400,000 * 102,400,000) and want them to generate a 3 dimensional sparse matrix. I have tried the ndSparse function, but through profile report, it occupies lots of time. I am wandering if there are some other more efficient methods are slove this problem ! Thank you very much!
  3 Kommentare
Matt J
Matt J am 28 Okt. 2016
I have some 2 dimensional large sparse matrix (may be more than 102,400,000 * 102,400,000) and want them to generate a 3 dimensional sparse matrix
You mean you want to stack them to create a sparse array of size 102400000 x 102400000 x N? What is the density of these arrays (percentage of of nonzeros) and what will you do with them?
Jason
Jason am 7 Nov. 2016
Hi, Matt! your understand is right, I want creat a 3 dimensional matrix, each page is a 2 dimensional sparse matrix. The percentage of nonzeros is varied with the size of the sparse matrix. Because I used Spdiags function to creat the sparse matrix, which covers six diagonals of it.
I want repmat the sparse matrix to creat a 3 dimensional matrix, such as N*N*A. For each page of matrix, it multiply a vextor, such as N*1.Then, I need to find the munimum value and column number of each row.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jan
Jan am 28 Okt. 2016
A solution depends on what you want to do with the data:
All sparse methods I know are optimized for 2D array manipulations. Therefore I assume, that the creation of the 3D-sparse array will not be the bottleneck for the complete program. If you do not need optimized 2D matrix manipulation methods, you can store the data in a cell array of 2d sparse matrices also, or in one 2D sparse array using a conversion of the indices.

Weitere Antworten (0)

Kategorien

Mehr zu Sparse Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by