在python/numpy/scipy中求三角矩阵的逆



我正在寻找一个(下)三角形矩阵,它来自A的Cholesky分解,作为A = L @ L.T。有一些可能的解决方案,包括numpy:逆上三角矩阵。不幸的是,这个问题现在已经超过11年了,所以现在可能存在更新的解决方案。在numpyscipy或任何其他相关的包中是否有任何方法可以用来计算三角矩阵的逆,上或下?

我显然可以自己编写一个解决方案(对角项的逆并确保非对角积为null),但这很容易出错,并且可能不像更常见的包那样稳定和经过测试。

与前一篇文章一样,通常不需要获得显式的逆,并且重构代码以在接下来使用三角形求解器例程时调用它通常是可取的。如果确实有必要,使用恒等作为互补参数的三角解算器会产生显式逆。

如果使用得当,Tensorflow的三角形求解器可以比前面提到的那些更快。看到:

https://www.tensorflow.org/api_docs/python/tf/linalg/triangular_solvehttps://www.tensorflow.org/guide/function

除此之外(作为一个做了很多关于Cholesky分解的工作的人),从我的角度来看,前一篇文章中的答案仍然是正确的。

最新更新