目录
线性方程组的求解是计算机视觉工程实践中经常碰到的问题,这篇文章对其常见解法进行整理和总结.先上结论:

针对线性方程组 A x = b Ax=b Ax=b的求解问题,我们按照系数矩阵 A A A的性质进行分类讨论。
1. A A A为方阵
-
d e t ( A ) ≠ 0 det(A)\neq0 det(A)=0
方程组有唯一解.
-
d e t ( A ) = 0 det(A)=0 det(A)=0
- 若 r ( A ) < r ( A , b ) r(A)<r(A,b) r(A)<r(A,b),则方程组无解
- r ( A ) = r ( A , b ) < n r(A)=r(A,b)<n r(A)=r(A,b)<n,则方程组有无穷多解
求解方法在数值分析这门课程中有详细介绍,可分为两类:
直接法
直接法主要针对低阶稠密矩阵(200阶以内)
- Gauss消去法及其改进(列选主元的Gauss消去法)
- 直接三角分解法(LU分解,LDU分解,Cholesky分解(针对对称正定矩阵),Gauss消去法的代数实质就是LU分解)
迭代法
迭代法主要针对大型矩阵,而且在实际中,这类矩阵通常在结构上有特点,比如稀疏
- 雅可比迭代法
- 高斯-赛德尔迭代法
- 超松弛(SOR)迭代法
2. A A A为非方阵且 A ∈ R m × n , m > n A\in R^{m\times n},m>n A∈Rm×n,m>n
行数大于列数,即方程数目大于未知数个数.此时方程组称为超定方程组,一般来说无精确解,但可以求其最小二乘解.所谓的最小二乘解是指:在欧几里得空间中以2-范数作为距离,使得向量 A x Ax Ax与 b b b之间距离最小的 x x x.这个问题在优化理论中被称为线性最小二乘问题(这个概念与非线性最小二乘相对应,两者的区别见https://www.jianshu.com/p/bf6ec56e26bd),即我们的目标转换为下式:
min x ∈ R n ∥ A x − b ∥ 2 \min_{x\in{R^n}}{
{\lVert{Ax-b}\rVert}_{2}} x∈Rnmin∥Ax−b∥2
先给出三个定理,说明超定方程组最小二乘解的存在性和唯一性
-
定理1
超定方程组必存在最小二乘解,且 x x x是方程组的最小二乘解的充要条件是: x x x是 A T A x = A T b A^TAx=A^Tb ATAx=ATb的解
-
定理2
若 r ( A ) = n < m r(A)=n<m r(A)=n<m,超定方程组存在唯一最小二乘解
-
定理3
若 r ( A ) < n < m r(A)<n<m r(A)<n<m,则超定方程组有无穷多个最小二乘解,其中2-范数最小的解称为方程组的最小二范数解,且该解是唯一的
下面按照 A A A的秩分类讨论.
2.1. r ( A ) = n < m r(A)=n<m r(A)=n<m
此情形对应于定理2
正规方程法
证明:
∥ A x − b ∥ 2 2 = ( A x − b ) T ∗ ( A x − b ) ∥ A x − b ∥ 2 2 = x T A T A x − b T A x − x T A T b + b T b 求 导 并 令 导 数 为 0 : ∂ ∥ A x − b ∥ 2 2 ∂ x = 2 A T A x − 2 A T b = 0 得 到 方 程 : A T A x = A T b 因 为 r ( A T A ) = r ( A ) , 所 以 d e t ( A T A ) ≠ 0 x = ( A T A ) − 1 A T b {\lVert{Ax-b}\rVert}_2^2={(Ax-b)}^T*(Ax-b)\\ {\lVert{Ax-b}\rVert}_2^2=x^TA^TAx-b^TAx-x^TA^Tb+b^Tb\\ 求导并令导数为0: {\partial{
{
{\lVert{Ax-b}\rVert}_2}^2}\over{\partial{x}}}=2A^TAx-2A^Tb=0\\ 得到方程:A^TAx=A^Tb\\ 因为r(A^TA)=r(A),所以det(A^TA)\neq0\\ x=(A^TA)^{-1}A^Tb ∥Ax−b∥22=(Ax−b)T∗(Ax−b)∥Ax−b∥22=xTATAx−bTAx−xTATb+bTb求导并令导数为0:∂x∂∥Ax−b∥22=2ATAx−2ATb=0得到方程:ATAx=ATb因为r(ATA)=r(A),所以det(ATA)=0x=(ATA)−1ATb
A T A x = A T b A^TAx=A^Tb ATAx=ATb称为正规方程组, ( A T A ) − 1 A T (A^TA)^{-1}A^T (ATA)−1AT称为广义逆
缺点:
- 数值不稳定
- 需要求逆,计算量大
SVD法
这里先给出矩阵的SVD(奇异值分解)的定义:
对于任意给定的 A ∈ R m × n A\in R^{m\times n} A∈Rm×n,都存在正交矩阵 U ∈ R m × m U\in R^{m\times m} U∈Rm×m, V ∈ R n × n V\in R^{n\times n} V∈Rn×n使得 A = U S V T A=USV^T A=USVT
其中:
U U U的列向量为 A A T AA^T AAT的特征向量
V V V的列向量为 A T A A^TA ATA的特征向量

本文详细总结了线性方程组的解法,包括方阵的直接法(如高斯消去、LU分解等)和迭代法(如雅可比、高斯-赛德尔、SOR),以及非方阵情况下的最小二乘解法。通过正规方程、SVD和QR分解探讨了超定方程组的求解,并讨论了欠定方程组的最小二范数解。内容涵盖数值稳定性、计算量及矩阵秩的影响。
最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



