sparse matrix with data type as 'single'
显示 更早的评论
Dear all:
I have a very large sparse matrix that I hope to reduce the size further more. I noticed that in full matrix, one could cast a matrix to a different data type, e.g., from double to single.
A = eye(100);
S = sparse(A);
B = single(eye(100));
S = sparse(B); % error: Undefined function 'sparse' for input arguments of type 'single'.
whos
I am wondering if there is any way to turn non-zero part of a sparse matrix into a data type of single so that I could save half of the space.
Thank you, and I look forward to hearing from you!
Best,
Long
采纳的回答
更多回答(1 个)
Walter Roberson
2020-6-18
1 个投票
No, that is not supported. sparse() is only supported for double and logical.
5 个评论
Long Hong
2020-6-19
Walter Roberson
2020-6-19
Not while using the defined sparse functions.
What operations are you doing with the matrices? For some restricted operations it might be practical to write replacement sparse routines. However if you are doing something like eigs() or using sparse \ (matrix division) then enough would have to be reimplemented to make it questionable as to whether it is worth doing.
Long Hong
2020-6-19
Long Hong
2020-6-19
类别
在 帮助中心 和 File Exchange 中查找有关 Sparse Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!