Posted on Leave a comment

如何求矩阵的逆矩阵?

求逆矩阵最有效的方法是初等变换法(虽然还有别的方法)。如果要求方阵 \(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} \]

Posted on Leave a comment

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

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

  • 首先将所有列向量排成一个矩阵(如果是行向量, 先转置成列向量);
  • 将所得到的矩阵作初等行变换,化成行最简矩阵;
  • 每个非零行的第一个非零元(\(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} \]

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

Posted on Leave a comment

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

一般情况下,我们使用配方法化二次型为标准形的时候,用的是完全平方公式 \((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\]

Posted on Leave a comment

线性代数怎么学

  1. 线性代数的基本计算技巧是初等(行)变换。线性代数里需要用到初等变换的地方太多了,基本上贯穿了整个课程。例如解线性方程组,求逆矩阵,求特征向量,判定向量组的线性相关性等等。 初等变换的基本技术有两点:其一、按列进行,先将第一列除第一个数字外,全部化成零。然后第二列,第三列等等进行。其二,每次找个最简单的数字所在的行做为基本行,进行变换。当然最简单的数学莫过于 \(1\) 了。

    这里有详细的视频教程讲解如何进行有效的初等变换:矩阵初等变换的方法与技巧

  2. 线性代数的基本理论是线性方程组的理论。它是其它理论的基础。例如可以用它来判定向量组的线性相关性,可以用来求特征向量,可以用来判定矩阵是否可逆,可以确定一个向量是不是其它向量的线性组合等等。 线性方程组的基本理论有两个方面,解的结构和求解方法。求解方法就是高斯消元法,也就是初等变换的方法。 而解的结构,又有两个方面。齐次方程 \(A{\vec x}=0\) 和非齐次方程 \(A{\vec x}={\vec b}\)。
    • 齐次方程:
      • 方程组有非零解的充分必要条件是 \(\text {Rank} (A) < n\) 。其中 \(\text {Rank} (A)\) 可以简单地认为是行变换后,阶梯形(REF)矩阵中非零行的行数。\(n\) 是方程中未知元的个数。
      • 齐次方程组只有零解的条件是 \(\text {Rank} (A) = n\)
    • 非齐次方程:
      • 方程组无解的条件是 \(\text {Rank} (A) < \text {Rank} (A,{\vec b})\)
      • 方程组有唯一解的条件是 \(\text {Rank} (A) = \text {Rank} (A,{\vec b}) = n\)
      • 方程组有无穷多个解的条件是 \(\text {Rank} (A) = \text {Rank} (A,{\vec b}) < n\)
      • 方程组的通解为 \({\vec x}={\vec x_h}+{\vec \eta}\),其中 \(\vec x_h\) 是 \(A{\vec x}=0\) 的通解,\(\vec \eta\) 是非齐次方程 \(A{\vec x}={\vec b}\) 的一个(特)解。
    • 这里我们总结了线性方程组的求法:解线性方程组
  3. 第二个计算技巧是行列式的计算。在计算特征值的时候,一定会用到行列式的计算。另外,还可以用行列来判定矩阵是否可逆,向量组是否相关,还可以判定方程组有解、无解或者有无穷多个解等等。
  4. 线性方程组应用比较多的方面是特征值与特征向量,这个一定要会。在矩阵的对角化,解常微分方程组,随机过程等等方面都有应用。这部分的内容的计算,都是应用行列式和方程组的计算。
Posted on Leave a comment

怎么求矩阵的特征值

方阵的特征值的计算历来是线性代数课程里较难掌握的一部分。它不仅涉及到带字母的行列式的计算,还包含了多项的求根的过程。现在我们来看看矩阵特征值的求法。

例 :求矩阵
\[A=\begin{pmatrix}
1&-2&4\\
2&3&1\\
1&1&1
\end{pmatrix}\]
的特征值.

求方阵\(A\)的特征值, 就是求多项式 \(|A-\lambda I|\) 的根. 它的基本步骤是这样的:

  1. 求出行列式 \(|A-\lambda I|\) , 它是一个关于 \(\lambda\) 的多项式 (就是特征多项式);
  2. 令多项式 \(|A-\lambda I |\) = 0, 求出 \(\lambda\) 的值 (就是特征值, 或者特征根)

现在我们来看这个题的完整的解法.

解:\(A\) 的特征多项式为
\[|A-\lambda I|=\begin{vmatrix}
1-\lambda&-2&4\\
2&3-\lambda&1\\
1&1&1-\lambda
\end{vmatrix}\]

先交换1, 3 两行,再将第一行乘以 \(-2\) 加到第二行, 乘以 \(\lambda-1\)加到第三行, 再对第一列展开, 就得到
\[\begin{align}|A-\lambda I|&=\begin{vmatrix}
1-\lambda&-2&4\\
2&3-\lambda&1\\
1&1&1-\lambda
\end{vmatrix}\\
&=-\begin{vmatrix}
1&1&1-\lambda\\
0&1-\lambda&-1+2\lambda\\
0&-3+\lambda&4-(1-\lambda)^2
\end{vmatrix}\\
&=-\begin{vmatrix}
1-\lambda&-1+2\lambda\\
-3+\lambda&4-(1-\lambda)^2
\end{vmatrix}
\end{align}\]

把第一列提出因子\(-1\), 并将第2 行第2 列的元素展开,可得
\[|A-\lambda I|=
\begin{vmatrix}
\lambda-1&-1+2\lambda\\
-\lambda+3&(1+\lambda)(3-\lambda)
\end{vmatrix}=
(3-\lambda)\begin{vmatrix}
\lambda-1&-1+2\lambda\\
1&1+\lambda
\end{vmatrix}=(\lambda-3)(-\lambda)(\lambda-2).
\]

令\(|A-\lambda I|=0\), 就得到了方阵\(A\) 的特征值为 \(\lambda_1=3, \lambda_2=0, \lambda_3=2\)

Posted on Leave a comment

怎么求矩阵方程?

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

例 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}\]

