如何求一个向量组的极大无关组,以及如何用极大无关组线性表示其它向量?

我们求向量的极大无关组,并且把其它向量用极大无关组表示的方法和步骤是:先将向量组排成一个矩阵,对此矩阵作初等行变换,化成行最简矩阵。每个非零行的第一个非零元所在的列所对应的向量为极大无关组的向量。而其它向量的表示 可以直接从行最简矩阵得到。

我们求向量的极大无关组,并且把其它向量用极大无关组表示的方法和步骤是:

  • 首先将所有列向量排成一个矩阵(如果是行向量, 先转置成列向量);
  • 将所得到的矩阵作初等行变换,化成行最简矩阵;
  • 每个非零行的第一个非零元(\(1\))所在的列,所对应原矩阵的列向量,就是极大无关组的向量,所有这些向量组成了极大无关组;
  • 行最简矩阵的列向量之间的关系,与原矩阵的列向量组之间的关系是一样的。也就是说,极大无关组与其它向量的关系,与行最简矩阵里列向量的关系一样。

这里我们说明一下:极大无关组可以有不同的选择,但是我们这里的选择方式比较直观,不容易出错,而且向量之间的关系一目了然,最容易计算,易于操作。

现在我们举例说明如何使用这种方法。

例:设有向量组

\[\vec{a}_1=\begin{pmatrix}1\\1\\-2\\4\end{pmatrix},\quad \vec{a}_2=\begin{pmatrix}-2\\-1\\0\\1\end{pmatrix},\quad \vec{a}_3=\begin{pmatrix}9\\6\\-6\\9\end{pmatrix},\quad \vec{a}_4=\begin{pmatrix}5\\5\\1\\1\end{pmatrix},\quad \vec{a}_5=\begin{pmatrix}4\\-3\\-2\\-9\end{pmatrix}\]

求该向量组的一个极大无关组,并把其它向量用极大无关组表示。

解:我们先把向量组排成一个矩阵

\[A=( \vec{a}_1 \quad \vec{a}_2 \quad \vec{a}_3 \quad \vec{a}_4 \quad \vec{a}_5 )=\begin{pmatrix} 1&-2&9&5&4\\ 1&-1&6&5&-3\\ -2&0&-6&1&-2\\ 4&1&9&1&9 \end{pmatrix}\]

对此矩阵作初等变换,将矩阵化成行最简矩阵 (省去中间步骤) ,我们有

\[\begin{align*}A=\begin{pmatrix} 1&-2&9&5&4\\ 1&-1&6&5&-3\\ -2&0&-6&1&-2\\ 4&1&9&1&-9 \end{pmatrix} \sim \begin{pmatrix} 1&0&3&0&0\\ 0&1&-3&0&-7\\ 0&0&0&1&-2\\ 0&0&0&0&0 \end{pmatrix} \end{align*}\]

我们看到,非零行是一、二、三行,第一行第一个非零元在第一列,它对应 \(\vec{a}_1\),第二行的第一个非零元在第二列,它对应 (\vec{a}_2\),第三行的第一个非零元在第四列,它对应 (\vec{a}_4\),所以原向量组的一个极大无关组为

\[ \vec{a}_1=\begin{pmatrix}1\\1\\-2\\4\end{pmatrix},\quad \vec{a}_2=\begin{pmatrix}-2\\-1\\0\\1\end{pmatrix},\quad \vec{a}_4=\begin{pmatrix}5\\5\\1\\1\end{pmatrix} \]

现在我们将 \( \vec{a}_3 , \vec{a}_5\) 用极大无关组表示。因为在行最简矩阵里,第三列与第一、二、四列的关系为

\[\begin{pmatrix}3\\-3\\0\\0\end{pmatrix}=3\begin{pmatrix}1\\0\\0\\0\end{pmatrix}-3 \begin{pmatrix}0\\1\\0\\0\end{pmatrix} \]

所以

\[\vec{a}_3=3\vec{a}_1-3\vec{a}_2,\quad \text{即} \begin{pmatrix}9\\6\\-6\\9\end{pmatrix} =3 \begin{pmatrix}1\\1\\-2\\4\end{pmatrix} -3 \begin{pmatrix}-2\\-1\\0\\1\end{pmatrix} \]

再从行最简矩阵第五列与第一、二、四列的关系

\[\begin{pmatrix}14\\-7\\-2\\0\end{pmatrix}=-7 \begin{pmatrix}0\\1\\0\\0\end{pmatrix} -2 \begin{pmatrix}0\\0\\1\\0\end{pmatrix} \]

知道

\[\vec{a}_5=-7\vec{a}_2-2\vec{a}_4,\quad \text{即} \begin{pmatrix}4\\-3\\-2\\-9\end{pmatrix} =-7 \begin{pmatrix}-2\\-1\\0\\1\end{pmatrix}-2 \begin{pmatrix}5\\5\\1\\1\end{pmatrix} \]

可以验算一下,这两个表示式是正确的。

如何求矩阵的逆矩阵( how to find inverse matrix)?

求逆矩阵最有效的方法是初等变换法(虽然还有别的方法)。如果要求方阵 \(A\) 的逆矩阵,标准的做法是将 \([A I]\) 做初等变换,如果 \(A\) 化成了单位矩阵,则单位矩阵化成了 \(A\) 的逆矩阵。

求逆矩阵最有效的方法是初等变换法(虽然还有别的方法)。如果要求方阵 \(A\) 的逆矩阵,标准的做法是:

  • 将矩阵 \(A\) 与单位矩阵 \(I\) 排成一个新的矩阵 \((A \quad I)\)
  • 将此新矩阵 \(( A \quad I )\) 做初等行变换,将它化成 \(( I \quad B )\) 的形式
  • \(B=A^{-1}\)

