线性代数基础

Base

对于矩阵 A,对齐做 SVD 分解,即 U Σ V = s v d ( A ) U\Sigma V = svd(A) UΣV=svd(A). 其中 U 为 A A T AA^T AAT的特征向量,V 为 A T A A^TA ATA的特征向量。 Σ \Sigma Σ 的对角元素为降序排序的特征值。显然,U、V矩阵中的列向量相互正交,所以也可以视 V 为svd分解给出了A的列向量空间的正交基,其中最大奇异值(或特征值)对应的特征向量捕捉了数据变化的最大方向。

求满足 Ax=0 的 x

显然该问题等价于 x T A T A x = 0 x^TA^TAx = 0 xTATAx=0.
此问题有非零解 => A不满秩 => 行列式为0 => A T A A^TA ATA 的特征值至少有一个为0.

  • 考虑 A A A的秩的为 k-1, 那么 A T A A^TA ATA 的特征值有一个为0。所以svd分解后V矩阵的最后一列 x ∗ x^* x 就是特征值为 0 所对应的特征向量,即 A T A x ∗ = 0 ∗ x ∗ = 0 A^TA x^* = 0 * x^* = 0 ATAx=0x=0.
    对于超定方程,极有可能不存在解析解,但存在最小二乘解满足 ∥ A x ∥ 2 \Vert Ax \Vert_2 Ax2 最小,即最小的特征值所对应的特征向量。常见的这类问题如:已知一些三维空间中大致落在二维平面上的点,用n*3的矩阵P描述,求这个平面的法向量 n。
  • 考虑 A A A的秩的为 k-2,那么那么 A T A A^TA ATA 的特征值有两个为0。
    例如,已知一些落在直线上的三维点,用n*3的矩阵描述这些点,求这条线的方向n。那么显然就是求满足 m a x x ∥ A x ∥ 2 max_x \Vert Ax \Vert_2 maxxAx2的最小二乘解,也就是最大的特征值对应的特征向量。另外,两个为0的特征值所对应的特征向量反应了在垂直直线方向的趋势,或者说向量投影到垂直直线方向(法平面)的投影。
    另一个例子:存在一个bearing vector,由于bearing vector的模长固定为1,因此只能在球面上移动,其自由度为2。为了描述bearing vector的误差,所以采用bearing vector在其切平面的投影作为量化方式。那么对 bearing vectord的转置做SVD分解,则两个为0的奇异值对应的特征向量就是切平面的基。

求解Ax = b的x

此问题等价于求 A x − b = 0 Ax - b = 0 Axb=0

  • r a n k ( A ∣ b ) = r a n k ( A ) < k rank(A|b) = rank(A) < k rank(Ab)=rank(A)<k, 有特解+通解多个解
  • r a n k ( A ∣ b ) = r a n k ( A ) = k rank(A|b) = rank(A) = k rank(Ab)=rank(A)=k, 有唯一解
  • r a n k ( A ∣ b ) > r a n k ( A ) rank(A|b) > rank(A) rank(Ab)>rank(A), 无解

求解线性方程组 ( Ax = b ) 的方法有多种,具体选择取决于矩阵 ( A ) 的特性(例如,是否是方阵、是否是稀疏矩阵、是否满秩等)。以下是常见的几种方法:

1. 直接求解法

适用于方阵 ( A ) 为非奇异矩阵的情况(即 ( A ) 可逆)。

1.1 矩阵逆法
  • 如果 ( A ) 是方阵且非奇异(满秩),我们可以通过矩阵的逆求解:
    x = A − 1 b x = A^{-1} b x=A1b
  • 优点:理论上适用于所有满秩方阵。
  • 缺点:计算逆矩阵代价较高,尤其是对于大规模矩阵,数值不稳定性也可能导致精度问题。
1.2 高斯消去法
  • 高斯消去法是一种通过初等行变换将 ( A ) 化为上三角矩阵,然后使用回代法求解 ( x ) 的方法。
  • 步骤:
    1. 将 ( A ) 化为上三角矩阵(消元过程)。
    2. 从最后一个方程开始回代求解各个未知数。
  • 优点:适合解决大部分线性方程组问题。
  • 缺点:在稀疏矩阵或病态矩阵情况下可能表现不好。
1.3 LU 分解
  • 将 ( A ) 分解为两个矩阵 ( L )(下三角矩阵)和 ( U )(上三角矩阵),使得 ( A = LU )。
  • 分两步解决:
    1. 求解 ( Ly = b )(前向替换)。
    2. 求解 ( Ux = y )(回代)。
  • 优点:可以高效地处理多次相同矩阵 ( A ) 但不同向量 ( b ) 的情况。
  • 缺点:不适合奇异或病态矩阵。

