基于LDLT分解求解Ax=b(非超定方程)

前置知识,矩阵 A T ∗ A A^T * A ATA的性质:

  1. 实对称性:如果 A A A是实矩阵,那么 A T ∗ A A^T * A ATA是实对称矩阵。这意味着 ( A T ∗ A ) T = A T ∗ ( A T ) T = A T ∗ A (A^T * A)^T = A^T * (A^T)^T = A^T * A (ATA)T=AT(AT)T=ATA,并且它的所有特征值都是实数。

  2. 半正定性 A T ∗ A A^T * A ATA是半正定矩阵。这意味着对于所有非零向量 x x x,都有 x T ∗ ( A T ∗ A ) ∗ x ≥ 0 x^T * (A^T * A) * x \geq 0 xT(ATA)x0。这表明其特征值是非负实数。

  3. 秩的等价性 A T ∗ A A^T * A ATA A A A有相同的秩。即 r a n k ( A ) = r a n k ( A T ∗ A ) rank(A) = rank(A^T * A) rank(A)=rank(ATA)。这是因为 A T ∗ A A^T * A ATA可视作 A A A 在其自身所张成的空间中的正交投影,不会增加或减少原始矩阵的秩。

  4. 特征值与奇异值的关系 A T ∗ A A^T * A ATA的特征值实际上是矩阵 A A A的奇异值的平方。这是因为奇异值分解中, A = U ∗ Σ ∗ V T A = U * \Sigma * V^T A=UΣVT,其中 Σ \Sigma Σ是对角矩阵,其对角元素是 A A A的奇异值。因此, A T ∗ A = V ∗ Σ T ∗ Σ ∗ V T A^T * A = V * \Sigma^T * \Sigma * V^T ATA=VΣTΣVT,而 Σ T ∗ Σ \Sigma^T * \Sigma ΣTΣ即是奇异值的平方构成的对角矩阵。

  5. 迹的性质:由于 A T ∗ A A^T * A ATA是对称的,其迹(即对角元素之和)等于 A A A的奇异值的平方和,这也意味着迹是一个非负数,并且在某种意义上可以视为矩阵能量的度量。

使用LDLT分解来求解 A x = b Ax=b Ax=b。LDLT分解是一种分解对称或Hermitian矩阵的算法,特别适合于那些不完全正定但可进行三角分解的矩阵。它将矩阵分解为一个单位下三角矩阵 L L L(对角线元素为1)和一个对角矩阵 D D D的乘积,即 A T A = L D L T A^TA = LDL^T ATA=LDLT。以下是使用LDLT算法解线性方程组 A x = b Ax = b Ax=b或其最小二乘形式 A T A x = A T b A^TAx = A^Tb ATAx=ATb的步骤:

  1. 构造并分解 A T A A^TA ATA:

    • 首先计算 A T A A^TA ATA,这是一个对称矩阵,适合进行LDLT分解。
    • 应用LDLT分解算法得到 A T A = L D L T A^TA = LDL^T ATA=LDLT,其中 L L L是单位下三角矩阵(对角线上的元素全部为1;对角线右上方的所有元素均为0), D D D是对角矩阵。
  2. 解两个三角系统:

    • 使用前向替换解 L y = A T b Ly = A^Tb Ly=ATb,其中 L L L是从 A T A A^TA ATA的LDLT分解中获得的单位下三角矩阵,得到中间向量 y y y
    • 接着解 D z = y Dz = y Dz=y,这是一个简单的对角线系统,可以直接计算每个分量 z i = y i D i i z_i = \frac{y_i}{D_{ii}} zi=Diiyi
    • 最后,使用后向替换解 L T x = z L^Tx = z LTx=z,得到最终的解向量 x x x
  • 27
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值