若 \(A\) 是一个二阶方阵

\[A=\begin{pmatrix}a&b\\ c&d\end{pmatrix}\]

则它的逆矩阵可以直接使用公式

\[A^{-1}=\frac{1}{ad-bc}\begin{pmatrix}d&-b\\ -c&a\end{pmatrix}\]

来计算。我们来看几个例子。

例1:求二阶矩阵

\[A=\begin{pmatrix}8&6\\ 5&4\end{pmatrix}\]

的逆矩阵。

解:因为矩阵是二阶矩阵,我们可以直接利用二阶逆矩阵的公式来求解。

\[\begin{align*}A^{-1}&=\frac{1}{8\cdot4-6\cdot5}\begin{pmatrix}4&-6\\ -5&8\end{pmatrix} \\& =\frac{1}{2}\begin{pmatrix} 4&-6\\ -5&8 \end{pmatrix}= \begin{pmatrix} 2&-3\\ -\frac{5}{2}&4 \end{pmatrix}\end{align*}\]

例2:求矩阵

\[A= \begin{pmatrix} 1&0&-2\\ -3&1&4\\ 2&-3&4\end{pmatrix} \]

的逆矩阵。

解:这是一个三阶的矩阵,最简便有效的方法是初等变换法。(你可以试试用伴随矩阵的方法来求,计算量比初等变换法相差多大)我们将矩阵与单位矩阵排在一起,然后做初等变换

\[\begin{align*}(A\quad I)&=\begin{pmatrix} 1&0&-2&\vdots&1&0&0\\ -3&1&4 &\vdots& 0&1&0\\ 2&-3&4 &\vdots& 0&0&1\end{pmatrix}\sim \begin{pmatrix} 1&0&-2&\vdots&1&0&0\\ 0&1&-2 &\vdots& 3&1&0\\ 0&-3&8 &\vdots& -2&0&1\end{pmatrix}\\ &\sim \begin{pmatrix} 1&0&-2&\vdots&1&0&0\\ 0&1&-2 &\vdots& 3&1&0\\ 0&0&2 &\vdots& 7&3&1\end{pmatrix}\sim \begin{pmatrix} 1&0&0&\vdots&8&3&1\\ 0&1&0 &\vdots& 10&4&1\\ 0&0&2 &\vdots& 7&3&1\end{pmatrix}\\&\sim \begin{pmatrix} 1&0&0&\vdots&8&3&1\\ 0&1&0 &\vdots& 10&4&1\\ 0&0&1 &\vdots& \frac{7}{2}&\frac{3}{2}&\frac{1}{2}\end{pmatrix} \end{align*}\]

所以我们得到

\[A^{-1}= \begin{pmatrix} 8&3&1\\ 10&4&1\\\frac{7}{2}&\frac{3}{2}&\frac{1}{2}\end{pmatrix} \]

我们看到的这个矩阵是三阶的,利用初等变换计算逆矩阵已经比伴随矩阵法少了很多的计算量了。实际上,矩阵的阶数越高,节约下来的计算量越多。利用伴随矩阵计算逆矩阵,三阶矩阵的话,需要计算一个三阶行列式,九个二阶行列式。四阶的话,需要计算一个四阶行列式,十六个三阶行列式,手算的话,已经让人难以接受了。

我们来看一个四阶矩阵的逆矩阵。

例3:求矩阵

\[A=\begin{pmatrix}1&2&3&4\\ 2&3&1&2\\ 1&1&1&-1\\ 1&0&-2&-6\end{pmatrix}\]

的逆矩阵。

解:我们将下述矩阵做初等变换

\[ \begin{align*} (A\quad I)&= \begin{pmatrix}1&2&3&4 &\vdots &1&0&0&0\\ 2&3&1&2 &\vdots &0&1&0&0\\ 1&1&1&-1 &\vdots &0&0&1&0\\ 1&0&-2&-6 &\vdots &0&0&0&1\end{pmatrix}\sim \begin{pmatrix} 1&0&-2&-6 &\vdots &0&0&0&1\\ 2&3&1&2 &\vdots &0&1&0&0\\ 1&1&1&-1 &\vdots &0&0&1&0\\ 1&2&3&4 &\vdots &1&0&0&0 \end{pmatrix} \\& \sim \begin{pmatrix} 1&0&-2&-6 &\vdots &0&0&0&1\\ 0&3&5&14 &\vdots &0&1&0&-2\\ 0&1&3&5 &\vdots &0&0&1&-1\\ 0&2&5&10 &\vdots &1&0&0&-1 \end{pmatrix}\sim \begin{pmatrix} 1&0&-2&-6 &\vdots &0&0&0&1\\ 0&1&3&5 &\vdots &0&0&1&-1 \\ 0&3&5&14 &\vdots &0&1&0&-2 \\ 0&2&5&10 &\vdots &1&0&0&-1 \end{pmatrix}\\&\sim \begin{pmatrix} 1&0&-2&-6 &\vdots &0&0&0&1\\ 0&1&3&5 &\vdots &0&0&1&-1 \\ 0&0&-4&-1 &\vdots &0&1&-3&1 \\ 0&0&-1&0 &\vdots &1&0&-2&1 \end{pmatrix}\sim \begin{pmatrix} 1&0&-2&-6 &\vdots &0&0&0&1\\ 0&1&3&5 &\vdots &0&0&1&-1 \\ 0&0&-1&0 &\vdots &1&0&-2&1 \\ 0&0&-4&-1 &\vdots &0&1&-3&1 \end{pmatrix}\\&\sim \begin{pmatrix} 1&0&-2&-6 &\vdots &0&0&0&1\\ 0&1&3&5 &\vdots &0&0&1&-1 \\ 0&0&-1&0 &\vdots &1&0&-2&1 \\ 0&0&0&-1 &\vdots &-4&1&5&-3 \end{pmatrix}\sim \begin{pmatrix} 1&0&-2&0 &\vdots &24&-6&-30&19\\ 0&1&3&0 &\vdots &-20&5&26&-16 \\ 0&0&-1&0 &\vdots &1&0&-2&1 \\ 0&0&0&-1 &\vdots &-4&1&5&-3 \end{pmatrix} \\ &\sim \begin{pmatrix} 1&0&0&0 &\vdots &22&-6&-26&17\\ 0&1&0&0 &\vdots &-17&5&20&-13 \\ 0&0&-1&0 &\vdots &1&0&-2&1 \\ 0&0&0&-1 &\vdots &-4&1&5&-3 \end{pmatrix}\sim \begin{pmatrix} 1&0&0&0 &\vdots &22&-6&-26&17\\ 0&1&0&0 &\vdots &-17&5&20&-13 \\ 0&0&1&0 &\vdots &-1&0&2&-1 \\ 0&0&0&1 &\vdots &4&-1&-5&3 \end{pmatrix} \end{align*}\]

