当前位置: 首页 > news >正文

机器学习数学基础:19.线性相关与线性无关

一、线性相关与线性无关的定义

(一)线性相关

想象我们有一组向量,就好比是一群有着不同“力量”和“方向”的小伙伴。给定的向量组 α ⃗ 1 , α ⃗ 2 , ⋯ , α ⃗ m \vec{\alpha}_1, \vec{\alpha}_2, \cdots, \vec{\alpha}_m α 1,α 2,,α m,如果能找到不全为零的数 k 1 , k 2 , ⋯ , k m k_1, k_2, \cdots, k_m k1,k2,,km,让 k 1 α ⃗ 1 + k 2 α ⃗ 2 + ⋯ + k m α ⃗ m = 0 ⃗ k_1\vec{\alpha}_1 + k_2\vec{\alpha}_2 + \cdots + k_m\vec{\alpha}_m \ = \vec{0} k1α 1+k2α 2++kmα m =0 成立,那这组向量就是线性相关的。

举个例子,在一个二维平面里,有向量 α ⃗ 1 = ( 1 1 ) \vec{\alpha}_1 \ = \begin{pmatrix}1\\1\end{pmatrix} α 1 =(11) α ⃗ 2 = ( 2 2 ) \vec{\alpha}_2 \ = \begin{pmatrix}2\\2\end{pmatrix} α 2 =(22)。我们试着找一些数让它们的组合等于零向量。嘿,发现当 k 1 = − 2 k_1 \ = -2 k1 =2 k 2 = 1 k_2 \ = 1 k2 =1的时候(这两个数不全是 0 0 0哦), − 2 ( 1 1 ) + 1 ( 2 2 ) = ( − 2 + 2 − 2 + 2 ) = ( 0 0 ) -2\begin{pmatrix}1\\1\end{pmatrix} + 1\begin{pmatrix}2\\2\end{pmatrix} \ = \begin{pmatrix}-2 + 2\\-2 + 2\end{pmatrix} \ = \begin{pmatrix}0\\0\end{pmatrix} 2(11)+1(22) =(2+22+2) =(00)。这就说明这两个向量之间存在一种“特殊关系”,它们是线性相关的。从直观上看, α ⃗ 2 \vec{\alpha}_2 α 2就像是 α ⃗ 1 \vec{\alpha}_1 α 1的“双胞胎加强版”,方向完全一样,只是长度不同,所以它们之间不是相互独立的。

(二)线性无关

还是那组向量小伙伴,如果只有当 k 1 = k 2 = ⋯ = k m = 0 k_1 \ = k_2 \ = \cdots \ = k_m \ = 0 k1 =k2 = =km =0时,才有 k 1 α ⃗ 1 + k 2 α ⃗ 2 + ⋯ + k m α ⃗ m = 0 ⃗ k_1\vec{\alpha}_1 + k_2\vec{\alpha}_2 + \cdots + k_m\vec{\alpha}_m \ = \vec{0} k1α 1+k2α 2++kmα m =0 ,那这组向量就是线性无关的。

比如在平面直角坐标系中的两个单位向量 e ⃗ 1 = ( 1 0 ) \vec{e}_1 \ = \begin{pmatrix}1\\0\end{pmatrix} e 1 =(10) e ⃗ 2 = ( 0 1 ) \vec{e}_2 \ = \begin{pmatrix}0\\1\end{pmatrix} e 2 =(01)。我们来假设一下,要是存在两个数 k 1 k_1 k1 k 2 k_2 k2,让 k 1 e ⃗ 1 + k 2 e ⃗ 2 = 0 ⃗ k_1\vec{e}_1 + k_2\vec{e}_2 \ = \vec{0} k1e 1+k2e 2 =0 ,也就是 k 1 ( 1 0 ) + k 2 ( 0 1 ) = ( k 1 k 2 ) = ( 0 0 ) k_1\begin{pmatrix}1\\0\end{pmatrix} + k_2\begin{pmatrix}0\\1\end{pmatrix} \ = \begin{pmatrix}k_1\\k_2\end{pmatrix} \ = \begin{pmatrix}0\\0\end{pmatrix} k1(10)+k2(01) =(k1k2) =(00),那只能是 k 1 = 0 k_1 \ = 0 k1 =0而且 k 2 = 0 k_2 \ = 0 k2 =0。没有其他非零的数能让这个等式成立,这就表明 e ⃗ 1 \vec{e}_1 e 1 e ⃗ 2 \vec{e}_2 e 2是相互独立的,它们组成的向量组就是线性无关的。从几何角度看, e ⃗ 1 \vec{e}_1 e 1沿着 x x x轴方向, e ⃗ 2 \vec{e}_2 e 2沿着 y y y轴方向,它们相互垂直,谁也不“依赖”谁。

二、从线性方程组角度理解

(一)线性相关

线性相关这件事,其实可以和齐次线性方程组联系起来。我们把向量组 α ⃗ 1 , α ⃗ 2 , ⋯ , α ⃗ m \vec{\alpha}_1, \vec{\alpha}_2, \cdots, \vec{\alpha}_m α 1,α 2,,α m当作系数矩阵 A A A的列向量,也就是 A = ( α ⃗ 1 , α ⃗ 2 , ⋯ , α ⃗ m ) A \ = (\vec{\alpha}_1, \vec{\alpha}_2, \cdots, \vec{\alpha}_m) A =(α 1,α 2,,α m)。那么 k 1 α ⃗ 1 + k 2 α ⃗ 2 + ⋯ + k m α ⃗ m = 0 ⃗ k_1\vec{\alpha}_1 + k_2\vec{\alpha}_2 + \cdots + k_m\vec{\alpha}_m \ = \vec{0} k1α 1+k2α 2++kmα m =0 就相当于齐次线性方程组 A x = 0 Ax \ = 0 Ax =0(这里 x = ( k 1 k 2 ⋮ k m ) x \ = \begin{pmatrix}k_1\\k_2\\\vdots\\k_m\end{pmatrix} x = k1k2km )有非零解。

