【问题标题】:Power of a sparse matrix in matlabmatlab中稀疏矩阵的幂
【发布时间】:2012-04-02 10:20:11
【问题描述】:

有没有一种方法可以在 matlab 中计算稀疏矩阵的幂,而无需将其转换为完整矩阵。如果我尝试

b = a^0.5

其中 a 是一个稀疏矩阵,我收到错误“Use full(x)^full(y).”。但是,将 a 转换为完整矩阵会破坏从一开始就具有稀疏矩阵的目的。有人知道这是否可能吗?

【问题讨论】:

  • 这个file 可能会让你感兴趣。
  • 我已经试过了,问题是它只允许整数幂,我正在尝试提高到 0.5。
  • 您的矩阵中是否有任何额外的结构可以利用?

标签: matlab sparse-matrix


【解决方案1】:

你的稀疏矩阵的平方根通常不会是稀疏的。所以让它稀疏没有任何好处。

【讨论】:

    【解决方案2】:

    您需要自己计算根。假设一个kxk方阵,则

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

    但是,这不适用于非对称或复杂矩阵,并且它确实超出了拥有稀疏矩阵的目的,因为您会生成另一对已满的矩阵。不幸的是,特征向量预计不会是稀疏的。因此,您会明白为什么需要使用完整矩阵。

    【讨论】:

      猜你喜欢
      • 2015-04-26
      • 1970-01-01
      • 2021-12-07
      • 2013-04-11
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      • 2012-06-20
      • 2014-05-12
      相关资源
      最近更新 更多