所以,我们得到

\[A^{-1}= \begin{pmatrix} 22&-6&-26&17\\ -17&5&20&-13 \\ -1&0&2&-1 \\ 4&-1&-5&3 \end{pmatrix} \]

如何用配方法将不含平方项的二次型化成标准形?

利用平方差公式,将不含有平方项的二次型通过配方法化成标准形。

一般情况下,我们使用配方法化二次型为标准形的时候,用的是完全平方公式 \((a+b)^2=a^2+2ab+b^2\),如果多项式里有 \(a^2+2ab\),那么我们可以通过加一项 \(b^2\) 再减一项 \(b^2\) 的方法达到将这两项化成只剩下平方项的目的。也就是说

\[a^2+2ab=a^2+2ab+b^2-b^2=( a^2+2ab+b^2 )-b^2=(a+b)^2-b^2\]

这样,就只剩下两个平方项了。只要令 \(x=(a+b),y=b\),上式就可以变成\(x^2-y^2\),就是一个标准的二次型。

但是有些二次型,没有平方项,只有混合项,那么这个方法就不可以用了。那么怎么办呢?这个时候我们可以利用平方差公式,\((a+b)(a-b)=a^2-b^2\)将混合项化成标准形。例如,只有一项 \(x_1x_2\),那么令 \(x_1=y_1+y_2, x_2=y_1-y_2\),那么 \(x_1x_2=(y_1+y_2)(y_1-y_2)=y_1^2-y_2^2\)。这就是将不含平方项的二次型化成标准形的方法。

我们来看一个例子:用配方法将二次型

\[f(x_1,x_2,x_3)=x_1x_2+x_1x_3+x_2x_3\]化成标准形。

解:令 \(x_1=y_1+y_2, x_2=x_1-y_2, x_3=y_3\),则

\[ \begin{align*}f=x_1x_2+x_1x_3+x_2x_3 &=(y_1+y_2)(y_1-y_2)+(y_1+y_2)y_3+(y_1-y_2)y_3\\ &=y_1^2-y_2^2+2y_1y_3\end{align*}\]

再对 \(y_1,y_3\) 进行配方,因为 \(y_1^2+2y_1y_3=(y_1+y^3)^2-y_3^2\),所以只要令 \(z_1=y_1+y_3, z_2=y_2, z_3=y_3\),则二次型变成\[f=z_1^2-z_2^2-z_3^2\]

如何快速地写出方程组的解?

在教材上,通常求解方程组的时候,是将系数矩阵(coefficient matrix)或者增广矩阵(argument matrix)作初等行变换(row reduction)化成行阶梯形(row echelon form),然后写出它所对应的方程来求解。其实,这样的方法并不简便,特别是写回对应的方程,基本上是没有必要这样做。更有效的方法是将矩阵化成最简单的情形(Reduced row echelon form),然后根据系数直接写出解。我们用两个例子来说明这种方法。

我们行看一个齐次方程:

例1:求解线性方程组 \(A\vec{x}=0\),其中
\[A=
\begin{pmatrix}
1& 1& 2& 3\\
2& 0& 0& 2\\
3 &2& 4& 7
\end{pmatrix}\]

解:利用初等行变换,将系数矩阵化成行最简矩阵(我们省略具体步骤):

\[A=\begin{pmatrix}
1& 1& 2& 3\\
2& 0& 0& 2\\
3 &2& 4& 7
\end{pmatrix}
\sim
\begin{pmatrix}
1& 0& 0& 1\\
0 &1& 2& 2\\
0& 0&0& 0\\
\end{pmatrix}
\]

现在我们用一种比较快速的方法写出解。

我们知道每一个非零行的第一个非零元(pivot number) 所对应的未知元就是依赖元或者自由元(dependent variables),其它的叫自由元(free variables)。这里,自由元就是 \(x_3\) 和 \(x_4\),而非自由元是\(x_1,x_2\)。如果要快速地写出方程的解,可以这样作:

第一步,每次取一个自由元为 \(1\), 另外的所有自由元为 \(0\), 在这个题里,就是这样

\[\begin{pmatrix}
x_1\\
x_2\\
x_3\\x_4
\end{pmatrix}=x_3
\begin{pmatrix}
\\
\\
1\\
0
\end{pmatrix}+x_4
\begin{pmatrix}
\\
\\
0\\
1
\end{pmatrix}
\]

