上面是
m
×
n
m\times n
m×n 的矩阵对应的四个基本空间关系图:
- 行空间和列空间的秩都等于 r r r
- 行空间和列空间都正交其转置的零空间;
- 行空间和列空间的维数+对应转置的零空间维数=总行数或者列数;
矩阵通过行变换得到 r r r 个主元列和 n − r n-r n−r 个自由列。主元列个数表等于列空间的维数,自由列个数等于零空间的维数;同理列表换也会产生 r r r 个主元行和 m − r m-r m−r 自由行。无论是宽度维的空间还是高度维空间都可被划分为秩大小空间和另一个角度理解的零空间自由向量个数。
- R m \mathbb{R^m} Rm 被划分为 r r r 和 n − r n-r n−r;
- R n \mathbb{R^n} Rn 被划分为 r r r 和 m − r m-r m−r;
如果划分的是宽度平方空间,那么划分的这两部分分别是行空间和对侧零空间;如果划分的是高度平方空间,那么划分的两部分分别是列空间和对侧空间。
一、正交向量(Orthogonal Vector)
正交是指两个向量之间一种特殊关系,在几何上通常表现为垂直。现在的问题是,如果两个向量之间相互正交,那么满足什么向量关系?
我们从勾股定理(或者叫做毕达哥拉斯定理)入手,推导向量之间的关系。如下:
对于直角三角形有:
∣
∣
X
∣
∣
2
+
∣
∣
Y
∣
∣
2
=
∣
∣
X
+
Y
∣
∣
2
X
T
X
+
Y
T
Y
=
(
X
+
Y
)
T
(
X
+
Y
)
X
T
X
+
Y
T
Y
=
(
X
T
+
Y
T
)
(
X
+
Y
)
X
T
Y
+
Y
T
X
=
0
X
T
Y
=
0
(1)
\begin{aligned} \vert \vert X \vert \vert^2+\vert \vert Y \vert \vert^2 &= \vert \vert X+Y \vert \vert^2 \\ X^TX+Y^TY &=(X+Y)^T(X+Y)\\ X^TX+Y^TY&=(X^T+Y^T)(X+Y)\\ X^TY+Y^TX&=0\\ X^TY&=0 \end{aligned}\tag{1}
∣∣X∣∣2+∣∣Y∣∣2XTX+YTYXTX+YTYXTY+YTXXTY=∣∣X+Y∣∣2=(X+Y)T(X+Y)=(XT+YT)(X+Y)=0=0(1)
注:线性代数中向量一般指的是列向量。
上面等式变换用到了几个已知事实:
- ( X + Y ) T = X T + Y T (X+Y)^T=X^T+Y^T (X+Y)T=XT+YT
- 对于一个列向量,写成矩阵形式有: ∣ ∣ X ∣ ∣ 2 = X T X \vert \vert X \vert \vert^2=X^TX ∣∣X∣∣2=XTX
- X T Y = Y T X X^TY=Y^TX XTY=YTX
( 1 ) (1) (1)告诉我们两个向量正交的条件是:点乘等于0。对于数学你只需要遵循规则,假如X是零向量,那么它与任意一个向量都是正交的,因为零向量与任何向量相乘都会等于0,所以零向量与任何向量都正交。
如果 a a a 和 b b b 相互正交,则: a T b = 0 a^Tb=0 aTb=0 和 b T a = 0 b^Ta=0 bTa=0 都成立,转置是为了让列向量完成点积运算。
二、子空间正交性
定义:子空间 S S S 和 T T T 正交表示当且仅当 S S S 中的任何向量与 T T T 中的任何向量都是正交的。
解释:也就是分别在两个子空间找一个向量,它们之间都是正交的。比如,黑板和地板的两个平面是否正交?随便在黑板上找一个与交线呈45度的向量,地板上所有向量都不能找到与之垂直的向量,因此这两个“黑板”与“地板”组成的子空间不是正交的。
2.1 R 2 R^2 R2及其子空间正交性讨论
向量空间是一个集合,这个集合内部的元素(或者叫做向量)满足线性性质。从向量空间中进一步选取部分集合组成的空间仍然满足向量空间的定义,这个空间就叫做原空间的子空间。
R 2 R^2 R2空间中,子空间有:
- 零向量 0 0 0
- 过原点的直线 L L L
- 整个平面空间 D D D
这些子空间正交性何如?
- 零空间与 L L L何时正交? 答:始终正交
- L L L和 D D D何时正交?答:永远不正交,因为线在平面内。
- L L L和另一个 L L L何时正交?答:满足原点处垂直可能正交。
2.2 行空间和列空间正交性
结论1:矩阵 A A A 的行空间 C ( A T ) C(A^T) C(AT) 与 其零空间 N ( A ) N(A) N(A) 正交。
解释:
A
X
=
0
AX=0
AX=0中看成以下行向量与零空间
X
X
X的乘积:
[
r
o
w
1
r
o
w
2
r
o
w
3
]
X
=
[
0
0
0
]
\begin{bmatrix} row1\\ row2\\ row3 \end{bmatrix}X=\begin{bmatrix} 0\\0\\0 \end{bmatrix}
row1row2row3
X=
000
证明:假设 v ∈ C ( A ) v\in C(A) v∈C(A) 和 w ∈ N ( A T ) w\in N(A^T) w∈N(AT)。
由于 v ∈ C ( A ) v\in C(A) v∈C(A) ,存在某个向量使得 v = A x v=Ax v=Ax 因为 w ∈ N ( A T ) w\in N(A^T) w∈N(AT),所以 A T w = 0 A^Tw=0 ATw=0
显然: v T w = ( A x ) T w = x T ( A T w ) = x T 0 = z v^Tw=(Ax)^Tw=x^T(A^Tw)=x^T0= z vTw=(Ax)Tw=xT(ATw)=xT0=z所以行空间与零空间正交。
结论2:矩阵 A A A 的列空间 C ( A ) C(A) C(A) 与其左零空间 N ( A T ) N(A^T) N(AT) 正交
例子:对于以下矩阵
A
A
A:
A
=
[
1
2
5
2
4
10
]
A=\begin{bmatrix} 1&2&5\\2&4&10 \end{bmatrix}
A=[1224510]
- R 3 \mathbb{R}^3 R3 空间是被行空间和对侧零空间划分成相互正交的两部分的;
- R 2 \mathbb{R}^2 R2 空间是被列空间和对侧零空间划分成相互正交的两部分的;
因为矩阵的秩为1,所以行空间和零空间不可能同时是一条直线。如果秩是1,零空间必定是 3 − r = 2 3-r=2 3−r=2。
三、无解方程的最优解
前面我们已经讨论过方程 A x = b Ax=b Ax=b解的情况,不是所有方程都有解。现实生活中有很多情况是属于无解的情况, 我们需要解这些“无解”的方程以继续我们的研究。
听上去有点滑稽,这个方程是无解的,为什么我们要去“解”它呢?两个理由:
- 现实中广泛存在
- 虽然无解,但是有最优解
当一个卫星经过,你要测量出它的位置,你做了一千次测量,也就是有对应的一千个方程,事实上确定他的参数不需要这么多方程;再如,进行体检中脉搏频率测量,事实上只需要进行一次测量即可,有些数据是不那么可靠的,为了更加准确,我们会进行多测测量。
测量次数的增加将会增加方程组个数,同时增加 b b b 出错的可能性,这个出错或者说误差较大的方程,将会使得整个方程无解,最重要的是我们没有办法直接zhai出这些“坏”数据,但是我们可以利用线性代数知识,求出其最优解。
下面不加证明的给出以下方法求取最优解:
A
x
=
b
(2)
Ax=b\tag{2}
Ax=b(2)
两边同时乘以
A
T
A^T
AT有:
A
T
A
x
^
=
A
T
b
(3)
A^TA\hat x=A^Tb\tag{3}
ATAx^=ATb(3)
因为新的方程的系数和结果向量都发生改变,为了区分,用
x
^
\hat x
x^表示,这个
x
^
\hat x
x^就是最优解。
关于 A T A A^TA ATA的几点说明:
- A T A A^TA ATA是一个对称矩阵,见定义
- A T A A^TA ATA不一定是可逆的
为了继续求解最优解,我们需要这个
A
T
A
A^TA
ATA是可逆的。为了继续说明,假设
A
T
A
A^TA
ATA是可逆的,如:
[
1
1
1
2
1
5
]
[
x
1
x
2
]
=
[
b
1
b
2
b
3
]
(4)
\begin{bmatrix} 1&1\\1&2\\1&5 \end{bmatrix}\begin{bmatrix}x_1\\x_2\end{bmatrix}=\begin{bmatrix}b_1\\b_2\\b_3\end{bmatrix}\tag{4}
111125
[x1x2]=
b1b2b3
(4)
虽然线性代数非常牛,但是对于这种三个方程只有两个未知数的,如果
b
3
b_3
b3不为0,仍然不能求得它的解。
可以通过(3)式使得方程继续求解:
[
1
1
1
1
2
5
]
[
1
1
1
2
1
5
]
=
[
3
8
8
30
]
(5)
\begin{bmatrix} 1&1&1\\1&2&5 \end{bmatrix}\begin{bmatrix} 1&1\\1&2\\1&5 \end{bmatrix}=\begin{bmatrix} 3&8\\8&30 \end{bmatrix}\tag{5}
[111215]
111125
=[38830](5)
不是所有的
A
T
A
A^TA
ATA都是可逆的,如:
[
1
1
1
3
3
3
]
[
1
3
1
3
1
3
]
=
[
3
9
9
27
]
(6)
\begin{bmatrix} 1&1&1\\3&3&3 \end{bmatrix}\begin{bmatrix} 1&3\\1&3\\1&3 \end{bmatrix}=\begin{bmatrix} 3&9\\9&27 \end{bmatrix}\tag{6}
[131313]
111333
=[39927](6)
(6)就是一个不可逆的矩阵,理由:两个秩为1的矩阵相乘不可能得到一个秩大于1的矩阵。
不加证明给出以下结论:
N
(
A
T
A
)
=
N
(
A
)
r
a
n
k
(
A
T
A
)
=
r
a
n
k
(
A
)
(7)
N(A^TA)=N(A)\\ rank (A^TA)=rank(A) \tag{7}
N(ATA)=N(A)rank(ATA)=rank(A)(7)
A
T
A
A^TA
ATA只有当
A
A
A的列线性无关时成立,下节课将会证明。