比如说前面那个线性相关的例子,向量组 α ⃗ 1 = ( 1 1 ) \vec{\alpha}_1 \ = \begin{pmatrix}1\\1\end{pmatrix} α 1 =(11) α ⃗ 2 = ( 2 2 ) \vec{\alpha}_2 \ = \begin{pmatrix}2\\2\end{pmatrix} α 2 =(22),对应的系数矩阵 A = ( 1 2 1 2 ) A \ = \begin{pmatrix}1&2\\1&2\end{pmatrix} A =(1122),齐次线性方程组就是 ( 1 2 1 2 ) ( k 1 k 2 ) = ( 0 0 ) \begin{pmatrix}1&2\\1&2\end{pmatrix}\begin{pmatrix}k_1\\k_2\end{pmatrix} \ = \begin{pmatrix}0\\0\end{pmatrix} (1122)(k1k2) =(00)。我们来解这个方程组,从第一个方程 k 1 + 2 k 2 = 0 k_1 + 2k_2 \ = 0 k1+2k2 =0,可以得到 k 1 = − 2 k 2 k_1 \ = -2k_2 k1 =2k2。那我们随便让 k 2 = 1 k_2 \ = 1 k2 =1 k 1 k_1 k1就等于 − 2 -2 2了,这就是一组非零解呀。这就说明这个齐次线性方程组有非零解,也就意味着向量组是线性相关的。

(二)线性无关

线性无关呢,就表示对应的齐次线性方程组仅有零解。同样是由向量组构成的系数矩阵 A A A,齐次线性方程组 A x = 0 Ax \ = 0 Ax =0只有 x = 0 x \ = 0 x =0(也就是 k 1 = k 2 = ⋯ = k m = 0 k_1 \ = k_2 \ = \cdots \ = k_m \ = 0 k1 =k2 = =km =0)这一个解。

像刚才说的单位向量组 e ⃗ 1 = ( 1 0 ) \vec{e}_1 \ = \begin{pmatrix}1\\0\end{pmatrix} e 1 =(10) e ⃗ 2 = ( 0 1 ) \vec{e}_2 \ = \begin{pmatrix}0\\1\end{pmatrix} e 2 =(01),它们的系数矩阵 A = ( 1 0 0 1 ) A \ = \begin{pmatrix}1&0\\0&1\end{pmatrix} A =(1001),对应的齐次线性方程组 ( 1 0 0 1 ) ( k 1 k 2 ) = ( 0 0 ) \begin{pmatrix}1&0\\0&1\end{pmatrix}\begin{pmatrix}k_1\\k_2\end{pmatrix} \ = \begin{pmatrix}0\\0\end{pmatrix} (1001)(k1k2) =(00)。根据矩阵乘法,很明显只能得到 k 1 = 0 k_1 \ = 0 k1 =0并且 k 2 = 0 k_2 \ = 0 k2 =0,这是这个方程组唯一的解,也就是仅有零解,所以这个向量组是线性无关的。

三、线性相关性的判断方法

(一)根据定义判断

假设有向量组 γ ⃗ 1 , γ ⃗ 2 , ⋯ , γ ⃗ n \vec{\gamma}_1, \vec{\gamma}_2, \cdots, \vec{\gamma}_n γ 1,γ 2,,γ n,我们先假设存在数 k 1 , k 2 , ⋯ , k n k_1, k_2, \cdots, k_n k1,k2,,kn,让 k 1 γ ⃗ 1 + k 2 γ ⃗ 2 + ⋯ + k n γ ⃗ n = 0 ⃗ k_1\vec{\gamma}_1 + k_2\vec{\gamma}_2 + \cdots + k_n\vec{\gamma}_n \ = \vec{0} k1γ 1+k2γ 2++knγ n =0 。然后就像解方程一样,去试着找出 k 1 , k 2 , ⋯ , k n k_1, k_2, \cdots, k_n k1,k2,,kn的值。要是能找到不全为零的数满足这个等式,那这个向量组就是线性相关的;要是只能得到 k 1 = k 2 = ⋯ = k n = 0 k_1 \ = k_2 \ = \cdots \ = k_n \ = 0 k1 =k2 = =kn =0,那这个向量组就是线性无关的。