第二步,写出剩下的数字。剩下的数字怎么求呢? 我们只需要将自由元上的系数变个符号,就是非自由元的值。第一行,非自由元是 \(x_1\),它对应的 \(x_3\) 的系数是 \(0\),所以它在 \(x_3\) 那一部分的值是 \(0\);它对应 \(x_4\) 的系数是 \(1\),所以它对应于\(x_4\) 的部分是 \(-1\), 就是将 \(1\) 改个符号。就是这样:

\[\begin{pmatrix}
x_1\\
x_2\\
x_3\\x_4
\end{pmatrix}=x_3
\begin{pmatrix}
0\\
\\
1\\
0
\end{pmatrix}+x_4
\begin{pmatrix}
-1\\
\\
0\\
1
\end{pmatrix}
\]

而第二行,非自由元是 \(x_2\),它对应的 \(x_3\) 的系数是 \(2\),所以它在 \(x_3\) 那一部分的值是 \(-2\);它对应 \(x_4\) 的系数是 \(2\),所以它对应于\(x_4\) 的部分是 \(-2\)。所以方程的解就是

\[\begin{pmatrix}
x_1\\
x_2\\
x_3\\x_4
\end{pmatrix}=x_3
\begin{pmatrix}
0\\
-2\\
1\\
0
\end{pmatrix}+x_4
\begin{pmatrix}
-1\\
-2\\
0\\
1
\end{pmatrix}
\]

那么对于非齐次方程,怎么快速地写出解呢?由线性方程组解的理论可以知道,非齐次方程的解由两部分组成,一部分是对应齐次方程的解,另一部分就是非齐次方程的一个特解。这个特解其实也很好求的,我们用例子来说明。

例2:求解线性方程组 \(A\vec{x}=\vec{b}\),其中
\[A=
\begin{pmatrix}
1& 1& 2& 3\\
2& 0& 0& 2\\
3 &2& 4& 7
\end{pmatrix}\quad
\vec{b}=
\begin{pmatrix}
1\\
4\\
4
\end{pmatrix}
\]

解:利用初等行变换,将系数矩阵化成行最简矩阵:

\[
A=
\begin{pmatrix}
1& 1& 2& 3 &\vdots& 1\\
2& 0& 0& 2&\vdots& 4\\
3 &2& 4& 7 &\vdots& 4
\end{pmatrix}
\sim
\begin{pmatrix}
1& 0& 0&1 &\vdots&2\\
0& 1& 2& 2&\vdots& -1\\
0 &0& 0& 0&\vdots& 0
\end{pmatrix}
\]
我们知道,非齐次方程的通解是对应齐次方程的通解加上非齐次方程的一个特解。齐次方程的解,我们只要不看上式里最后一列,就跟前面的例子一样。所以对应齐次方程的通解是
\[\vec{x}=x_3
\begin{pmatrix}
0\\
-2\\
1\\
0
\end{pmatrix}+x_4
\begin{pmatrix}
-1\\
-2\\
0\\
1
\end{pmatrix}
\]

那么,非齐次方程的特解怎么得到呢?很简单,我们只要令自由元的值都为\(0\), 而非自由元的值就是对应的最后一列的值。所以,非齐次方程的一个特解就是
\[\vec{\eta}=\begin{pmatrix}
2\\
-1\\
0\\
0
\end{pmatrix}\]

所以,非齐次方程的通解是
\[
\vec{\xi}=\vec{x}+\vec{\eta}=x_3
\begin{pmatrix}
0\\
-2\\
1\\
0
\end{pmatrix}+x_4
\begin{pmatrix}
-1\\
-2\\
0\\
1
\end{pmatrix}+
\begin{pmatrix}
2\\
-1\\
0\\
0
\end{pmatrix}
\]

怎么寻找线性变换(linear transformation)所对应的矩阵?

\(\mathbb{R}^n\)上的线性变换有一个重要的定理,就是每一个线性变换 \(T\) ,都有一个矩阵 \(A\) 跟它对应,使得 \(T(\vec{x})=A\vec{x}\)。定理的结论是这样的:

定理: 假设 \(T\) 是 \(\mathbb{R}^n\) 上的一个线性变换,那么必定存在一个矩阵 \(A\) 使得
\[T(\vec{x})=A\vec{x},\]
并且
\[A=[T\vec{e}_1 \ T\vec{e}_2 \ \cdots T\vec{e}_n].\]

这个定理的前一部分说明了这样的矩阵是存在的,而后一部分说明了怎么样寻找这样的矩阵。

从定理的叙述可以看出,我们只要\(\mathbb{R}^n\) 上的标准基的像都找出来,那么我矩阵 \(A\) 就找出来了。也就是说,一般情况下,我们只要盯住标准基 \(\vec{e}_1,\vec{e}_2,\cdots,\vec{e}_n\),看它们怎么变就行了。当然,有些复杂一点的变换,我们需要用一点点其它的技巧。

我们来看两个例子。

例1 假设 \(\mathbb{R}^2\) 的一个线性变换 \(T\) 定义为将平面上的点以直线 \(y=x\) 作反射,求 \(T\) 所对就的矩阵 \(A\).

解:要求出这个矩阵,我们只需要知道两个向量 \(\vec{v}_1=\begin{pmatrix}1\\0\end{pmatrix}, \vec{v}_2=\begin{pmatrix}0\\1\end{pmatrix}\) 变成了什么就可以了。