2. 迭代求解法

适合大规模、稀疏矩阵,特别是在矩阵 ( A ) 具有特殊结构(例如稀疏或对称正定)的情况下。

2.1 Jacobi 方法
  • 假设矩阵 ( A ) 可以分解为对角矩阵 ( D ) 和严格三角矩阵 ( L + U ),即 ( A = D + (L + U) )。
  • 通过迭代更新:
    x ( k + 1 ) = D − 1 ( b − ( L + U ) x ( k ) ) x^{(k+1)} = D^{-1}(b - (L+U)x^{(k)}) x(k+1)=D1(b(L+U)x(k))
  • 优点:实现简单,适合并行计算。
  • 缺点:收敛速度较慢,且不适用于所有矩阵,尤其是条件数较大的矩阵。
2.2 Gauss-Seidel 方法
  • 类似于 Jacobi 方法,但在每次更新时使用新的值:
    x i ( k + 1 ) = 1 A i i ( b i − ∑ j = 1 i − 1 A i j x j ( k + 1 ) − ∑ j = i + 1 n A i j x j ( k ) ) x_i^{(k+1)} = \frac{1}{A_{ii}} \left( b_i - \sum_{j=1}^{i-1} A_{ij} x_j^{(k+1)} - \sum_{j=i+1}^{n} A_{ij} x_j^{(k)} \right) xi(k+1)=Aii1(bij=1i1Aijxj(k+1)j=i+1nAijxj(k))
  • 优点:比 Jacobi 方法收敛快。
  • 缺点:仍可能在某些条件下收敛缓慢。
2.3 共轭梯度法
  • 适用于对称正定矩阵。该方法是一种梯度下降的改进形式,通过寻找共轭方向来加速收敛。
  • 步骤
    1. 初始化 ( x_0 )。
    2. 迭代更新:
      x k + 1 = x k + α k p k x_{k+1} = x_k + \alpha_k p_k xk+1=xk+αkpk
      其中 ( p_k ) 是共轭方向,( \alpha_k ) 是步长。
  • 优点:对大规模、稀疏、对称正定矩阵非常高效。
  • 缺点:只适用于对称正定矩阵,且需要合适的预条件来保证收敛性。

3. 奇异值分解 (SVD)

适用于任意矩阵 ( A ),包括矩阵不满秩或奇异的情况。

  • 奇异值分解将 ( A ) 分解为 ( A = U \Sigma V^T ),其中 ( U ) 和 ( V ) 是正交矩阵,( \Sigma ) 是对角矩阵,包含矩阵的奇异值。
  • 求解过程为:
    x = V Σ − 1 U T b x = V \Sigma^{-1} U^T b x=VΣ1UTb
  • 优点:SVD 能处理任何矩阵,包括奇异矩阵和非方阵,是最为稳定的求解方法之一。
  • 缺点:计算复杂度高,不适合大规模问题。

4. QR 分解

  • QR 分解将矩阵 ( A ) 分解为正交矩阵 ( Q ) 和上三角矩阵 ( R ),即 ( A = QR )。
  • 求解步骤:
    1. 将方程变为 ( QRx = b )。
    2. 左乘 ( Q^T ),得到 ( Rx = Q^T b )。
    3. 用回代法求解上三角矩阵 ( R ) 的方程。
  • 优点:稳定性好,特别适用于不满秩的矩阵。
  • 缺点:比高斯消去法稍微复杂,计算量略大。

5. 伪逆法(Moore-Penrose 逆)

适用于矩阵 ( A ) 不为方阵或不满秩的情况。

  • 如果 ( A ) 是不方的或者不满秩,我们可以通过伪逆矩阵 ( A^+ ) 求解:
    x = A + b x = A^+ b x=A+b
    其中 ( A^+ ) 是 ( A ) 的 Moore-Penrose 伪逆。
  • 优点:适用于任何矩阵(包括矩阵不满秩、奇异的情况),能找到最小范数解。
  • 缺点:计算伪逆较复杂,尤其是对于大规模矩阵。

总结

  • 对于方阵且 ( A ) 可逆,常用 高斯消去法LU 分解
  • 对于大规模稀疏矩阵或需要迭代求解时,Jacobi 方法Gauss-Seidel 方法共轭梯度法 适用。
  • 对于奇异或不满秩的矩阵,SVD伪逆法 能保证稳定的解。
  • QR 分解高斯消去法 常用于数值稳定性要求较高的情境。
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值