AX=0的解
对于齐次线性方程组:
A
x
=
0
(
A
∈
R
m
×
n
)
Ax=0(A\in R^{m \times n})
Ax=0(A∈Rm×n)
m是方程数,n是未知数的个数
-
当r(A)=r(A ) =n时:
当A是方阵(m=n)时:
齐次线性方程组有非零解的充要条件是它的系数行列式|A|=0,否则只有唯一零解。
当A(m>n)时-超定方程:
只有零解,但是零解一般而言并不是我们想要的,因此需要求它的一个最小二乘解,因为解并不唯一,需要一个合理的约束只求||x||=1的解
-
当r(A)=r(A )<n,方程组有非零解,这是个充要条件
而且此时基础解系并不唯一(如果x是方程组的一个解,那么对于任意常数k,kx也是方程组的一个解),方程组必有含 n - r(A) 个向量的基础解系,
若 ξ 1 , ξ 2 , . . . , ξ n − r 是 方 程 组 的 基 础 解 系 , 那 么 此 时 方 程 组 的 解 可 以 表 示 为 : x = k 1 ξ 1 + k 2 ξ 2 + . . . + K n − r ξ n − r 若\xi_1,\xi_2,...,\xi_{n-r}是方程组的基础解系,那么此时方程组的解可以表示为:\\ x=k_1\xi_1+k_2\xi_2+...+K_{n-r}\xi_{n-r} 若ξ1,ξ2,...,ξn−r是方程组的基础解系,那么此时方程组的解可以表示为:x=k1ξ1+k2ξ2+...+Kn−rξn−r
注:
n个方程n个未知量的线性方程组有唯一解的充要条件是其系数行列式不等于0,这是线性代数中最重要的结论之一。当线性方程组的系数行列式等于0时,该线性方程组可能无解也可能有无数解,而由于齐次方程组必有零解,故系数行列式等于0时齐次方程组不可能无解,所以有无数组解,也就是有非零解。如果齐次方程组的系数行列式不等于0,那么它有唯一解,又因其必有零解,故这时齐次方程组只有零解。
https://wenku.baidu.com/view/d216b8ba1eb91a37f0115c2f.html
AX=0的最小二乘解
在实际中,所关心的并非是齐次最小二 乘问题的零解,而是它的非零解。因此,总是考虑相应的约束最小二乘问题:
m
i
n
∣
∣
A
x
∣
∣
2
2
s
u
b
j
e
c
t
t
o
∣
∣
x
∣
∣
2
=
1
min||Ax||^2_2 \\ subject to ||x||_2=1
min∣∣Ax∣∣22subjectto∣∣x∣∣2=1
SVD求解:
奇异值分解定义:
有一个m×n的实数矩阵A,我们想要把它分解成如下的形式:
A
=
U
Σ
V
T
A=U\Sigma V^T
A=UΣVT
其中U和V均为单位正交阵
具体计算可以参考:https://byjiang.com/2017/11/18/SVD/
或者:奇异值分解与应用
m
i
n
∣
∣
A
x
∣
∣
2
2
=
m
i
n
∣
∣
U
Σ
V
T
x
∣
∣
2
2
=
m
i
n
∣
∣
Σ
V
T
x
∣
∣
2
2
s
u
b
j
e
c
t
t
o
∣
∣
x
∣
∣
2
=
1
min||Ax||^2_2 =min||U\Sigma V^Tx||^2_2=min||\Sigma V^Tx||^2_2 \\ subject to ||x||_2=1
min∣∣Ax∣∣22=min∣∣UΣVTx∣∣22=min∣∣ΣVTx∣∣22subjectto∣∣x∣∣2=1
设 y = V T x 有 : m i n ∣ ∣ Σ V T x ∣ ∣ 2 2 = m i n ∣ ∣ Σ y ∣ ∣ 2 2 s u b j e c t t o ∣ ∣ y ∣ ∣ 2 = 1 设y=V^Tx \\ 有:min||\Sigma V^Tx||^2_2=min||\Sigma y||^2_2 \\ subject to ||y||_2=1 设y=VTx有:min∣∣ΣVTx∣∣22=min∣∣Σy∣∣22subjectto∣∣y∣∣2=1
问题可解。
Ax=0的解是ATA/AAT的最小特征值的特征矢量:
《计算机视觉中的数学方法》推论8.4.6
上述问题等价于(构造成二次型形式求解最小范数问题):
m
i
n
x
T
A
T
A
x
s
u
b
j
e
c
t
t
o
∣
∣
x
∣
∣
2
=
1
min x^TA^TAx \\ subject to ||x||_2=1
minxTATAxsubjectto∣∣x∣∣2=1
注:
当
A
X
=
0
时
,
A
T
A
X
=
0
,
所
以
A
X
=
0
的
解
是
A
T
A
X
=
0
的
解
。
当
A
T
A
X
=
0
时
,
等
式
两
边
同
时
乘
以
X
T
,
得
X
T
A
T
A
X
=
0
,
也
就
是
(
A
X
)
T
A
X
=
0
。
而
(
A
X
)
T
A
X
=
∣
∣
A
X
∣
∣
,
称
为
A
X
的
范
数
,
它
的
取
值
大
于
等
于
0
,
当
且
仅
当
A
X
=
0
时
,
∣
∣
A
X
∣
∣
=
0
。
所
以
A
T
A
X
=
0
时
,
A
X
=
0
,
即
A
T
A
X
=
0
的
解
是
A
X
=
0
的
解
。
当AX=0时,A^TAX=0,所以AX=0的解是A^TAX=0的解。\\当A^TAX=0时,等式两边同时乘以X^T,得X^TA^TAX=0,\\也就是(AX)^TAX=0。\\而(AX)^TAX=||AX||,称为AX的范数,它的取值大于等于0,当且仅当AX=0时,||AX||=0。\\ 所以A^TAX=0时,AX=0,即A^TAX=0的解是AX=0的解。
当AX=0时,ATAX=0,所以AX=0的解是ATAX=0的解。当ATAX=0时,等式两边同时乘以XT,得XTATAX=0,也就是(AX)TAX=0。而(AX)TAX=∣∣AX∣∣,称为AX的范数,它的取值大于等于0,当且仅当AX=0时,∣∣AX∣∣=0。所以ATAX=0时,AX=0,即ATAX=0的解是AX=0的解。
然后SVD求解
主要利用如下性质:
A
A
T
=
U
Σ
V
T
V
Σ
T
U
T
=
U
Σ
Σ
T
U
T
A
T
A
=
V
Σ
T
U
T
U
Σ
V
T
=
V
Σ
T
Σ
V
T
AA^T=U\Sigma V^TV\Sigma^TU^T=U\Sigma\Sigma^TU^T\\ A^TA=V\Sigma^T U^TU\Sigma V^T=V\Sigma^T\Sigma V^T\\
AAT=UΣVTVΣTUT=UΣΣTUTATA=VΣTUTUΣVT=VΣTΣVT
Σ Σ T = [ σ 1 2 0 ⋯ 0 0 σ 2 2 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ σ m 2 ] , Σ T Σ = [ σ 1 2 0 ⋯ 0 0 σ 2 2 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ σ n 2 ] \Sigma\Sigma^T= \left[ \begin{matrix} \sigma_1^2 & 0 & \cdots & 0 \\ 0 & \sigma_2^2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \sigma_m^2 \\ \end{matrix} \right], \Sigma^T\Sigma= \left[ \begin{matrix} \sigma_1^2 & 0 & \cdots & 0 \\ 0 & \sigma_2^2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \sigma_n^2 \\ \end{matrix} \right] ΣΣT=⎣⎢⎢⎢⎡σ120⋮00σ22⋮0⋯⋯⋱⋯00⋮σm2⎦⎥⎥⎥⎤,ΣTΣ=⎣⎢⎢⎢⎡σ120⋮00σ22⋮0⋯⋯⋱⋯00⋮σn2⎦⎥⎥⎥⎤
OpenCV求解SVD
https://blog.csdn.net/weixin_42587961/article/details/96865137
为什么Ax=0的SVD解是V的最后一列
https://blog.csdn.net/weixin_42587961/article/details/97241162
参考
《计算机视觉中的多视图几何》P412
《计算机视觉中的数学方法》第八章