显然,以直线 \(y=x\) 作反射,\(\vec{v}_1=\begin{pmatrix}1\\0\end{pmatrix}\) 就变成了\(\vec{v}_2=\begin{pmatrix}0\\1\end{pmatrix}\), 而\(\vec{v}_2=\begin{pmatrix}0\\1\end{pmatrix}\) 就变成了\(\vec{v}_1=\begin{pmatrix}1\\0\end{pmatrix}\)。所以
\[A=[T\vec{v}_1 \ T\vec{v}_2]=\begin{pmatrix}0&1\\ 1&0\end{pmatrix}\]

例2:假设 \(\mathbb{R}^2\) 的一个线性变换 \(T\) 定义为将平面上的点以直线 \(y=2x\) 作反射,求 \(T\) 所对就的矩阵 \(A\).

这个问题麻烦些,因为我们不能直接计算出 \(T\vec{v}_1\) 和 \(T\vec{v}_2\),但我们可以用间接的方式算出 \(A\)。

解:既然是以 \(y=2x\) 作反射轴,那么这条线上的所有的点是不变的。我们不妨选取点 \((1,2)\),那么 \(T \begin{pmatrix}1 \\ 2 \end{pmatrix} = \begin{pmatrix}1 \\ 2\end{pmatrix}\)。

但是 \(\begin{pmatrix}1\\2\end{pmatrix}=\vec{v}_1+2\vec{v}_2\), 由线性变换的性质,\(T(\vec{v}_1+2\vec{v}_2)=T\vec{v}_1+2T\vec{v}_2=\begin{pmatrix}1\\2\end{pmatrix}\)

另外,我们通过原点作垂直于\(y=2x\) 的直线。由直线垂直的性质,我们作出来的这条直线具有方程 \(y=-\frac{1}{2}x\)。这条直线上所有的点,都变成以原点为对称点的点。我们不妨选取点 \((-2,1)\),这个点变成 \((2,-1)\)。也就是说
\[T\begin{pmatrix}-2\\1\end{pmatrix}=\begin{pmatrix}2\\-1\end{pmatrix}\]
同样的道理, \(\begin{pmatrix}-2\\1\end{pmatrix}=-2\vec{v}_1+\vec{v}_2\),\(T(-2\vec{v}_1+\vec{v}_2)=-2T\vec{v}_1+T\vec{v}_2=\begin{pmatrix}2\\-1\end{pmatrix}\).

所以我们得到了两个方程,
\[\begin{cases}
T\vec{v}_1+2T\vec{v}_2=\begin{pmatrix}1\\2\end{pmatrix}\\
-2T\vec{v}_1+T\vec{v}_2=\begin{pmatrix}2\\-1\end{pmatrix}
\end{cases}\]

将 \(T\vec{v}_1\) 和 \(T\vec{v}_2\) 看成未知数,求解上述方程,我们得到解
\[
T\vec{v}_1=\begin{pmatrix}-\frac{3}{5}\\ \frac{4}{5}\end{pmatrix}, \quad
T\vec{v}_2=\begin{pmatrix}\frac{4}{5}\\ \frac{3}{5}\end{pmatrix}
\]

所以
\[A=\begin{pmatrix}
-\frac{3}{5}& \frac{4}{5}\\
\frac{4}{5}&\frac{3}{5}
\end{pmatrix}\]

什么是线性相关(linearly dependent)和线性无关(linearly independent)?

在教材里,线性相关的定义是:对于一组向量(vectors)\((\vec{v}_1, \vec{v}_2, \cdots, \vec{v}_n)\),如果存在一组不全为 \(0\) 的数 \(k_1,k_2,\cdots, d_n\),使得 \(k_1\vec{v}_1+k_2\vec{v}_2+\cdots k_n\vec{v}_n=0\) 成立,就称这组向量是线性相关的。 如果只有当\(k_1,k_2,\cdots, d_n\) 全部为 \(0\) 时这个等式成立,那么就称这个向量组是线性无关的。

这个定义读起来比较拗口,也不是太容易理解。我试着来解释一下。一组不全为 \(0\) 的数,意思是至少有一个数不为 \(0\)。也就是说,至少有一个 \(k\) 不等于 \(0\),那么这组向量是线性相关的。那么这意味着什么呢?假如\(k_n\) 不等于 \(0\),那等式 \(k_1\vec{v}_1+k_2\vec{v}_2+\cdots k_n\vec{v}_n=0\) 就等价于
\[k_n\vec{v}_n=-k_1\vec{v}_1-k_2\vec{v}_2-\cdots -k_{n-1}\vec{v}_{n-1}\]
也就是说
\[v_n=-\frac{k_1}{k_n}\vec{v}_1-\frac{k_2}{k_n}\vec{v}_2-\cdots -\frac{k_{n-1}}{k_n}\vec{v}_{n-1}\]
这意味着\(\vec{v}_n\) 可以用其它的向量线性表示。这也是为什么我们说它们之间是线性相关的。

而线性无关就是说,除非\(k_1,k_2,\cdots, d_n\) 全部为 \(0\),否则 \(k_1\vec{v}_1+k_2\vec{v}_2+\cdots k_n\vec{v}_n=0\) 不可能成立。

我们来看两个例子。

例 1: 设 \(\vec{v}_1=\begin{pmatrix}1\\ 0\end{pmatrix}, \vec{v}_2=\begin{pmatrix}0\\ 1\end{pmatrix}, \vec{v}_3=\begin{pmatrix}2\\ -1\end{pmatrix}\),那么 \(-2\vec{v}_1+\vec{v}_2+\vec{v}_3=0\),也就是\(k_1=-2,k_2=1,k_3=1\),所以这组向量是线性相关的。

