主要内容
- 向量的正交
- 子空间的正交
- 求解无解的方程组
正文
首先提到了子空间的正交,但为什么是正交的下一步再解释
向量的正交
向量的正交是一个比较熟悉的话题,我们比较了解的是向量的垂直,实际上这是一样的。如果向量 x x x和向量 y y y正交,那么有: x T y = 0 x^Ty=0 xTy=0这个公式可以由勾股定理导出(也就是毕达哥拉斯定理)。在线性代数中我们所谓的向量一般都是指列向量,表示点积的时候,一般都是使用 x T y x^Ty xTy的形式。 x T x = x 1 2 + x 2 2 + . . . + x n 2 x^Tx=x_1^2+x_2^2+...+x_n^2 xTx=x12+x22+...+xn2所谓向量正交,就是指在 n n n维空间中,这两个向量的夹角为九十度,也就是垂直。
子空间的正交
子空间正交的定义:若两个子空间 S S S和 T T T正交,则意味着,对于 S S S中的任意一个向量,都与 T T T中的任意一个向量正交。另外比较显然的一个结论是:若两个子空间正交,那么它们一定不会相交于某个非零向量。子空间的正交很容易给我们一种这样的错觉,比如两个垂直的二维平面,表示两个子空间,他们是垂直的平面,但并不代表平面中的任意一个向量都与另一个平面中的任意一个向量垂直。所以这两个子空间实际上并不是正交的。
行空间与零空间的正交: 我们依然从解线性方程组出发:
A
x
=
0
Ax=0
Ax=0
[
r
o
w
1
T
r
o
w
2
T
r
o
w
3
T
.
.
.
r
o
w
m
T
]
[
x
1
x
3
.
.
.
x
n
]
=
[
0
0
0
.
.
.
0
]
\begin{bmatrix}row1^T\\row2^T\\row3^T\\...\\row\ m^T\end{bmatrix}\begin{bmatrix}x_1\\x_3\\...\\x_n\end{bmatrix}=\begin{bmatrix}0\\0\\0\\...\\0\end{bmatrix}
⎣⎢⎢⎢⎢⎡row1Trow2Trow3T...row mT⎦⎥⎥⎥⎥⎤⎣⎢⎢⎡x1x3...xn⎦⎥⎥⎤=⎣⎢⎢⎢⎢⎡000...0⎦⎥⎥⎥⎥⎤这里的上标意味着这是一个行向量。从上面的这个式子中我们可以得到
f
o
r
i
=
1
:
m
,
f
o
r
j
=
1
:
n
,
r
o
w
i
T
x
j
=
0
for\ i=1:m,for\ j=1:n,rowi^Tx_j=0
for i=1:m,for j=1:n,rowiTxj=0,即每个行向量都与零空间中的任意一个向量正交,但是这里只能说明,零空间中的任意一个向量与行向量正交,还不足以说明与行空间中的任意一个向量正交,因为,这里还需要证明零空间中的向量与行向量的线性组合正交。
已知:
r
o
w
1
T
x
1
=
0
,
r
o
w
2
T
x
2
=
0
row1^Tx_1=0,row2^Tx_2=0
row1Tx1=0,row2Tx2=0,那么有
c
1
r
o
w
1
T
x
1
=
0
,
c
2
r
o
w
2
T
x
2
=
0
c_1row1^Tx_1=0,c_2row2^Tx_2=0
c1row1Tx1=0,c2row2Tx2=0,然后有
c
1
r
o
w
1
T
x
1
+
c
2
r
o
w
2
T
x
2
=
0
c_1row1^Tx_1+c_2row2^Tx_2=0
c1row1Tx1+c2row2Tx2=0 这仅仅是一个简单的例子,来发现零空间中的向量是与行向量的线性组合正交的。当我们把这个特殊的例子扩展到一般的情况,然后结合上面就足以证明这两个空间的正交性。到这里我们可以发现,理解复杂的问题仍然没有离开线性组合和解线性方程组,线性方程组有的时候不仅仅是作为一个问题而存在,当联系它的实际意义时,反而是一个便于理解问题的工具。
列空间和左零空间的正交: 列空间可以通过行空间转置得到,而左零空间就是系数矩阵的转置的零空间,所以,他们的正交可以通过将上面的行空间与零空间的正交证明中加上转置得以证明。
在上面的这两个列子中,正交,实际上就是把一个空间划分成两部分。例如:三维空间的两个正交子空间: [ 1 2 5 2 4 10 ] [ x 1 x 2 x 3 ] = [ 0 0 ] \begin{bmatrix}1&2&5\\2&4&10\end{bmatrix}\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=\begin{bmatrix}0\\0\end{bmatrix} [1224510]⎣⎡x1x2x3⎦⎤=[00]我们可以知道 [ 1 2 5 2 4 10 ] \begin{bmatrix}1&2&5\\2&4&10\end{bmatrix} [1224510]的行空间是三维空间中的一个子空间,行空间的维数为1,所以它表示一条直线。那么显然 r = 1 r=1 r=1,所以零空间的维数为 2 2 2,所以它表示三维空间中的一个平面。由这个方程式可以知道,直线和二维平面是垂直的。从某种意义上来看,这两个子空间就是将三维空间分割成了两个部分。像这种情况,直线子空间和平面子空间是正交的,并且它们的维数之和为 3 3 3,这就可以称平面子空间为直线子空间的正交补,或者可以称直线子空间为平面子空间的正交补。正交意味着垂直,而补意味着加起来为全集。所以它的意思为,所有垂直于子空间的向量。
求解无解的方程组
对于 A x = b Ax=b Ax=b,之前我们讨论了有解的情况,也就是 b b b在 A A A的列空间中的时候的情况,但是我们不可避免的会遇到 b b b不在 A A A的列空间中的情况,这个时候如何求解方程组?
这里提出了一个特殊的矩阵 A T A A^TA ATA,这个矩阵具有很好的性质,例如: [ 1 1 1 1 2 5 ] [ 1 1 1 2 1 5 ] = [ 3 8 8 30 ] \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} [111215]⎣⎡111125⎦⎤=[38830] [ 1 1 1 3 3 3 ] [ 1 3 1 3 1 3 ] = [ 3 9 9 27 ] \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} [131313]⎣⎡111333⎦⎤=[39927] 第一个例子中 A A A的列向量都是线性无关的,因而 A T A A^TA ATA也都是线性无关的,并且可逆;在第二个例子中 A A A的列向量是线性相关的,因而 A T A A^TA ATA也是线性相关的,并且不可逆。在这两个例子中我们可以发现,r(A)=r( A T A A^TA ATA),因而他们的行空间是相同的,从而N(A)=N( A T A ) A^TA) ATA)。 实际上,这是正确的,它是经过严格的数学证明的,这里不再证明。依赖这些很好的性质我们可以解决无解方程组的问题。即使用 A T A x = A T b A^TAx=A^Tb ATAx=ATb。