【问题标题】:lapack cholesky factorization for inverse and square root of a matrix矩阵的逆和平方根的 lapack cholesky 因式分解
【发布时间】:2018-10-05 12:41:35
【问题描述】:

我有一个维度为 nxn 的对称正定矩阵“A”。我想计算它的倒数和平方根。我的问题是:

  1. 我可以使用 lapack 子例程“dpotri”计算逆,它返回 A 的逆的上/下三角部分。我可以使用从 dpotri 获得的信息计算 A 的平方根还是需要使用“ dpotrf" 分别计算平方根。顺序并不重要。我的意思是说,我们可以先使用“dpotrf”来计算 A=LL'(其中 L' 是平方根),然后在不使用 dpotri 的情况下计算 A 的倒数吗?

  2. 我只有 A 的上三角部分,其余元素最初设置为 0。我可以通过从上部复制元素来更改其下部,但我想避免此操作。我们可以在只有上半部分(其余矩阵元素设置为 0)的矩阵“A”上使用“dpotri”或“dpotrf”吗?

【问题讨论】:

  • 只是为了确保我说对了。您需要矩阵及其平方根的 Cholesky 因式分解,对吗?
  • 没有。我只需要“A”矩阵的 Cholesky 分解。所以 A 变成 LL',其中 L' 是平方根。
  • 好的。所以另一条路线是超过dsyevr特征值和特征向量。但从技术上讲,这取决于您的矩阵的条件如何。然后dsyevr 收敛得非常快,应该很容易胜过 Cholesky 方法。但是条件不佳的矩阵在dpotrf 中会表现得更好。
  • 听起来不错。我的矩阵是一个相关矩阵,是对称正定的。它是在算法的每次迭代中创建的,并在以后的迭代中慢慢变得病态。我认为“dsyevr”可以代替 dpotrf 用于初始迭代中的特征值,因为它优于 cholesky 分解。
  • 那么你介意接受这个作为答案吗?你会非常棒的。这不仅有助于我的信用,还可以让人们以后更容易找到答案。

标签: matrix lapack


【解决方案1】:

好的。所以另一条路线是超过dsyevr特征值和特征向量。但从技术上讲,这取决于您的矩阵的条件如何。然后dsyevr 收敛得非常快,应该很容易胜过 Cholesky 方法。但是条件不佳的矩阵在dpotrf 中会表现得更好。

【讨论】:

    猜你喜欢
    • 2013-11-11
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 2018-01-04
    • 2019-09-01
    • 1970-01-01
    相关资源
    最近更新 更多