向量组秩和极大线性无关组求解
问题来源阐述
线性代数课程中,在学习了向量组的线性相关性和向量组的秩后,一类常见的计算问题是给出向量组,求解其秩和极大线性无关组。课程中一般给出的方法都是以向量为列组成矩阵,对矩阵进行初等行变换,化为最简形或行阶梯型进行判断。
上述方法在理论解释上一般教材不是很详细,可能会存在以下几个问题让人产生疑惑:
列向量进行行变换的意义和最终能够找出极大线性无关组的原理?
为什么不能将向量按行组成矩阵进行行变换求解极大线性无关组和秩?
下文对上述两个问题给出解释。
对向量组进行定义,后面不再重复赘述
向量组α1,α2,⋯ ,αm\alpha_{1}, \alpha_{2},\cdots,\alpha_{m}α1,α2,⋯,αm ,其中αi=(αi1,αi2,⋯ ,αin)T\alpha_{i}=(\alpha_{i1},\alpha_{i2},\cdots,\alpha_{in})^{T}αi=(αi1,αi2,⋯,αin)T 是一个n维列向量
问题1:列向量进行行变换的意义和确定极大线性无关组的原理
向量组α1,α2,⋯ ,αm\alpha_{1}, \alpha_{2},\cdots,\alpha_{m}α1,α2,⋯,αm 线性无关的定义为:存在m个不全为0的数k1,k2,⋯ ,kmk_{1},k_{2},\cdots,k_{m}k1,k2,⋯,km ,使得k1α1+k2α2+⋯+kmαm=0k_{1}\alpha_{1}+k_{2}\alpha_{2}+\cdots+k_{m}\alpha_{m}=\bold0k1α1+k2α2+⋯+kmαm=0 。(注意此处的0\bold 00为nnn 维向量)
将向量组α1,α2,⋯ ,αm\alpha_{1}, \alpha_{2},\cdots,\alpha_{m}α1,α2,⋯,αm 按列排列构成矩阵AAA ,A=(α1,α2,⋯ ,αm)A=(\alpha_{1}, \alpha_{2},\cdots,\alpha_{m})A=(α1,α2,⋯,αm),令向量k=(k1,k2,⋯ ,km)Tk=(k_{1},k_{2},\cdots,k_{m})^{T}k=(k1,k2,⋯,km)T 。Ak=k1α1+k2α2+⋯+kmαmAk=k_{1}\alpha_{1}+k_{2}\alpha_{2}+\cdots+k_{m}\alpha_{m}Ak=k1α1+k2α2+⋯+kmαm,则向量组线性无关,等价于方程组Ak=0Ak=\bold0Ak=0有非零解。
我们将Ak=0Ak=\bold0Ak=0展开:
Ak=(α11α21⋯αm1⋮⋮⋮α1iα2i⋯αmi⋮⋮⋮α1jα2j⋯αmj⋮⋮⋮α1nα2n⋯αmn)(k1k2⋮km)=(0⋮0⋮0⋮0)
Ak=\left( \begin{matrix}
\alpha _{11}& \alpha _{21}& \cdots& \alpha _{m1}\\
\vdots& \vdots& & \vdots\\
\alpha _{1i}& \alpha _{2i}& \cdots& \alpha _{mi}\\
\vdots& \vdots& & \vdots\\
\alpha _{1j}& \alpha _{2j}& \cdots& \alpha _{mj}\\
\vdots& \vdots& & \vdots\\
\alpha _{1n}& \alpha _{2n}& \cdots& \alpha _{mn}\\
\end{matrix} \right) \left( \begin{array}{c}
k_1\\
k_2\\
\vdots\\
k_m\\
\end{array} \right) =\left( \begin{array}{c}
0\\
\vdots\\
0\\
\vdots\\
0\\
\vdots\\
0\\
\end{array} \right)
Ak=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛α11⋮α1i⋮α1j⋮α1nα21⋮α2i⋮α2j⋮α2n⋯⋯⋯⋯αm1⋮αmi⋮αmj⋮αmn⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞⎝⎜⎜⎜⎛k1k2⋮km⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛0⋮0⋮0⋮0⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
对于第iii和第jjj行:
k1αi1+k2αi2+⋯+kmαim=0(1)k_{1}\alpha_{i1}+k_{2}\alpha_{i2}+\cdots+k_{m}\alpha_{im}=0\enspace\enspace(1)k1αi1+k2αi2+⋯+kmαim=0(1)
k1αj1+k2αj2+⋯+kmαjm=0(2)k_{1}\alpha_{j1}+k_{2}\alpha_{j2}+\cdots+k_{m}\alpha_{jm}=0\enspace\enspace(2)k1αj1+k2αj2+⋯+kmαjm=0(2)
初等行变换——互换
互换AAA中的iii和jjj列后,AAA变换为矩阵A′A^{'}A′,由式(1)和(2)可得仍然满足A′k=0A^{'}k=\bold0A′k=0
A′k=(α11α21⋯αm1⋮⋮⋮α1jα2j⋯αmj⋮⋮⋮α1iα2i⋯αmi⋮⋮⋮α1nα2n⋯αmn)(k1k2⋮km)=(0⋮0⋮0⋮0)A^{'}k=\left( \begin{matrix}
\alpha _{11}& \alpha _{21}& \cdots& \alpha _{m1}\\
\vdots& \vdots& & \vdots\\
\alpha _{1j}& \alpha _{2j}& \cdots& \alpha _{mj}\\
\vdots& \vdots& & \vdots\\
\alpha _{1i}& \alpha _{2i}& \cdots& \alpha _{mi}\\
\vdots& \vdots& & \vdots\\
\alpha _{1n}& \alpha _{2n}& \cdots& \alpha _{mn}\\
\end{matrix} \right) \left( \begin{array}{c}
k_1\\
k_2\\
\vdots\\
k_m\\
\end{array} \right) =\left( \begin{array}{c}
0\\
\vdots\\
0\\
\vdots\\
0\\
\vdots\\
0\\
\end{array} \right)
A′k=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛α11⋮α1j⋮α1i⋮α1nα21⋮α2j⋮α2i⋮α2n⋯⋯⋯⋯αm1⋮αmj⋮αmi⋮αmn⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞⎝⎜⎜⎜⎛k1k2⋮km⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛0⋮0⋮0⋮0⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
初等行变换——倍乘
将矩阵AAA中的第iii行倍乘常数ppp后,AAA变换为矩阵A′′A^{''}A′′,由式(1)和(2)可得仍然满足A′′k=0A^{''}k=\bold0A′′k=0
A′′k=(α11α21⋯αm1⋮⋮⋮pα1ipα2i⋯pαmi⋮⋮⋮α1jα2j⋯αmj⋮⋮⋮α1nα2n⋯αmn)(k1k2⋮km)=(0⋮0⋮0⋮0)
A^{''}k=\left( \begin{matrix}
\alpha _{11}& \alpha _{21}& \cdots& \alpha _{m1}\\
\vdots& \vdots& & \vdots\\
p\alpha _{1i}& p\alpha _{2i}& \cdots& p\alpha _{mi}\\
\vdots& \vdots& & \vdots\\
\alpha _{1j}& \alpha _{2j}& \cdots& \alpha _{mj}\\
\vdots& \vdots& & \vdots\\
\alpha _{1n}& \alpha _{2n}& \cdots& \alpha _{mn}\\
\end{matrix} \right) \left( \begin{array}{c}
k_1\\
k_2\\
\vdots\\
k_m\\
\end{array} \right) =\left( \begin{array}{c}
0\\
\vdots\\
0\\
\vdots\\
0\\
\vdots\\
0\\
\end{array} \right)
A′′k=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛α11⋮pα1i⋮α1j⋮α1nα21⋮pα2i⋮α2j⋮α2n⋯⋯⋯⋯αm1⋮pαmi⋮αmj⋮αmn⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞⎝⎜⎜⎜⎛k1k2⋮km⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛0⋮0⋮0⋮0⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
初等行变换——加法
将矩阵AAA中的第jjj行加到第iii行,AAA变换为矩阵A′′′A^{'''}A′′′,由式(1)和(2)可得仍然满足A′′′k=0A^{'''}k=\bold0A′′′k=0
A′′′k=(α11α21⋯αm1⋮⋮⋮α1i+α1jα2i+α2j⋯αmi+αmj⋮⋮⋮α1jα2j⋯αmj⋮⋮⋮α1nα2n⋯αmn)(k1k2⋮km)=(0⋮0⋮0⋮0)
A^{'''}k=\left( \begin{matrix}
\alpha _{11}& \alpha _{21}& \cdots& \alpha _{m1}\\
\vdots& \vdots& & \vdots\\
\alpha _{1i}+\alpha_{1j}& \alpha _{2i}+\alpha_{2j}& \cdots& \alpha _{mi}+\alpha_{mj}\\
\vdots& \vdots& & \vdots\\
\alpha _{1j}& \alpha _{2j}& \cdots& \alpha _{mj}\\
\vdots& \vdots& & \vdots\\
\alpha _{1n}& \alpha _{2n}& \cdots& \alpha _{mn}\\
\end{matrix} \right) \left( \begin{array}{c}
k_1\\
k_2\\
\vdots\\
k_m\\
\end{array} \right) =\left( \begin{array}{c}
0\\
\vdots\\
0\\
\vdots\\
0\\
\vdots\\
0\\
\end{array} \right)
A′′′k=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛α11⋮α1i+α1j⋮α1j⋮α1nα21⋮α2i+α2j⋮α2j⋮α2n⋯⋯⋯⋯αm1⋮αmi+αmj⋮αmj⋮αmn⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞⎝⎜⎜⎜⎛k1k2⋮km⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛0⋮0⋮0⋮0⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
三种初等行变换结果证明了,初等行变换不改变方程组 Ak=0Ak=\bold0Ak=0 的解,亦即不改变向量组 α1,α2,⋯ ,αm\alpha_{1},\alpha_{2},\cdots,\alpha_{m}α1,α2,⋯,αm 的线性相关性,解释了列向量进行初等行变换的意义。 下面解释为何将AAA变为行最简形后,即可判定出极大线性无关组。
假设最终AAA变为了行最简形:
A→A^=(1⋯∗⋯∗∗0⋯1⋯∗∗0⋯0⋯1∗⋮⋮⋮⋮0⋯0⋯000⋯0⋯00)
A\rightarrow \hat{A}=\left( \begin{matrix}
1& \cdots& *& \cdots& *& *\\
0& \cdots& 1& \cdots& *& *\\
0& \cdots& 0& \cdots& 1& *\\
\vdots& & \vdots& & \vdots& \vdots\\
0& \cdots& 0& \cdots& 0& 0\\
0& \cdots& 0& \cdots& 0& 0\\
\end{matrix} \right)
\\
A→A^=⎝⎜⎜⎜⎜⎜⎜⎜⎛100⋮00⋯⋯⋯⋯⋯∗10⋮00⋯⋯⋯⋯⋯∗∗1⋮00∗∗∗⋮00⎠⎟⎟⎟⎟⎟⎟⎟⎞
其中*代表任意值,矩阵A^\hat{A}A^的秩等于向量组的秩,设秩为rrr。
选出矩阵中第iii行第一个列元素不为0对应的向量,一共有rrr个。矩阵的其他列向量一定可以由这rrr个向量表出。原因为此rrr个矩阵线性无关,当加入一个向量时,r+1r+1r+1个向量,秩为rrr,则新加入向量一定可以被线性表出。
A^\hat{A}A^由AAA进行初等行变换来,且列向量位置并未改变,所以AAA中与A^\hat{A}A^对应位置的列向量可以构成向量组的一个极大线性无关组。
问题2:能否将向量按行构成矩阵进行行变换求极大线性无关组和秩
首先给出答案:其实是可以的。
向量组线性相关,即存在向量可以被线性表出,那么按行向量构成矩阵后,进行初等行变换,将行向量变为0向量的想法应该是可行的,为什么一般教材强调不行呢?其实是在做初等行变换的时候,最好不进行初等行变换中的互换,否则会导致向量组的顺序混乱。
这里以一个具体的例子来给大家解释,便于理解:
向量组为:
α1=(1,1,1,1,1)T,α2=(1,2,3,4,5)T,α3=(1,3,5,7,9)T,α4=(1,5,8,10,15)T,α5=(1,4,9,16,17)T
\alpha_{1}=(1,1,1,1,1)^{T},\alpha_{2}=(1,2,3,4,5)^{T},\alpha_{3}=(1,3,5,7,9)^{T},\alpha_{4}=(1,5,8,10,15)^{T},\alpha_{5}=(1,4,9,16,17)^{T}
α1=(1,1,1,1,1)T,α2=(1,2,3,4,5)T,α3=(1,3,5,7,9)T,α4=(1,5,8,10,15)T,α5=(1,4,9,16,17)T
将其按行向量构成矩阵为:
A=(11111123451357915810151491617)
A=\left( \begin{matrix}
1& 1& 1& 1& 1\\
1& 2& 3& 4& 5\\
1& 3& 5& 7& 9\\
1& 5& 8& 10& 15\\
1& 4& 9& 16& 17\\
\end{matrix} \right)
A=⎝⎜⎜⎜⎜⎛11111123541358914710161591517⎠⎟⎟⎟⎟⎞
一种错误的求解方法为,进行初等行变换后(包括互换的初等行变换),可以得到:
A=(11111123451357915810151491617)→A^=(10−1−2−301234001320000000000)
A=\left( \begin{matrix}
1& 1& 1& 1& 1\\
1& 2& 3& 4& 5\\
1& 3& 5& 7& 9\\
1& 5& 8& 10& 15\\
1& 4& 9& 16& 17\\
\end{matrix} \right) \rightarrow \hat{A}=\left( \begin{matrix}
1& 0& -1& -2& -3\\
0& 1& 2& 3& 4\\
0& 0& 1& 3& 2\\
0& 0& 0& 0& 0\\
0& 0& 0& 0& 0\\
\end{matrix} \right)
A=⎝⎜⎜⎜⎜⎛11111123541358914710161591517⎠⎟⎟⎟⎟⎞→A^=⎝⎜⎜⎜⎜⎛1000001000−12100−23300−34200⎠⎟⎟⎟⎟⎞
这个时候错误思维是选出第1,2,3列,然后认为α1,α2,α3\alpha_{1},\alpha_{2},\alpha_{3}α1,α2,α3为极大线性无关组,这里因为我们是按行向量构成的矩阵,按列来看是没有意义的(当然可以按列来算向量组的秩)。
正确的思维是观察行,行变换后不能化为0向量的可以选出来构成极大线性无关组。
将上面这个例子实例化操作一遍:
A=(11111123451357915810151491617)⟶ri−r1i≠1(1111101234024680479140381516)⟶r3−2r2r4−4r2r5−3r2(11111012340000000−1−3−200264)⟶r5+2r4(11111012340000000−1−3−200000)
A=\left( \begin{matrix}
1& 1& 1& 1& 1\\
1& 2& 3& 4& 5\\
1& 3& 5& 7& 9\\
1& 5& 8& 10& 15\\
1& 4& 9& 16& 17\\
\end{matrix} \right) \underset{}{\overset{\begin{array}{c}
r_i-r_1\\
i\ne 1\\
\end{array}}{\longrightarrow}}\left( \begin{matrix}
1& 1& 1& 1& 1\\
0& 1& 2& 3& 4\\
0& 2& 4& 6& 8\\
0& 4& 7& 9& 14\\
0& 3& 8& 15& 16\\
\end{matrix} \right)
\\
\underset{}{\overset{\begin{array}{c}
\begin{array}{c}
r_3-2r_2\\
r_{4-}4r_2\\
\end{array}\\
r_5-3r_2\\
\end{array}}{\longrightarrow}}\left( \begin{matrix}
1& 1& 1& 1& 1\\
0& 1& 2& 3& 4\\
0& 0& 0& 0& 0\\
0& 0& -1& -3& -2\\
0& 0& 2& 6& 4\\
\end{matrix} \right) \underset{}{\overset{\begin{array}{c}
r_5+2r_4\\
\\
\end{array}}{\longrightarrow}}\left( \begin{matrix}
1& 1& 1& 1& 1\\
0& 1& 2& 3& 4\\
0& 0& 0& 0& 0\\
0& 0& -1& -3& -2\\
0& 0& 0& 0& 0\\
\end{matrix} \right)
A=⎝⎜⎜⎜⎜⎛11111123541358914710161591517⎠⎟⎟⎟⎟⎞⟶ri−r1i=1⎝⎜⎜⎜⎜⎛1000011243124781369151481416⎠⎟⎟⎟⎟⎞⟶r3−2r2r4−4r2r5−3r2⎝⎜⎜⎜⎜⎛1000011000120−12130−36140−24⎠⎟⎟⎟⎟⎞⟶r5+2r4⎝⎜⎜⎜⎜⎛1000011000120−10130−30140−20⎠⎟⎟⎟⎟⎞
最终可以确定向量α3,α5\alpha_{3},\alpha_{5}α3,α5可以被线性表出,因此极大线性无关组为α1,α2,α4\alpha_{1},\alpha_{2},\alpha_{4}α1,α2,α4。
以上是对这个问题的简要分析,如有错误,敬请批评指正~