内容:共轭梯度类型方法的实现用于求解稀疏线性方程和稀疏最小二乘问题:\开始{align*}\text{求解}&Ax=b\\\text{或最小化}&\|Ax-b\|^2\\\text{或最小化}&\|Ax-b\|^2+\lambda^2\|x\|^2\结束{align*}其中矩阵(A)可以是正方形或矩形(过度确定或确定不足),并且可以具有任何级别。它由计算(Av)和(a^T u)的例程表示对于给定向量\(v)和\(u)。标量\(\lambda\)是一个阻尼参数。如果\(\lambda>0\),则解是“正则化的”,即唯一解总是存在的,并且(x)是有界的。
该方法基于Golub-Kahan双对角化过程。它在代数上等价于应用MINRES到正规方程\((A^T A+\lambda^2 I)x=A^T b,\)但具有更好的数值特性,特别是如果\(A\)处于故障状态。
如果\(A\)是对称的,使用SYMMLQ公司,分钟,或明尼苏达州.
如果\(A\)有低列秩和\(\lambda=0\),则该解决方案不是唯一的。LSMR返回最小长度的解。因此,对于欠定系统,它解决了这个问题\(\min\|x\|\text{subject to}Ax=b\)。更一般地说,它解决了问题\(\min\|x\|\text{subject to}A^T Ax=A^T b\),其中\(A\)可以有任何形状或等级。
对于\(\min\|x\|\text{subject to}Ax=b\),考虑使用CRAIG公司.
特殊功能:\(\ | r \ | \)和\(\ |A^T r \ |,其中,\(r=b-Ax\)是当前残差。对于LSQR公司,只有\(\|r\|\)是单调的。LSQR被推荐用于兼容系统\(Ax=b\),但对于具有松散止动公差的最小二乘问题,LSMR可能会比LSQR提前终止。
特殊应用:要找到奇异(正方形或矩形)矩阵的零向量\(a\),将LSMR应用于系统\(\min\|A^T x-b\|\)任何非零向量(b\)(例如随机向量(b~))。在最小值处,剩余向量(r=b-a^T x)将满足(Ar=0)。有关示例,请参见[1]。
预处理:如果\(A\)是显式稀疏矩阵,则可以直接缩放其列所以每列都有单位2范数。这叫做对角线预处理并应尽可能做到这一点。它可能会显著减少LSMR迭代次数不影响每次迭代的时间。LSMR解决了这个问题\(\min\|ADy-b\|\),然后(x=Dy\)解决原始问题,其中,(D)的第对角线是2范数的倒数(A)的第(j)列。
如果\(A\)是一个运算符,对角线预处理并不简单,除非用户可以准确估计\(A\)的列规范。
一般预条件依赖于用户对\(A\)的了解。对于某些正方形非奇异矩阵(B),用户询问LSMR来解决问题^{-1}年-b\|\),然后恢复通过求解(Bx=y\)得到最终解。用户现在需要编码形式为\(AB)的矩阵向量积^{-1}v\)和\(B^{-T}甲^T u \)通过求解包含前后(B)和(B^T)的线性系统分别带有\(A\)和\(A^T\)的产品。
\如果(AB^{-1})比(A\)条件要好得多。安理想的预条件是(B=R\),其中(R\)是非奇异三角形矩阵来自\(A\)的QR因子。因此不完全QR因子of \(A\)可能会给出一个好的预条件。
反向通信:一个f90版本(lsmrReverse)为产品\(Av\)和\(A^T u\)。每次LSMR需要产品时,它都会返回控件。这允许用户实现自己的停止规则,也许还有他们自己的预条件。理想情况下停车规则应该适用于原始问题,而不是预处理的问题问题。