例2:设 \(\vec{v}_1=\begin{pmatrix}1\\ 0\\0\end{pmatrix}, \vec{v}_2=\begin{pmatrix}0\\ 1\\0\end{pmatrix}, \vec{v}_3=\begin{pmatrix}0\\ 0\\1\end{pmatrix}\),那么 \(k_1\vec{v}_1+k_2\vec{v}_2+k_3\vec{v}_3=\begin{pmatrix}k_1\\ k_2\\k_3\end{pmatrix}\),要使得这个向量等于 \(0\),只能 \(k_1=k_2=k_3=0\),所以这组向量是线性无关的。

用递推法求 \(n\) 阶行列式

用递推法来计算行列式的方法是:将行列式按行或者按列展开以后,低阶的行列式具有与原行列式相同的形式。
另外,这种行列式的0元素比较多,因而行列式展开的项并不多,否则计算量大太或者得不到合适的递推式。这样所得到的关于低阶行列式的表达式称之为递推式。在递推关系式的右端出现一个或者几低阶的行列式,然后就按行列式的计算法则计算一阶和二阶行列式的值,而高阶的行列式依次由递推式计算得到。这种方法我们称这为递推法。我们来看两个例子。

例 1: 计算行列式
\[ D_{2 n} = \left|\begin{array}{cccccccc}
a_n & & & & & & & b_n\\
0 & a_{n – 1} & & & & & b_{n – 1} & 0\\
& & \ddots & & &\cdot^{\cdot^{\cdot}} & & \\
& & & a_1 & b_1 & & & \\
& & & c_1 & d_1 & & & \\
& &\cdot^{\cdot^{\cdot}} & & & \ddots & & \\
0 & c_{n – 1} & & & & & d_{n – 1} & 0\\
c_n & & & & & & & d_n
\end{array}\right| \]
我们看到这个行列式,除了四个角的元素外,其它都是0。再看低阶的行列式,如果除去四周的行和列外,低阶的行列式跟原行列式具有相同的形式。那么可以知道这个行列式可以用递推法来求。我们来看怎么用递推法来求这个行列式。

解:将行列式按第一行展开,我们就可以得到
\[\begin{align} D_{2 n} &= a_n \left|\begin{array}{ccccccc}
a_{n – 1} & & & & & b_{n – 1} & 0\\
& \ddots & & & \cdot^{\cdot^{\cdot}} & & \\
& & a_1 & b_1 & & & \\
& & c_1 & d_1 & & & \\
& \cdot^{\cdot^{\cdot}} & & & \ddots & & \\
c_{n – 1} & & & & & d_{n – 1} & \\
0 & & & & & & d_n
\end{array}\right|\\
& + ( – 1)^{1 + 2 n} b_n \left|\begin{array}{ccccccc}
0 & a_{n – 1} & & & & & b_{n – 1}\\
& & \ddots & & & \cdot^{\cdot^{\cdot}} & \\
& & & a_1 & b_1 & & \\
& & & c_1 & d_1 & & \\
& &\cdot^{\cdot^{\cdot}} & & & \ddots & \\
0 & c_{n – 1} & & & & & d_{n – 1}\\
c_n & & & & & & 0
\end{array}\right|,\end{align} \]
再将第一个行列式按最后一列展开,第二个行列式按第一列展开,我们得到
\[\begin{align} D_{2 n} &= a_n d_n \left|\begin{array}{cccccc}
a_{n – 1} & & & & & b_{n – 1}\\
& \ddots & & & \cdot^{\cdot^{\cdot}} & \\
& & a_1 & b_1 & & \\
& & c_1 & d_1 & & \\
&\cdot^{\cdot^{\cdot}} & & & \ddots & \\
c_{n – 1} & & & & & d_{n – 1}
\end{array}\right|\\
& + ( – 1)^{1 + 2 n} ( – 1)^{1 + 2 n – 1} b_n c_n
\left|\begin{array}{cccccc}
a_{n – 1} & & & & & b_{n – 1}\\
& \ddots & & & \cdot^{\cdot^{\cdot}} & \\
& & a_1 & b_1 & & \\
& & c_1 & d_1 & & \\
& \cdot^{\cdot^{\cdot}} & & & \ddots & \\
c_{n – 1} & & & & & d_{n – 1}
\end{array}\right|, \end{align}\]
我们现在看到一、二这两个行列式是相等的。而这两个行列式跟原行列式形式上完全相同。我们记
\[ D_{2 ( n – 1)} = \left|\begin{array}{cccccc}
a_{n – 1} & & & & & b_{n – 1}\\
& \ddots & & & \cdot^{\cdot^{\cdot}} & \\
& & a_1 & b_1 & & \\
& & c_1 & d_1 & & \\
& \cdot^{\cdot^{\cdot}} & & & \ddots & \\
c_{n – 1} & & & & & d_{n – 1}
\end{array}\right|, \]
那么
\[ D_{2 n} = ( a_n d_n – b_n c_n) D_{2 ( n – 1)} . \]
由此式又可能得到
\[ D_{2 ( n – 1)} = ( a_{n – 1} d_{n – 1} – b_{n – 1} c_{n – 1}) D_{2 ( n –
2)}, D_{2 ( n – 2)} = ( a_{n – 2} d_{n – 2} – b_{n – 2} c_{n – 2}) D_{2 ( n
– 3)} \]
等等。最后我们得到
\[ D_{2 n} = ( a_n d_n – b_n c_n) ( a_{n – 1} d_{n – 1} – b_{n – 1} c_{n – 1})
\cdots ( a_2 d_2 – b_2 d_2) D_2, \]
而\(D_2 = a_1 d_1 – b_1 d_1\)。所以最后我们得到了
\[ D_{2 n} = ( a_n d_n – b_n c_n) ( a_{n – 1} d_{n – 1} – b_{n – 1} c_{n – 1})
\cdots ( a_1 d_1 – b_1 d_1) . \]

