Sparse matrix memory problem
1 回表示 (過去 30 日間)
古いコメントを表示
I need to create really big sparse matrix, which will have very few non zero elements. I am trying to do this callling function:
A = sparse([1], [1000000000], 1);
But Matlab then allocates 7GB of memory! I think sparse matrices uses memory only for non zero elements, but it seems it allocates full matrix. Am I doing something wrong or this is Matlab bug? How can I bypass it?
0 件のコメント
採用された回答
Teja Muppirala
2012 年 4 月 5 日
Sparse matrices keep track of data by each column. This means that if you have a lot of columns (here you have one billion of them...), then you will need lots of memory even though it is sparse. A workaround would be to make it a single column vector with 1e9 rows instead.
A = sparse(1000000000, 1, 1);
0 件のコメント
その他の回答 (1 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!