设A
是正定矩阵,A=L*L'
是它的cholesky分解,其中L
是下三角。设A2 = A + alpha*x*x'
是矩阵A
的秩-1更新,其中x
是适当维数的向量,alpha
是标量。
Cholesky因子更新是在不首先计算A2
的情况下获得因式分解A2=L2*L2'
的过程,在这种低秩矩阵更新的情况下,这对于加快计算非常有用。
我正在使用BLAS/LAPACK库进行初等代数操作。我可以用常规的spptrf计算正定矩阵的Cholesky分解。然而,我一直在寻找,我没有找到一个BLAS/LAPACK功能,执行Cholesky因素更新。是否没有这样做的功能呢?
Additionally:在此旧员额中,讨论了添加此类例程的问题。然而,这是一个非常旧的职位(2013年),我一直未能找到任何更近期的。
发布于 2018-05-27 11:12:22
没有这样的功能。您可以查看我们在SciPy上进行的讨论。我已经编写了一个Python脚本,用相关的文件进行更新。你可以利用这些信息。
https://github.com/scipy/scipy/issues/8188
如果您感到有竞争力,并为此编写了Fortran代码,我将非常感谢您能够将其作为PR https://github.com/Reference-LAPACK/lapack提交给LAPACK回购公司。
https://stackoverflow.com/questions/50450675
复制