matlab中稀疏矩阵的幂

时间:2012-03-16 21:16:19

标签: matlab sparse-matrix

有没有办法在matlab中计算稀疏矩阵的功效而不将其转换为完整矩阵。如果我试试

b = a^0.5

其中a是稀疏矩阵,我得到错误“Use full(x)^ full(y)。”。但是,将a转换为完整矩阵会破坏开始使用稀疏矩阵的目的。有人知道这是否可行?

2 个答案:

答案 0 :(得分:3)

一般来说,稀疏矩阵的平方根不会稀疏。因此稀疏没有收获。

答案 1 :(得分:2)

您需要的是自己计算根。假设kxk方阵,然后

[v d] = eigs ( a, k ) 
r = v*(d^0.5)*v'

然而,这对于非对称或复杂矩阵不起作用,并且它实际上胜过了具有稀疏矩阵的目的,因为你产生了另外几个已满的矩阵。不幸的是,预计特征向量不会稀疏。因此,您了解为什么需要使用完整矩阵。