怎么求矩阵方程?

求解矩阵方程,很像解一个一元一次方程,第一步就要”合并同类项”,将未知矩阵放在一起,然后利用逆矩阵来求解。我们来看例子。

例 1:解矩阵方程\(AB=A+2B\),其中
\[A=\begin{pmatrix}
0&3&3\\
1&1&0\\
-1&2&3
\end{pmatrix}.\]

我们看到,两边都有\(B\),那第一步就是将要求的\(B\)放在一起。为此,我们将右边的\(2B\)移到左边,然后求\(A-2E\)的逆矩阵就可以得到\(B\)了。我们来看完整的过程。

解: 将方程右边的2B移到左边,方程变成了
\[AB-2B=A \rightarrow (A-2E)B=A.\]
所以,只要\(A-2E\)可逆,方程的解就是
\[B=(A-2E)^{-1}A.\]

现在我们来求\(A-2E\)的逆矩阵。首先,我们要证明其可逆。
\[|A-2E|=\begin{vmatrix}
-2&3&3\\
1&-1&0\\
-1&2&1
\end{vmatrix}=
\begin{vmatrix}
1&-3&0\\
1&-1&0\\
-1&2&1
\end{vmatrix}=2\ne0\]
所以\(A-2E\)可逆。现在我们来求它的逆。

我们教材上讲了两种求逆矩阵的方法,一种是伴随矩阵的方法,另一种是初等变换法。不要傻傻地去用伴随矩阵来求逆矩阵,费力又不讨好。虽然那是最开始讲的一种方法。

求逆矩阵最简便的方法是用初等变换法。现在我们就用它来求\(A-2E\)的逆矩阵。
\[\begin{align}(A-2E,E)&=\begin{pmatrix}
-2&3&3&\vdots& 1&0&0\\
1&-1&0&\vdots& 0&1&0\\
-1&2&1&\vdots &0&0&1
\end{pmatrix}\\
&\stackrel{r1 + r3 \times -3}{\sim}
\begin{pmatrix}
1&-3&0&\vdots& 1&0&-3\\
1&-1&0&\vdots& 0&1&0\\
-1&2&1&\vdots &0&0&1
\end{pmatrix}\\
&\stackrel{\stackrel{r3+r1}{\scriptsize{r2-r1}}}{\sim}
\begin{pmatrix}
1&-3&0&\vdots& 1&0&-3\\
0&2&0&\vdots& -1&1&3\\
0&-1&1&\vdots &1&0&-2
\end{pmatrix}\\
&\stackrel{r2\times \frac{1}{2}}{\sim}
\begin{pmatrix}
1&-3&0&\vdots& 1&0&-3\\
0&1&0&\vdots& -\frac{1}{2}&\frac{1}{2}&\frac{3}{2}\\
0&-1&1&\vdots &1&0&-2
\end{pmatrix}\\
&\stackrel{\stackrel{r1+r2\times 3}{\scriptsize{r3+r2}}}{\sim}
\begin{pmatrix}
1&0&0&\vdots& -\frac{1}{2}&\frac{3}{2}&\frac{3}{2}\\
0&1&0&\vdots& -\frac{1}{2}&\frac{1}{2}&\frac{3}{2}\\
0&0&1&\vdots &\frac{1}{2}&\frac{1}{2}&-\frac{1}{2}
\end{pmatrix}
\end{align}\]

所以
\[(A-2E)^{-1}=
\begin{pmatrix}
-\frac{1}{2}&\frac{3}{2}&\frac{3}{2}\\
-\frac{1}{2}&\frac{1}{2}&\frac{3}{2}\\
\frac{1}{2}&\frac{1}{2}&-\frac{1}{2}
\end{pmatrix}\]

将它乘在\(A\)的左边,就得到了\(B\):
\[\begin{align}B=(A-2E)^{-1}A&=
\begin{pmatrix}
-\frac{1}{2}&\frac{3}{2}&\frac{3}{2}\\
-\frac{1}{2}&\frac{1}{2}&\frac{3}{2}\\
\frac{1}{2}&\frac{1}{2}&-\frac{1}{2}
\end{pmatrix}
\begin{pmatrix}
0&3&3\\
1&1&0\\
-1&2&3
\end{pmatrix}\\
&=\begin{pmatrix}
0&3&3\\
-1&2&3\\
1&1&0
\end{pmatrix}
\end{align}\]

行列式(determinant)的计算技巧

对于阶数不高的,一般的数字行列式,最方便有效的计算方式是降阶法,或者说是初等变换+行列式展开。另外,将行列式化成三角形也是常用的一个方法。有些数字行列式具有一定的规律,我们可以利用这些规律来较快速地计算出它的值。

对于阶数不高的,一般的数字行列式,最方便有效的计算方式是降阶法,或者说是初等变换+行列式展开。另外,将行列式化成三角形也是常用的一个方法。有些数字行列式具有一定的规律,我们可以利用这些规律来较快速地计算出它的值。

我们来看一些常见的数字行列式的例子。

例:计算行列式
\[\begin{vmatrix}
1&2&3&4\\
2&3&4&1\\
3&4&1&2\\
4&1&2&3
\end{vmatrix}\]
这个行列式,直接用降阶法,或者用化成三角形的方式,计算量较大。但是这个行列式有一些规律我们可以利用。我们看到,每一行或者每一列的元素都是一样的,只是排列顺序不同。或者可以这样说,它们的和都是相同的数字。所以对这个行列式,我们可以将所有的行(或者列)加到同一行(列)去,然后提出一个因子,再做初等变换,就容易多了。我们来看它的解法。