Posted on Leave a comment

初等变换技巧总结

总有同学问,初等变换有什么技巧吗?其实,初等变换已经是线性代数里最简单有效的技巧了,当然,它本身还是有一点点技巧的,应用这些技巧,可以让你的初等变换变得容易那么一点点。

初等变换的技巧并不多,总结起来,就这么三条:

  1. 逐列进行。如果是要化成三角形,第一步,将第一列除第一个元素外,全部化成0;接着,将第二列的第二个元素下方的全部化成 0 ;依此下去,直到最后一列。如果是化成行阶梯形,也是先从第一列开始,将第一个元素的下方全部化成 0 ;然后第二列,第三列等等。 如果是要化成行最简,那么化成阶梯形后,再从最后一个阶梯开始,将每个阶梯的第一个非 0 元的上方化成,依次往前进行。
  2. 找最简单的数字。每次化简前,将最简单的数字所在的行交换到基础行。所谓基础行(这是我给的定义,呵呵),对于三角形来说,就是主对角线元素所在的行,例如,现在要化简第三列,那么第三行就是基础行,因为我们要将第三行第三列元素的下方都化成 0 。如果是要化成阶梯形,那么基础行就是已经化完了的行的下一行。
  3. 耐心。不要着急,因为初等变换要做很多数字的四则运算,很容易出错,也很容易让人厌倦,所以这时候耐心很重要。耐心才不容易出错。

现在我们来看一个例子,说明一下怎么用这两个原则,逐列进行与找最简单的数字。

例 1:将矩阵化成行最简矩阵
\[\begin{pmatrix}
2&3&1&-3&-7\\
1&2&0&-2&-4\\
3&-2&8&3&0\\
2&-3&7&4&3
\end{pmatrix}\]

解:我们来看,这个矩阵怎么运用前面所说的两个法则。逐列进行,那么就是从第一列开始,将第一个元素的下方全部变成 0 。然后再第二列,第三列等等。来看第一列,第一列里最简单的数字是 1 ,所以将 1 所在的行交换到第一行(基础行),我们得到
\[\begin{pmatrix}
2&3&1&-3&-7\\
1&2&0&-2&-4\\
3&-2&8&3&0\\
2&-3&7&4&3
\end{pmatrix}\sim
\begin{pmatrix}
1&2&0&-2&-4\\
2&3&1&-3&-7\\
3&-2&8&3&0\\
2&-3&7&4&3
\end{pmatrix}\]