举个复杂点的例子,有向量组 γ ⃗ 1 = ( 1 1 0 ) \vec{\gamma}_1 \ = \begin{pmatrix}1\\1\\0\end{pmatrix} γ 1 = 110 γ ⃗ 2 = ( 0 1 1 ) \vec{\gamma}_2 \ = \begin{pmatrix}0\\1\\1\end{pmatrix} γ 2 = 011 γ ⃗ 3 = ( 1 2 1 ) \vec{\gamma}_3 \ = \begin{pmatrix}1\\2\\1\end{pmatrix} γ 3 = 121 。设 k 1 γ ⃗ 1 + k 2 γ ⃗ 2 + k 3 γ ⃗ 3 = 0 ⃗ k_1\vec{\gamma}_1 + k_2\vec{\gamma}_2 + k_3\vec{\gamma}_3 \ = \vec{0} k1γ 1+k2γ 2+k3γ 3 =0 ,也就是 k 1 ( 1 1 0 ) + k 2 ( 0 1 1 ) + k 3 ( 1 2 1 ) = ( k 1 + k 3 k 1 + k 2 + 2 k 3 k 2 + k 3 ) = ( 0 0 0 ) k_1\begin{pmatrix}1\\1\\0\end{pmatrix} + k_2\begin{pmatrix}0\\1\\1\end{pmatrix} + k_3\begin{pmatrix}1\\2\\1\end{pmatrix} \ = \begin{pmatrix}k_1 + k_3\\k_1 + k_2 + 2k_3\\k_2 + k_3\end{pmatrix} \ = \begin{pmatrix}0\\0\\0\end{pmatrix} k1 110 +k2 011 +k3 121  = k1+k3k1+k2+2k3k2+k3  = 000 ,这样就得到了一个方程组 { k 1 + k 3 = 0 k 1 + k 2 + 2 k 3 = 0 k 2 + k 3 = 0 \begin{cases}k_1 + k_3 \ = 0\\k_1 + k_2 + 2k_3 \ = 0\\k_2 + k_3 \ = 0\end{cases} k1+k3 =0k1+k2+2k3 =0k2+k3 =0

我们来解这个方程组,从第一个方程 k 1 = − k 3 k_1 \ = -k_3 k1 =k3,把它代入第二个方程,就得到 − k 3 + k 2 + 2 k 3 = 0 -k_3 + k_2 + 2k_3 \ = 0 k3+k2+2k3 =0,也就是 k 2 + k 3 = 0 k_2 + k_3 \ = 0 k2+k3 =0,这和第三个方程是一样的。再把 k 1 = − k 3 k_1 \ = -k_3 k1 =k3代入第三个方程,能得到 k 2 − k 1 = 0 k_2 - k_1 \ = 0 k2k1 =0,也就是 k 2 = k 1 k_2 \ = k_1 k2 =k1。最后解得 k 1 = k 2 = k 3 = 0 k_1 \ = k_2 \ = k_3 \ = 0 k1 =k2 =k3 =0,所以这个向量组是线性无关的。

(二)利用矩阵求解判断

我们把向量组里的向量都拿出来,依次作为矩阵 A A A的列向量。然后对矩阵 A A A进行一些操作,也就是初等行变换,把它变成行阶梯形矩阵。这个行阶梯形矩阵中非零行的行数,就是矩阵的秩 r ( A ) r(A) r(A),它表示矩阵里线性无关的行(或列)向量的最大个数。

如果行阶梯形矩阵中非零行的行数(也就是矩阵的秩 r ( A ) r(A) r(A))小于向量的个数 m m m,那就说明向量组是线性相关的;要是 r ( A ) = m r(A) \ = m r(A) =m,那向量组就是线性无关的。

比如说有向量组 δ ⃗ 1 = ( 1 2 3 ) \vec{\delta}_1 \ = \begin{pmatrix}1\\2\\3\end{pmatrix} δ 1 = 123 δ ⃗ 2 = ( 2 4 6 ) \vec{\delta}_2 \ = \begin{pmatrix}2\\4\\6\end{pmatrix} δ 2 = 246 δ ⃗ 3 = ( 3 6 9 ) \vec{\delta}_3 \ = \begin{pmatrix}3\\6\\9\end{pmatrix} δ 3 = 369 ,我们把它们构成矩阵 A = ( 1 2 3 2 4 6 3 6 9 ) A \ = \begin{pmatrix}1&2&3\\2&4&6\\3&6&9\end{pmatrix} A = 123246369

对它进行初等行变换:

  • 先把第二行减去第一行的 2 2 2倍,第三行减去第一行的 3 3 3倍,就得到 ( 1 2 3 0 0 0 0 0 0 ) \begin{pmatrix}1&2&3\\0&0&0\\0&0&0\end{pmatrix} 100200300

你看,这个行阶梯形矩阵中非零行的行数是 1 1 1,也就是矩阵的秩 r ( A ) = 1 r(A) \ = 1 r(A) =1,而这里向量的个数 m = 3 m \ = 3 m =3,因为 1 < 3 1 < 3 1<3,所以这个向量组是线性相关的。

四、线性相关性的推论

(一)相关向量组增加向量后仍相关

假如有一个向量组 α ⃗ 1 , α ⃗ 2 , ⋯ , α ⃗ m \vec{\alpha}_1, \vec{\alpha}_2, \cdots, \vec{\alpha}_m α 1,α 2,,α m是线性相关的,这就好比一群小伙伴里已经存在一些“依赖关系”了。那如果我们再往这个向量组里增加任意数量的向量 α ⃗ m + 1 , α ⃗ m + 2 , ⋯ , α ⃗ m + s \vec{\alpha}_{m + 1}, \vec{\alpha}_{m + 2}, \cdots, \vec{\alpha}_{m + s} α m+1,α m+2,,α m+s,得到的新向量组 α ⃗ 1 , α ⃗ 2 , ⋯ , α ⃗ m , α ⃗ m + 1 , α ⃗ m + 2 , ⋯ , α ⃗ m + s \vec{\alpha}_1, \vec{\alpha}_2, \cdots, \vec{\alpha}_m, \vec{\alpha}_{m + 1}, \vec{\alpha}_{m + 2}, \cdots, \vec{\alpha}_{m + s} α 1,α 2,,α m,α m+1,α m+2,,α m+s还是线性相关的。

为什么呢?因为原来的向量组线性相关,所以肯定存在不全为零的数 k 1 , k 2 , ⋯ , k m k_1, k_2, \cdots, k_m k1,k2,,km,让 k 1 α ⃗ 1 + k 2 α ⃗ 2 + ⋯ + k m α ⃗ m = 0 ⃗ k_1\vec{\alpha}_1 + k_2\vec{\alpha}_2 + \cdots + k_m\vec{\alpha}_m \ = \vec{0} k1α 1+k2α 2++kmα m =0 。对于新的向量组,我们可以让增加的这些向量前面的系数 k m + 1 = k m + 2 = ⋯ = k m + s = 0 k_{m + 1} \ = k_{m + 2} \ = \cdots \ = k_{m + s} \ = 0 km+1 =km+2 = =km+s =0,这样 k 1 α ⃗ 1 + k 2 α ⃗ 2 + ⋯ + k m α ⃗ m + k m + 1 α ⃗ m + 1 + k m + 2 α ⃗ m + 2 + ⋯ + k m + s α ⃗ m + s = 0 ⃗ k_1\vec{\alpha}_1 + k_2\vec{\alpha}_2 + \cdots + k_m\vec{\alpha}_m + k_{m + 1}\vec{\alpha}_{m + 1} + k_{m + 2}\vec{\alpha}_{m + 2} + \cdots + k_{m + s}\vec{\alpha}_{m + s} \ = \vec{0} k1α 1+k2α 2++kmα m+km+1α m+1+km+2α m+2++km+sα m+s =0 ,而且 k 1 , k 2 , ⋯ , k m , k m + 1 , k m + 2 , ⋯ , k m + s k_1, k_2, \cdots, k_m, k_{m + 1}, k_{m + 2}, \cdots, k_{m + s} k1,k2,,km,km+1,km+2,,km+s不全为零,所以新向量组还是线性相关的。

比如已知向量组 α ⃗ 1 = ( 1 1 ) \vec{\alpha}_1 \ = \begin{pmatrix}1\\1\end{pmatrix} α 1 =(11) α ⃗ 2 = ( 2 2 ) \vec{\alpha}_2 \ = \begin{pmatrix}2\\2\end{pmatrix} α 2 =(22)是线性相关的(前面验证过啦),现在增加向量 α ⃗ 3 = ( 3 4 ) \vec{\alpha}_3 \ = \begin{pmatrix}3\\4\end{pmatrix} α 3 =(34),因为 − 2 α ⃗ 1 + 1 α ⃗ 2 + 0 α ⃗ 3 = 0 ⃗ -2\vec{\alpha}_1 + 1\vec{\alpha}_2 + 0\vec{\alpha}_3 \ = \vec{0} 2α 1+1α 2+0α 3 =0 ,有不全为零的系数 − 2 , 1 , 0 -2, 1, 0 2,1,0,所以新的向量组 α ⃗ 1 , α ⃗ 2 , α ⃗ 3 \vec{\alpha}_1, \vec{\alpha}_2, \vec{\alpha}_3 α 1,α 2,α 3就是线性相关的。

(二)无关向量组增加向量后情况分析

要是一个向量组是线性无关的,增加向量后新向量组的情况就有点复杂啦,它可能线性相关,也可能线性无关。

  • 可能线性相关的情况:在一个二维空间里,有向量组 e ⃗ 1 = ( 1 0 ) \vec{e}_1 \ = \begin{pmatrix}1\\0\end{pmatrix} e 1 =(10) e ⃗ 2 = ( 0 1 ) \vec{e}_2 \ = \begin{pmatrix}0\\1\end{pmatrix} e 2 =(01),它们是线性无关的,就像直角坐标系里的两个“坐标轴方向”。要是我们增加一个向量 e ⃗ 3 = ( 1 1 ) \vec{e}_3 \ = \begin{pmatrix}1\\1\end{pmatrix} e 3 =(11),设 k 1 e ⃗ 1 + k 2 e ⃗ 2 + k 3 e ⃗ 3 = 0 ⃗ k_1\vec{e}_1 + k_2\vec{e}_2 + k_3\vec{e}_3 \ = \vec{0} k1e 1+k2e 2+k3e 3 =0 ,也就是 k 1 ( 1 0 ) + k 2 ( 0 1 ) + k 3 ( 1 1 ) = ( k 1 + k 3 k 2 + k 3 ) = ( 0 0 ) k_1\begin{pmatrix}1\\0\end{pmatrix} + k_2\begin{pmatrix}0\\1\end{pmatrix} + k_3\begin{pmatrix}1\\1\end{pmatrix} \ = \begin{pmatrix}k_1 + k_3\\k_2 + k_3\end{pmatrix} \ = \begin{pmatrix}0\\0\end{pmatrix} k1(10)+k2(01)+k3(11) =(k1+k3k2+k3) =(00),这样就得到方程组 { k 1 + k 3 = 0 k 2 + k 3 = 0 \begin{cases}k_1 + k_3 \ = 0\\k_2 + k_3 \ = 0\end{cases} {k1+k3 =0k2+k3 =0。我们令 k 3 = 1 k_3 \ = 1 k3 =1,那 k 1 = − 1 k_1 \ = -1 k1 =1 k 2 = − 1 k_2 \ = -1 k2 =1,这就找到了不全为零的解,所以新的向量组 e ⃗ 1 , e ⃗ 2 , e ⃗ 3 \vec{e}_1, \vec{e}_2, \vec{e}_3 e 1,e 2,e 3就是线性相关的。

  • 可能线性无关的情况:在三维空间里,有向量组 e ⃗ 1 = ( 1 0 0 ) \vec{e}_1 \ = \begin{pmatrix}1\\0\\0\end{pmatrix} e 1 = 100 e ⃗ 2 = ( 0 1 0 ) \vec{e}_2 \ = \begin{pmatrix}0\\1\\0\end{pmatrix} e 2 = 010 ,它们是线性无关的。要是增加向量 e ⃗ 3 = ( 0 0 1 ) \vec{e}_3 \ = \begin{pmatrix}0\\0\\1\end{pmatrix} e 3 = 001 ,设 k 1 e ⃗ 1 + k 2 e ⃗ 2 + k 3 e ⃗ 3 = 0 ⃗ k_1\vec{e}_1 + k_2\vec{e}_2 + k_3\vec{e}_3 \ = \vec{0} k1e 1+k2e 2+k3e 3 =0 ,也就是 ( k 1 k 2 k 3 ) = ( 0 0 0 ) \begin{pmatrix}k_1\\k_2\\k_3\end{pmatrix} \ = \begin{pmatrix}0\\0\\0\end{pmatrix} k1k2k3  = 000 ,只能推出 k 1 = k 2 = k 3 = 0 k_1 \ = k_2 \ = k_3 \ = 0 k1 =k2 =k3 =0,所以新的向量组 e ⃗ 1 , e ⃗ 2 , e ⃗ 3 \vec{e}_1, \vec{e}_2, \vec{e}_3 e 1,e 2,e 3还是线性无关的。

五、极大线性无关组

(一)概念

“能力”,可以把其他小伙伴的“能力”用它们的组合表示出来。

例如,在向量组 α ⃗ 1 = ( 1 1 1 ) \vec{\alpha}_1 \ = \begin{pmatrix}1\\1\\1\end{pmatrix} α 1 = 111 α ⃗ 2 = ( 1 2 3 ) \vec{\alpha}_2 \ = \begin{pmatrix}1\\2\\3\end{pmatrix} α 2 = 123 α ⃗ 3 = ( 2 3 4 ) \vec{\alpha}_3 \ = \begin{pmatrix}2\\3\\4\end{pmatrix} α 3 = 234 α ⃗ 4 = ( 3 4 5 ) \vec{\alpha}_4 \ = \begin{pmatrix}3\\4\\5\end{pmatrix} α 4 = 345 中。我们来看看 α ⃗ 1 \vec{\alpha}_1 α 1 α ⃗ 2 \vec{\alpha}_2 α 2,假设存在数 k 1 k_1 k1 k 2 k_2 k2使得 k 1 α ⃗ 1 + k 2 α ⃗ 2 = 0 ⃗ k_1\vec{\alpha}_1 + k_2\vec{\alpha}_2 \ = \vec{0} k1α 1+k2α 2 =0 ,即 k 1 ( 1 1 1 ) + k 2 ( 1 2 3 ) = ( k 1 + k 2 k 1 + 2 k 2 k 1 + 3 k 2 ) = ( 0 0 0 ) k_1\begin{pmatrix}1\\1\\1\end{pmatrix} + k_2\begin{pmatrix}1\\2\\3\end{pmatrix} \ = \begin{pmatrix}k_1 + k_2\\k_1 + 2k_2\\k_1 + 3k_2\end{pmatrix} \ = \begin{pmatrix}0\\0\\0\end{pmatrix} k1 111 +k2 123  = k1+k2k1+2k2k1+3k2  = 000 ,通过求解方程组 { k 1 + k 2 = 0 k 1 + 2 k 2 = 0 k 1 + 3 k 2 = 0 \begin{cases}k_1 + k_2 \ = 0\\k_1 + 2k_2 \ = 0\\k_1 + 3k_2 \ = 0\end{cases} k1+k2 =0k1+2k2 =0k1+3k2 =0,可以得到 k 1 = k 2 = 0 k_1 \ = k_2 \ = 0 k1 =k2 =0,所以 α ⃗ 1 \vec{\alpha}_1 α 1 α ⃗ 2 \vec{\alpha}_2 α 2线性无关。

再看 α ⃗ 3 \vec{\alpha}_3 α 3 α ⃗ 3 = α ⃗ 1 + α ⃗ 2 \vec{\alpha}_3 \ = \vec{\alpha}_1 + \vec{\alpha}_2 α 3 =α 1+α 2 α ⃗ 4 = 2 α ⃗ 1 + α ⃗ 2 \vec{\alpha}_4 \ = 2\vec{\alpha}_1 + \vec{\alpha}_2 α 4 =2α 1+α 2,也就是 α ⃗ 3 \vec{\alpha}_3 α 3 α ⃗ 4 \vec{\alpha}_4 α 4都能由 α ⃗ 1 \vec{\alpha}_1 α 1 α ⃗ 2 \vec{\alpha}_2 α 2线性表示。所以 α ⃗ 1 \vec{\alpha}_1 α 1 α ⃗ 2 \vec{\alpha}_2 α 2构成了该向量组的一个极大线性无关组。

(二)求解方法

  1. 构造矩阵:把向量组中的向量按顺序作为矩阵 A A A的列向量。比如有向量组 β ⃗ 1 = ( 1 1 0 0 ) \vec{\beta}_1 \ = \begin{pmatrix}1\\1\\0\\0\end{pmatrix} β 1 = 1100 β ⃗ 2 = ( 0 0 1 1 ) \vec{\beta}_2 \ = \begin{pmatrix}0\\0\\1\\1\end{pmatrix} β 2 = 0011 β ⃗ 3 = ( 1 1 1 1 ) \vec{\beta}_3 \ = \begin{pmatrix}1\\1\\1\\1\end{pmatrix} β 3 = 1111 β ⃗ 4 = ( 2 2 1 1 ) \vec{\beta}_4 \ = \begin{pmatrix}2\\2\\1\\1\end{pmatrix} β 4 = 2211 ,则构造矩阵 A = ( 1 0 1 2 1 0 1 2 0 1 1 1 0 1 1 1 ) A \ = \begin{pmatrix}1&0&1&2\\1&0&1&2\\0&1&1&1\\0&1&1&1\end{pmatrix} A = 1100001111112211
  2. 初等行变换化为行最简形矩阵:利用三种初等行变换,即换行(交换两行的位置)、某一行乘以非零常数、某一行加上另一行的倍数,将矩阵化为行最简形矩阵。
    • 对于矩阵 A A A,先将第二行减去第一行,第四行减去第三行,得到 ( 1 0 1 2 0 0 0 0 0 1 1 1 0 0 0 0 ) \begin{pmatrix}1&0&1&2\\0&0&0&0\\0&1&1&1\\0&0&0&0\end{pmatrix} 1000001010102010 。此时已经是行阶梯形矩阵,再进一步化为行最简形矩阵,无需其他操作。
  3. 确定极大线性无关组:行最简形矩阵中主元(每行第一个非零元素)所在列对应的原向量组中的向量就构成一个极大线性无关组。在上述行最简形矩阵中,主元在第一列和第三列,所以 β ⃗ 1 \vec{\beta}_1 β 1 β ⃗ 3 \vec{\beta}_3 β 3构成该向量组的一个极大线性无关组。

(三)性质

  1. 不唯一性:极大线性无关组并不是唯一的。仍以上述向量组为例,经过进一步分析可能还存在其他两个向量的组合也满足极大线性无关组的条件。再比如向量组 γ ⃗ 1 = ( 1 0 0 ) \vec{\gamma}_1 \ = \begin{pmatrix}1\\0\\0\end{pmatrix} γ 1 = 100 γ ⃗ 2 = ( 0 1 0 ) \vec{\gamma}_2 \ = \begin{pmatrix}0\\1\\0\end{pmatrix} γ 2 = 010 γ ⃗ 3 = ( 1 1 0 ) \vec{\gamma}_3 \ = \begin{pmatrix}1\\1\\0\end{pmatrix} γ 3 = 110 γ ⃗ 4 = ( 0 0 1 ) \vec{\gamma}_4 \ = \begin{pmatrix}0\\0\\1\end{pmatrix} γ 4 = 001 γ ⃗ 1 \vec{\gamma}_1 γ 1 γ ⃗ 2 \vec{\gamma}_2 γ 2 γ ⃗ 4 \vec{\gamma}_4 γ 4是一个极大线性无关组,因为它们线性无关且 γ ⃗ 3 = γ ⃗ 1 + γ ⃗ 2 \vec{\gamma}_3 \ = \vec{\gamma}_1 + \vec{\gamma}_2 γ 3 =γ 1+γ 2;同时 γ ⃗ 1 \vec{\gamma}_1 γ 1 γ ⃗ 3 \vec{\gamma}_3 γ 3 γ ⃗ 4 \vec{\gamma}_4 γ 4也可以是极大线性无关组, γ ⃗ 2 = γ ⃗ 3 − γ ⃗ 1 \vec{\gamma}_2 \ = \vec{\gamma}_3 - \vec{\gamma}_1 γ 2 =γ 3γ 1且这三个向量线性无关。这是因为在向量组中,可能存在多种不同的线性无关的组合方式,都能满足极大线性无关组对向量组的“代表”作用。
  2. 向量个数相等:一个向量组的任意两个极大线性无关组所含向量的个数一定相等,这个固定的个数称为向量组的秩。例如,对于向量组 δ ⃗ 1 = ( 1 2 3 ) \vec{\delta}_1 \ = \begin{pmatrix}1\\2\\3\end{pmatrix} δ 1 = 123 δ ⃗ 2 = ( 2 4 6 ) \vec{\delta}_2 \ = \begin{pmatrix}2\\4\\6\end{pmatrix} δ 2 = 246 δ ⃗ 3 = ( 3 6 9 ) \vec{\delta}_3 \ = \begin{pmatrix}3\\6\\9\end{pmatrix} δ 3 = 369 ,它的一个极大线性无关组可以是 { δ ⃗ 1 } \{\vec{\delta}_1\} {δ 1}(因为 δ ⃗ 2 = 2 δ ⃗ 1 \vec{\delta}_2 \ = 2\vec{\delta}_1 δ 2 =2δ 1 δ ⃗ 3 = 3 δ ⃗ 1 \vec{\delta}_3 \ = 3\vec{\delta}_1 δ 3 =3δ 1),若再找出另一个极大线性无关组,其中向量个数也必然为 1 1 1,该向量组的秩就是 1 1 1。这是因为极大线性无关组反映的是向量组中线性无关的“最大规模”,无论以何种方式选取,这个“最大规模”是固定的,就像一个容器的最大容量是确定的,虽然装东西的方式可以不同,但最大能装的量是一样的。

(四)用极大线性无关组表示不属于该组的向量

当我们确定了向量组的极大线性无关组后,对于那些不属于极大线性无关组的向量,我们可以通过求解线性方程组的方式来确定它们由极大线性无关组线性表示的系数。

例如,已知向量组 ϵ ⃗ 1 = ( 1 1 0 ) \vec{\epsilon}_1 \ = \begin{pmatrix}1\\1\\0\end{pmatrix} ϵ 1 = 110 ϵ ⃗ 2 = ( 0 1 1 ) \vec{\epsilon}_2 \ = \begin{pmatrix}0\\1\\1\end{pmatrix} ϵ 2 = 011 ϵ ⃗ 3 = ( 1 2 1 ) \vec{\epsilon}_3 \ = \begin{pmatrix}1\\2\\1\end{pmatrix} ϵ 3 = 121 ,已求得 ϵ ⃗ 1 \vec{\epsilon}_1 ϵ 1 ϵ ⃗ 2 \vec{\epsilon}_2 ϵ 2是极大线性无关组。设 ϵ ⃗ 3 = x ϵ ⃗ 1 + y ϵ ⃗ 2 \vec{\epsilon}_3 \ = x\vec{\epsilon}_1 + y\vec{\epsilon}_2 ϵ 3 =xϵ 1+yϵ 2,即 ( 1 2 1 ) = x ( 1 1 0 ) + y ( 0 1 1 ) = ( x x + y y ) \begin{pmatrix}1\\2\\1\end{pmatrix} \ = x\begin{pmatrix}1\\1\\0\end{pmatrix} + y\begin{pmatrix}0\\1\\1\end{pmatrix} \ = \begin{pmatrix}x\\x + y\\y\end{pmatrix} 121  =x 110 +y 011  = xx+yy ,由此得到方程组 { x = 1 x + y = 2 y = 1 \begin{cases}x \ = 1\\x + y \ = 2\\y \ = 1\end{cases} x =1x+y =2y =1。通过解方程组,很容易得出 x = 1 x \ = 1 x =1 y = 1 y \ = 1 y =1,所以 ϵ ⃗ 3 = ϵ ⃗ 1 + ϵ ⃗ 2 \vec{\epsilon}_3 \ = \vec{\epsilon}_1 + \vec{\epsilon}_2 ϵ 3 =ϵ 1+ϵ 2。这就好像我们找到了一种“配方”,用极大线性无关组中的向量按照特定的比例(这里 x = 1 x \ = 1 x =1 y = 1 y \ = 1 y =1)组合起来,就能得到不属于极大线性无关组的向量,体现了极大线性无关组对整个向量组的“构建”作用,有助于我们更清晰、简洁地描述整个向量组的结构和性质。

相关文章:

机器学习数学基础:19.线性相关与线性无关

一、线性相关与线性无关的定义 &#xff08;一&#xff09;线性相关 想象我们有一组向量&#xff0c;就好比是一群有着不同“力量”和“方向”的小伙伴。给定的向量组 α ⃗ 1 , α ⃗ 2 , ⋯ , α ⃗ m \vec{\alpha}_1, \vec{\alpha}_2, \cdots, \vec{\alpha}_m α 1​,α 2…...

ArgoCD实战指南:GitOps驱动下的Kubernetes自动化部署与Helm/Kustomize集成

摘要 ArgoCD 是一种 GitOps 持续交付工具,专为 Kubernetes 设计。它能够自动同步 Git 仓库中的声明性配置,并将其应用到 Kubernetes 集群中。本文将介绍 ArgoCD 的架构、安装步骤,以及如何结合 Helm 和 Kustomize 进行 Kubernetes 自动化部署。 引言 为什么选择 ArgoCD?…...

JVM虚拟机以及跨平台原理

相信大家已经了解到Java具有跨平台的特性&#xff0c;即“一次编译&#xff0c;到处运行”&#xff0c;例如在Windows下编写的程序&#xff0c;无需任何修改就可以在Linux下运行&#xff0c;这是C和C很难做到的。 那么&#xff0c;跨平台是怎样实现的呢&#xff1f;这就要谈及…...

【AIGC提示词系统】基于 DeepSeek R1 + ClaudeAI 易经占卜系统

上篇因为是VIP&#xff0c;这篇来一个免费的 提示词在最下方&#xff0c;喜欢的点个关注吧 引言 在人工智能与传统文化交融的今天&#xff0c;如何让AI系统能够传递传统易经文化的智慧&#xff0c;同时保持易经本身的神秘感和权威性&#xff0c;是一个极具挑战性的课题。本文将…...

电路笔记 : opa 运放失调电压失调电流输入偏置电流 + 反向放大器的平衡电阻 R3 = R1 // R2 以减小输出直流噪声

目录 定义影响和解决失调电压输入偏置电流平衡电阻R3推导公式&#xff1a; 失调电流 实际的运算放大器&#xff08;Op-Amp&#xff09;存在一些非理想特性&#xff0c;如失调电压&#xff08;VIO&#xff09;、失调电流&#xff08;IIO&#xff09;和输入偏置电流&#xff08;I…...

ScrapeGraphAI颠覆传统网络爬虫技术

ScrapeGraphAI颠覆传统网络爬虫技术&#xff01; 引言 在互联网时代&#xff0c;数据如同油田&#xff0c;丰富而深邃。但如何有效地提取这些数据&#xff0c;仍然是许多开发者面临的艰巨任务。你有没有想过&#xff0c;传统的网络爬虫技术是否已经过时&#xff1f;如今&…...

通过多层混合MTL结构提升股票市场预测的准确性,R²最高为0.98

“Boosting the Accuracy of Stock Market Prediction via Multi-Layer Hybrid MTL Structure” 论文地址&#xff1a;https://arxiv.org/pdf/2501.09760 ​​​​​​​ 摘要 本研究引入了一种创新的多层次混合多任务学习架构&#xff0c;致力于提升股市预测的效能。此架构融…...

java将list转成树结构

首先是实体类 public class DwdCusPtlSelectDto {//idprivate String key;//值private String value;//中文名private String title;private List<DwdCusPtlSelectDto> children;private String parentId;public void addChild(DwdCusPtlSelectDto child) {if(this.chil…...

互联网分布式ID解决方案

业界实现方案 1. 基于UUID 2. 基于DB数据库多种模式(自增主键、segment) 3. 基于Redis 4. 基于ZK、ETCD 5. 基于SnowFlake 6. 美团Leaf(DB-Segment、zkSnowFlake) 7. 百度uid-generator() 基于UUID生成唯一ID UUID生成策略 推荐阅读 DDD领域驱动与微服务架构设计设计模…...

xinference 安装(http导致错误解决)

为什么要使用xinference 安装xinference 环境 1&#xff09;conda create -n Xinference python3.11 注意&#xff1a;3.9 3.10均可能出现xinference 安装时候出现numpy兼容性&#xff0c;以及无法安装all版本 错误&#xff1a; error while attempting to bind on address&am…...

334递增的三元子序列贪心算法(思路解析+源码)

文章目录 题目思路解析源码总结题目 思路解析 有两种解法:解法一:动态规划(利用dp找到数组最长递增序列长度,判断是否大于3即可)本题不适用,因为时间复杂度为O(n^2),超时。 解法二:贪心算法:解法如上图,题目要求长度为三,设置第一个元素为长度1的值,是指长度二的…...

【Linux】29.Linux 多线程(3)

文章目录 8.4 生产者消费者模型8.4.1 为何要使用生产者消费者模型8.4.2 生产者消费者模型优点 8.5 基于BlockingQueue的生产者消费者模型8.5.1 C queue模拟阻塞队列的生产消费模型 8.6. 为什么pthread_cond_wait 需要互斥量?8.7 条件变量使用规范8.8 条件变量的封装8.9 POSIX信…...

利用UNIAPP实现短视频上下滑动播放功能

在 UniApp 中实现一个短视频上下滑动播放的功能,可以使用 swiper 组件来实现滑动效果,并结合 video 组件来播放短视频。以下是一个完整的示例,展示如何在 UniApp 中实现这一功能。 1. 创建 UniApp 项目 如果你还没有创建 UniApp 项目,可以使用 HBuilderX 创建一个新的项目…...

vscode+CMake+Debug实现 及权限不足等诸多问题汇总

环境说明 有空再补充 直接贴两个json tasks.json {"version": "2.0.0","tasks": [{"label": "cmake","type": "shell","command": "cmake","args": ["../"…...

【提示词工程】探索大语言模型的参数设置:优化提示词交互的技巧

在与大语言模型(Large Language Model, LLM)进行交互时,提示词的设计和参数设置直接影响生成内容的质量和效果。无论是通过 API 调用还是直接使用模型,掌握模型的参数配置方法都至关重要。本文将为您详细解析常见的参数设置及其应用场景,帮助您更高效地利用大语言模型。 …...

基于 .NET 8.0 gRPC通讯架构设计讲解,客户端+服务端

目录 1.简要说明 2.服务端设计 2.1 服务端创建 2.2 服务端设计 2.3 服务端业务模块 3.客户端设计-控制台 4.客户端设计-Avalonia桌面程序 5.客户端设计-MAUI安卓端程序 1.简要说明 gRPC 一开始由 google 开发&#xff0c;是一款语言中立、平台中立、开源的远程过程调用…...

6.Centos7上部署flask+SQLAlchemy+python+达梦数据库

情况说明 前面已经介绍了window上使用pycharm工具开发项目时,window版的python连接达梦数据库需要的第三方包。 这篇文章讲述,centos7上的python版本连接达梦数据库需要的第三方包。 之前是在windows上安装达梦数据库的客户端,将驱动包安装到windows版本的python中。(开…...

【C语言系列】深入理解指针(5)

深入理解指针&#xff08;5&#xff09; 一、sizeof和strlen的对比1.1sizeof1.2strlen1.3sizeof和strlen的对比 二、数组和指针笔试题解析2.1 一维数组2.2 字符数组2.2.1代码1&#xff1a;2.2.2代码2&#xff1a;2.2.3代码3&#xff1a;2.2.4代码4&#xff1a;2.2.5代码5&#…...

mysql自连接 处理层次结构数据

MySQL 的自连接&#xff08;Self Join&#xff09;是一种特殊的连接方式&#xff0c;它允许一个表与自身进行连接。自连接通常用于处理具有层次结构或递归关系的数据&#xff0c;或者当同一张表中的数据需要相互关联时。以下是几种常见的场景&#xff0c;说明何时应该使用自连接…...

##__VA_ARGS__有什么作用

##__VA_ARGS__ 是 C/C 中宏定义&#xff08;Macro&#xff09;的一种特殊用法&#xff0c;主要用于可变参数宏&#xff08;Variadic Macros&#xff09;的场景&#xff0c;解决当可变参数为空时可能导致的语法错误问题。以下是详细解释&#xff1a; 核心作用 消除空参数时的多余…...

鸿蒙 router.back()返回不到上个页面

1. 检查页面栈&#xff08;Page Stack&#xff09; 鸿蒙的路由基于页面栈管理&#xff0c;确保上一个页面存在且未被销毁。 使用 router.getLength() 检查当前页面栈长度&#xff1a; console.log(当前页面栈长度: ${router.getLength()}); 如果结果为 1&#xff0c;说明没有上…...

深度学习模型蒸馏技术的发展与应用

随着人工智能技术的快速发展&#xff0c;大型语言模型和深度学习模型在各个领域展现出惊人的能力。然而&#xff0c;这些模型的规模和复杂度也带来了显著的部署挑战。模型蒸馏技术作为一种优化解决方案&#xff0c;正在成为连接学术研究和产业应用的重要桥梁。本文将深入探讨模…...

STM32G0B1 ADC DMA normal

目标 ADC 5个通道&#xff0c;希望每1秒采集一遍&#xff1b; CUBEMX 配置 添加代码 #define ADC1_CHANNEL_CNT 5 //采样通道数 #define ADC1_CHANNEL_FRE 3 //单个通道采样次数&#xff0c;用来取平均值 uint16_t adc1_val_buf[ADC1_CHANNEL_CNT*ADC1_CHANNEL_FRE]; //传递…...

<tauri><rust><GUI>基于rust和tauri,在已有的前端框架上手动集成tauri示例

前言 本文是基于rust和tauri&#xff0c;由于tauri是前、后端结合的GUI框架&#xff0c;既可以直接生成包含前端代码的文件&#xff0c;也可以在已有的前端项目上集成tauri框架&#xff0c;将前端页面化为桌面GUI。 环境配置 系统&#xff1a;windows 10 平台&#xff1a;visu…...

模型 冗余系统(系统科学)

系列文章分享模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。为防故障、保运行的备份机制。 1 冗余系统的应用 1.1 冗余系统在企业管理中的应用-金融行业信息安全的二倍冗余技术 在金融行业&#xff0c;信息安全是保障业务连续性和客户资产安全的关键。随着数字化…...

Deepseek部署的模型参数要求

DeepSeek 模型部署硬件要求 模型名称参数量显存需求&#xff08;推理&#xff09;显存需求&#xff08;微调&#xff09;CPU 配置内存要求硬盘空间适用场景DeepSeek-R1-1.5B1.5B4GB8GB最低 4 核&#xff08;推荐多核&#xff09;8GB3GB低资源设备部署&#xff0c;如树莓派、旧…...

AI-学习路线图-PyTorch-我是土堆

1 需求 PyTorch深度学习快速入门教程&#xff08;绝对通俗易懂&#xff01;&#xff09;【小土堆】_哔哩哔哩_bilibili PyTorch 深度学习快速入门教程 配套资源 链接 视频教程 https://www.bilibili.com/video/BV1hE411t7RN/ 文字教程 https://blog.csdn.net/xiaotudui…...

[LeetCode]day17 349.两个数组的交集

https://leetcode.cn/problems/intersection-of-two-arrays/description/ 题目描述 给定两个数组 nums1 和 nums2 &#xff0c;返回它们的交集。 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1…...

axios 发起 post请求 json 需要传入数据格式

• 1. axios 发起 post请求 json 传入数据格式 • 2. axios get请求 1. axios 发起 post请求 json 传入数据格式 使用 axios 发起 POST 请求并以 JSON 格式传递数据是前端开发中常见的操作。 下面是一个简单的示例&#xff0c;展示如何使用 axios 向服务器发送包含 JSON 数…...

linux交叉编译paho-mqtt-c

下载源代码&#xff1a; https://github.com/eclipse-paho/paho.mqtt.c.git 编译&#xff1a; 如果mqtt不需要SSL安全认证&#xff0c;可以直接执行&#xff08;注意把编译工具链路径改成自己的&#xff09; cd paho.mqtt.c-1.3.13/ mkdir install # 创建安装目录 mkdir…...