解:将行列式所有的列加到第一列去,我们得到了
\[\begin{vmatrix}
1&2&3&4\\
2&3&4&1\\
3&4&1&2\\
4&1&2&3
\end{vmatrix}=
\begin{vmatrix}
10&2&3&4\\
10&3&4&1\\
10&4&1&2\\
10&1&2&3
\end{vmatrix}\]
将第一列提出因子10, 然后将每一行减去第一行,我们得到了
\[
\begin{vmatrix}
10&2&3&4\\
10&3&4&1\\
10&4&1&2\\
10&1&2&3
\end{vmatrix}=
10\begin{vmatrix}
1&2&3&4\\
1&3&4&1\\
1&4&1&2\\
1&1&2&3
\end{vmatrix}=
10\begin{vmatrix}
1&2&3&4\\
0&1&1&-3\\
0&2&-2&-2\\
0&-1&-1&-1
\end{vmatrix}\]
按第一行展开,然后将第一行加到第三行,乘以\(-2\)加到第二行,得到了
\[10\begin{vmatrix}
1&1&-3\\
2&-2&-2\\
-1&-1&-1
\end{vmatrix}=
10\begin{vmatrix}
1&1&-3\\
0&-4&4\\
0&0&-4
\end{vmatrix}=160\]

用初等变换法求\(n\)阶行列式(determinant)

求行列式最简单有效、也是应用最广的方法是初等变换法。所谓初等变换,就是下列三种行列式的运算:

  • 交换两行(列)
  • 将某一行(列)乘上一个常数
  • 将某一行(列)乘上一个常数加到另一行(列)去

通过这种运算,我们可以将行列式化成三角形,或者将某一行或者列化成只有一个非0 ,然后再按该行或列展开,从而达到降阶的目的。我们用几个例子来说明这种方法。

例:求行列式的值
\[|A|=\begin{vmatrix}
1&2&3&\cdots&n-1&n\\
2&3&4&\cdots&n&1\\
3&4&5&\cdots&1&2\\
\vdots&\vdots &\vdots & &\vdots &\vdots\\
n&1&2&\cdots&n-2&n-1
\end{vmatrix}\]

这里我们看到,每一行或者每一列的元素都相同,只是排列顺序不同。这种情形,我们可以将所有的行或列加到同一行或列去,然后再提出一个因子,情形就会变得简单些了。该行(列)的元素就全部变成了1, 然后通过减法,就可以将该行或列化成只有一个非0. 我们来看它的解法。

解:将所有的列加到第一列去,然后提出因子\(\displaystyle\sum_{i=1}^n i=\frac{(n+1)n}{2}\), 行列式变成
\[|A|=\frac{(n+1)n}{2}\begin{vmatrix}
1&2&3&\cdots&n-1&n\\
1&3&4&\cdots&n&1\\
1&4&5&\cdots&1&2\\
\vdots&\vdots &\vdots & &\vdots &\vdots\\
1&1&2&\cdots&n-2&n-1
\end{vmatrix}\]

从最后一行开始,依次减去前一行,我们可以得到
\[|A|=\frac{(n+1)n}{2}\begin{vmatrix}
1&2&3&\cdots&n-1&n\\
0&1&1&\cdots&1&1-n\\
0&1&1&\cdots&1-n&1\\
\vdots&\vdots &\vdots & &\vdots &\vdots\\
0&1-n&1&\cdots&1&1
\end{vmatrix}\]

全部减去第二行,行列式变成了
\[|A|=\frac{(n+1)n}{2}\begin{vmatrix}
1&2&3&\cdots&n-1&n\\
0&1&1&\cdots&1&1-n\\
0&0&0&\cdots&-n&n\\
\vdots&\vdots &\vdots & &\vdots &\vdots\\
0&-n&0&\cdots&0&n
\end{vmatrix}\]

最后一列依次加上\(2,3,… ,n-1\) 列,得到
\[|A|=\frac{(n+1)n}{2}\begin{vmatrix}
1&2&3&\cdots&n-1&n-\frac{n(n-1)}{2}\\
0&1&1&\cdots&1&-1\\
0&0&0&\cdots&-n&0\\
\vdots&\vdots &\vdots & &\vdots &\vdots\\
0&-n&0&\cdots&0&0
\end{vmatrix}\]

先按第一行展开,再按最后一列展开,可以得到
\[|A|=\frac{(n+1)n}{2}(-1)^{n+1}\begin{vmatrix}
0&0&\cdots&-n\\
\vdots &\vdots & &\vdots \\
0&-n& &0\\
-n&0&\cdots&0
\end{vmatrix}
\]

每一列乘以(-1), 则
\[|A|=
(-1)^{n+1}(-1)^{n-2}\frac{(n+1)n}{2}\begin{vmatrix}
0&0&\cdots&n\\
\vdots &\vdots & &\vdots \\
0&n& &0\\
n&0&\cdots&0
\end{vmatrix}
\]

现在只要利用行列式的定义, 就可以得到结果了. 这个行列式只有一项, 这一项就是 \(a_{1,n-2}a_{2,n-3}\cdots a_{n-2,1}=n^{n-2}\),它的逆序数为\(\sum_{i=1}^{n-3}i=\frac{(n-2)(n-3)}{2}\), 所以它的符号是\((-1)^{\frac{(n-2)(n-3)}{2}}\). 最后我们得到行列式的值是
\[|A|=\displaystyle (-1)^{\frac{(n-2)(n-3)}{2}+1}\frac{(n+1)n^{n-1}}{2}\]