然后,将下方的数字全部变成 0 ,那么将第一行乘以 -2 加到第二行,乘以 -3 加到第三行,乘以 -2 加到第四行,得到
\[
\begin{pmatrix}
1&2&0&-2&-4\\
2&3&1&-3&-7\\
3&-2&8&3&0\\
2&-3&7&4&3
\end{pmatrix}\sim
\begin{pmatrix}
1&2&0&-2&-4\\
0&-1&1&1&1\\
0&-8&8&9&12\\
0&-7&7&8&11
\end{pmatrix}
\]

现在第一列化完了,该化第二列了。我们看到,第二列里,最简单的是 -1,它就在第二行里,就不用交换了。现在将第二行乘以 -8 加到第三行,乘以 -7 加到第四行,得到

\[\begin{pmatrix}
1&2&0&-2&-4\\
0&-1&1&1&1\\
0&-8&8&9&12\\
0&-7&7&8&11
\end{pmatrix}\sim
\begin{pmatrix}
1&2&0&-2&-4\\
0&-1&1&1&1\\
0&0&0&1&4\\
0&0&0&1&4
\end{pmatrix}
\]

现在该第三列了。但是因为第三列里,第三个元素之后都是 0 ,所以从阶梯形的定义,我们不需要对它进行运算。阶梯形里,第三个阶梯的第一个非 0 元在第四列,所以下一个是第四列,第四列里,第三个元素是 1 ,所以也不用交换行了,将第三行乘以 -1 加到第四行,就得到了
\[\begin{pmatrix}
1&2&0&-2&-4\\
0&-1&1&1&1\\
0&0&0&1&4\\
0&0&0&1&4
\end{pmatrix}\sim
\begin{pmatrix}
1&2&0&-2&-4\\
0&-1&1&1&1\\
0&0&0&1&4\\
0&0&0&0&0
\end{pmatrix}
\]

现在已经是行阶梯形了,如果要化成行最简,那么每一个阶梯的第一个非 0 元的上方也应该化成 0 。这个时候,就是从最后一个阶梯开始。我们看,最后一个阶梯的第一个非 0 元在第四列,第三行。所以,将第三行乘以 -1 加到第二行,乘以 2 加到第一行,我们得到了
\[\begin{pmatrix}
1&2&0&-2&-4\\
0&-1&1&1&1\\
0&0&0&1&4\\
0&0&0&0&0
\end{pmatrix}\sim
\begin{pmatrix}
1&2&0&0&4\\
0&-1&1&0&-3\\
0&0&0&1&4\\
0&0&0&0&0
\end{pmatrix}
\]

同理,将第二行乘以 2 加到第一行,得到了
\[\begin{pmatrix}
1&2&0&0&4\\
0&-1&1&0&-3\\
0&0&0&1&4\\
0&0&0&0&0
\end{pmatrix}\sim
\begin{pmatrix}
1&0&2&0&-2\\
0&-1&1&0&-3\\
0&0&0&1&4\\
0&0&0&0&0
\end{pmatrix}
\]

最后,将每一个阶梯的第一个非 0 元化成 1 。为此,只需要将第二行乘以 -1 ,我们的工作就完成了。
\[\begin{pmatrix}
1&0&2&0&-2\\
0&-1&1&0&-3\\
0&0&0&1&4\\
0&0&0&0&0
\end{pmatrix}
\sim\begin{pmatrix}
1&0&2&0&-2\\
0&1&-1&0&3\\
0&0&0&1&4\\
0&0&0&0&0
\end{pmatrix}
\]

Posted on Leave a comment

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

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

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

通过这种运算,我们可以将行列式化成三角形,或者将某一行或者列化成只有一个非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}\]

Posted on Leave a comment

如何用递推法求 \(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) . \]

Posted on Leave a comment

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

求解方程组的时候,最有效的方法是将矩阵化成行最简矩阵,然后根据系数直接写出解。我们用两个例子来说明如何用系数直接写出解。

我们行看一个齐次方程:

例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}
\]

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

我们知道每一个非零行的第一个非零元 所对应的未知元叫做基本元,其它的叫自由元。这里,自由元就是 \(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}
\]