背景知识
假设矩阵 m × n m×n m×n矩阵 A A A,其中 m < n m<n m<n,那么方程 A x = 0 Ax=0 Ax=0(未知数大于方程数)存在非零解,因为通过消元算法,这种情况存在 n n n个变量,而主元最多只有 m m m个,至少存在 n − m n-m n−m个自由变量,我们可以对自由变量取非零值,回代求得主变量后的解必然是非零解。
线性无关
线性无关,又可称为向量组线性无关。对于向量组 x 1 , x 2 , x 3 … x n x_1,x_2,x_3…x_n x1,x2,x3…xn,如果不存在结果为零向量的组合(除了都为零的组合)则该向量组线性无关,即任何 c 1 x 1 + c 2 x 2 + c 3 x 3 … c n x n ≠ 0 c_1x1+c_2x_2+c_3x_3…c_nx_n≠0 c1x1+c2x2+c3x3…cnxn=0(除了所有 c i c_i ci=0)。例如:
- 假设向量 v ≠ 0 v≠0 v=0,则向量组 [ v 1 = v , v 2 = 2 v ] [v_1=v,v_2=2v] [v1=v,v2=2v]为线性相关,因为存在 2 v 1 − v 2 = 0 2v_1-v_2=0 2v1−v2=0
- 向量组 [ v 1 = v , v 2 = 0 ] [v_1=v,v_2=0] [v1=v,v2=0]为线性相关,因为存在 0 v 1 + c v 2 = 0 0v_1+cv_2=0 0v1+cv2=0,可以看出只要向量组包含零向量,则必然为线性相关
- 假设向量组 [ v 1 = ( 1 , 2 ) , v 2 = ( 2 , 1 ) ] [v_1=(1,2),v_2=(2,1)] [v1=(1,2),v2=(2,1)],则为向量无关,这时如果在向量组中加入向量 v 3 = ( 2.5 , − 1 ) v_3=(2.5,-1) v3=(2.5,−1),则其必然为线性相关,因为根据上面的背景知识,三个向量组成的 2 × 3 2×3 2×3矩阵 A = [ v 1 v 2 v 3 ] A=\left[\begin{array}{ccc}v_1&v_2&v_3\end{array}\right] A=[v1v2v3],必然存在非零解 c = [ c 1 c 2 c 3 ] c=\left[\begin{array}{ccc}c_1\\c_2\\c_3\end{array}\right] c=⎣⎡c1c2c3⎦⎤,使得 A c = 0 Ac=0 Ac=0。
根据以上例子我们可以把向量组是否线性相关与矩阵以及零空间联系起来。也就是说当向量 v 1 , v 2 , . . . v n v_1,v_2,...v_n v1,v2,...vn为矩阵 A A A的列向量,该向量组是线性无关,则表示这时矩阵的秩为 n n n,不存在自由变量,矩阵 A A A的零空间只有{零向量},,反之,向量组是线性相关,这时矩阵 A A A的秩( r < n r<n r<n),存在自由变量,即存在 A c = 0 , c ≠ 0 Ac=0,c≠0 Ac=0,c=0,也就是矩阵 A A A的零空间存在非零向量。
向量空间的基、维数
向量
v
1
,
.
.
.
v
l
v_1,...v_l
v1,...vl生成(span)空间,表示这个向量空间里包含这些向量的所有线性组合。就跟之前定义列空间类似,即矩阵的各列生成列空间,那么这些列向量是线性无关的么?不一定,取决于列向量的具体情况,但我们比较关心既能生成向量空间,而本身有线性无关的,这就要求向量的个数必须合适,因为过少无法生成向量空间,过多则线性相关,这就是基的概念。
**向量空间
S
S
S的基(Basis)**是一组向量
v
1
,
v
2
,
.
.
.
v
d
v_1,v_2,...v_d
v1,v2,...vd,它有两大特性:
- 他们线性无关
- 他们可以生成向量空间 S S S
因为有了空间向量的基,通过其线性组合就可以得到整个向量空间,比如一个三维空间 R 3 R^3 R3,向量组 [ 1 0 0 ] , [ 0 1 0 ] , [ 0 0 1 ] \left[\begin{array}{ccc}1\\0\\0\end{array}\right],\left[\begin{array}{ccc}0\\1\\0\end{array}\right],\left[\begin{array}{ccc}0\\0\\1\end{array}\right] ⎣⎡100⎦⎤,⎣⎡010⎦⎤,⎣⎡001⎦⎤是其中一个基。如果向量的个数小于 3 3 3,则其无法生成 R 3 R^3 R3,如果大于 3 3 3,则向量必然线性相关。因此我们可以得到以下结论:
- 对于给定向量空间 S S S,其所有基的向量个数相同,如果一组基有 6 6 6个向量,那么所有基的个数也为 6 6 6。这个个数就是该向量空间的维数,记作 d i m ( S ) dim(S) dim(S)。
- R n R^n Rn中的 n n n个向量要构成基,则以这 n n n个向量构成的 n × n n×n n×n的方阵 A A A,则不存在 A x = 0 Ax=0 Ax=0不存在非零解,可以得到矩阵 A A A是可逆的。
列空间与零空间
下面我们来思考一个问题,对于一个
m
∗
n
m*n
m∗n矩阵
A
A
A,他的列空间
C
(
A
)
C(A)
C(A)和零空间
N
(
A
)
N(A)
N(A)的维数是多少?假设
A
=
[
1
2
3
1
1
1
2
1
1
2
3
1
]
A=\left[\begin{array}{ccc}1&2&3&1\\1&1&2&1\\1&2&3&1\end{array}\right]
A=⎣⎡111212323111⎦⎤,显然矩阵的所有列向量组合可以生成
C
(
A
)
C(A)
C(A),但他们不是线性无关的,所以不是
C
(
A
)
C(A)
C(A)的基(
N
(
A
)
N(A)
N(A)存在非零向量
[
−
1
−
1
1
0
]
\left[\begin{array}{ccc}-1\\-1\\1\\0\end{array}\right]
⎣⎢⎢⎡−1−110⎦⎥⎥⎤),那么怎么才能使得向量的组合线性无关呢,上面说到向量组合的矩阵
A
′
A^{'}
A′消元后不存在自由变量,因此基向量的个数就等于矩阵
A
A
A主变量的个数。总结可以得到以下公式:
r
a
n
k
(
A
)
=
主
列
数
=
d
i
m
C
(
A
)
rank(A) = 主列数 = dimC(A)
rank(A)=主列数=dimC(A)
反之,这里我们知道列空间的维数,就可以通过生成任意线性无关的向量组合得到整个列空间了。
那么零空间得维数是多少呢?由上节可以知道方程
A
x
=
0
Ax=0
Ax=0的特解可以生成零空间,特解是线性无关的,因此特解的个数即为零空间基向量的个数,即以下公式:
d
i
m
N
(
A
)
=
自
由
列
数
=
n
−
r
a
n
k
(
A
)
dimN(A) = 自由列数 = n - rank(A)
dimN(A)=自由列数=n−rank(A)