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

7 visualizaciones (últimos 30 días)
Jason
Jason el 28 de Oct. de 2016
Comentada: Jason el 7 de Nov. de 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 comentarios
Matt J
Matt J el 28 de Oct. de 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 el 7 de Nov. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Jan
Jan el 28 de Oct. de 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.

Más respuestas (0)

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by