行列式

Posted by Useless Programmer on January 6, 2018

    学习机器学习, 基础的线性代数知识是必备的基础功, 对于线性代数的探索, 我将从行列式开始. 行列式是线性代数的一个基本概念, 其理论起源于解线性方程组. 这篇文章我将分享行列式的基础知识以及关于用于解线性方程组的克拉默(Cramer)法则的学习成果.

章节目录

  1. 二阶行列式
  2. 排列和逆序数
  3. n阶行列式
  4. 行列式的性质
  5. 行列式按行(列)展开
  6. 克拉默法则

本文是一篇包含大量枯燥数学知识的文章, 作者能力有限, 如果您在阅读过程中发现任何错误, 还请您务必联系本人,指出错误, 避免后来读者再学习错误的知识.谢谢!

二阶行列式 ##

我们先看一个最简单的线性方程组:

对于这个方程组, 我们使用基本的消元法, 当($a_{11}a_{22}-a_{12}a_{2}\neq0$)时,该方程有唯一解:

为了便于记忆, 所以数学上引入记号

我们称之为 二阶行列式. 它表示 $a_{11}a_{22}-a_{12}a_{2}$.
我们把$a_{11}$, $a_{22}$ 的连线称为二阶行列式的主对角线, 把$a_{12}$, $a_{21}$ 的连线称为次对角线, 则二阶行列式的值等于主对角线的乘机减去次对角线上元素的乘积. 这个算法称为二阶行列式的对角线法则. 按此法则, 二元一次方程组的解可用二阶行列式表示成:

上面的表达式称为二元一次方程组的行列式解法.

至此, 我们已经可以使用行列式知识解二元一次方程组了. 但是, 对于n个未知数n个一次方程的方程组, 又该如何解呢? 显然, 当未知数和方程的个数增多之后,使用消元法已经无能为力了.

解决的思路是: 先研究排列及其性质, 再观察二,三阶行列式的表达式, 寻找新的规律, 然后按照这些规律来定义n阶行列式.

排列和逆序数

排列: 把n个不同的元素排成一列, 叫做这n个元素的全排列. 简称排列.
自然排列(标准排列): n个不同的自然数的排列, 且这n个数按照从小到大的顺序.
逆序数: 在n个不同的自然数组成的排列$p_1p_2…p_n$中,如果某两个数不是自然顺序,也就是说前面的数大于紧随其后的数,则称这两个数构成一个逆序, 该排列中的逆序数总个数称为这个排列的逆序数, 记作$\tau(p_1p_2…p_n)$.

.
其中$\tau_i$ 表示排列中前i个数中大于$p_i$的数的个数.

逆序数为奇数的排列称为奇排列, 逆序数为偶数的排列称为偶排列.
在一个排列中 将某两个数的位置对调, 而其余数不变, 即可得到一个新的排列, 这一过程称为对换.

定理: 排列经一次对换, 其奇偶性改变

证明:

(1) 相邻对换: 假设对换元素 $a_i$, $a_j$ (j=i+1). 原排列为 $a_1a_2a_3…a_ia_j…a_n$. 原逆序数为 $t_1$, 记对换后逆序数为 $t_2$. 于是, 当 $a_i > a_j$ 时, 对换后 $\tau_{ai}$ 的逆序数不变, $\tau_{aj}$ 的逆序数减少 1, 因为我们将大于 $a_j$ 的 $a_i$ 换到了它的后边. 因此, $t_2=t_1-1$. 当 $a_i < a_j$, 对换后 $\tau_{ai}$ 的逆序数增加 1, 因为我们将大于它的 $a_j$ 换到了它的前面. $\tau_{aj}$ 的逆序数不变. 因此, $t_2=t_1+1$. 因此,经过一次相邻对换之后,排列奇偶性改变.
 
(2) 一般情况: 假设原排列为 $a_1a_2a_3…a_ia_{i+1}…a_{j-1}a_j…a_n$. 对换之后的排列可以看做先把$a_i$依次与其后的元素一一对换, 转换为 $a_1a_2a_3…a_ia_j…a_n$(注意,此时$a_ia_j$相邻). 这个操作需要 j-i-1 次对换. 然后再将这个排列经过 j-i 次对换, 得到排列 $a_1a_2a_3…a_ja_{i+1}…a_{j-1}a_i…a_n$. 总结上述两步操作, 我们一共进行了 2(j-i)-1 次对换. 2(j-i)-1 为奇数, 因此经过 2*(j-i)-1 次对换之后, 排列的奇偶性改变.
 
综上, 排列经一次对换, 其奇偶性改变.

这是非常重要的一个定理, 本文后续后续我们将不断的使用它.

n阶行列式

在进入n阶行列式的学习之前, 很有必要研究一下三阶行列式的表达式:

(1) 上式右边的每一项都是不同行不同列的三个元素的乘积, 并取适当的正负号. 若不考虑正负号, 一般项可以写成 $a_{1p_1}a_{2p_2}a_{3p_3}$. 这里每个元素的第一个下标为标准排列, 表示这三个数是依次取自第 1, 2, 3 行; 第二个下标的排列 $p_1p_2p_3$ 是 1, 2, 3 三个数的某一排列.

(2) 当 $p_1p_2p_3$ 取遍由 1, 2, 3 构成的排列时, 便得到上式右端的所有项(不计正负号).

(3) 经验算可知, 当 $p_1p_2p_3$ 为偶排列时, $a_{1p_1}a_{2p_2}a_{3p_3}$ 前取正号. 当 $p_1p_2p_3$ 为奇排列时, $a_{1p_1}a_{2p_2}a_{3p_3}$ 前取负号. 也就是说 $a_{1p_1}a_{2p_2}a_{3p_3}$ 前取正负号与 $p_1p_2p_3$ 排列的奇偶性相关.
因此, 上式的右端项的任一项可写成:

综上分析, 三阶行列式可写成:

其中 $\sum_{(p_1p_2p_3)}$ 表示对 1, 2, 3 这三个数的所有排列 $p_1p_2p_3$ 求和.

将以上概念推广到一般情况.
设有n个数 $a_{ij} (i,j=1, 2, 3, …, n)$, 记号:

称为n阶行列式, 它表示数 $\sum_{(p_1p_2…p_n)}(-1)^{\tau(p_1p_2…p_n)}a_{1p_1}a_{2p_2}…a_{np_n}$. 即:

其中 $p_1,p_2,…,p_n$ 为n个自然数 1, 2, …, n 的某一排列, $\tau(p_1p_2…p_n)$ 为排列 $p_1p_2…p_n$ 的逆序数, $\sum_{(p_1p_2…p_n)}$ 表示对 $p_1p_2…p_n$ 的所有排列求和.

行列式的性质

将行列式 D 的各行变成同序号的列后所得到的行列式称为 D 的转置行列式. 记为 $D^T$, 即

性质1: 行列式与其转置行列式相等, 即 $D=D^T$.

性质2: 互换行列式的任意两行(列), 行列式变号.

证明:

设经过互换行列式 D 的第 i 行与第 j 行之后, 得到行列式:

则由n阶行列式定义以及排列经过一次对换改变奇偶性.的性质,得:

① 是由n阶行列式的定义得到.
① -> ②: 乘法交换律. 交换$a_{jp_i}$ 与 $p_{ip_j}$.
② -> ③: 排列经过一次对换改变奇偶性. 交换$p_i$ 与 $p_j$.

推论: 如果行列式中有两行(列)对应元素全相同, 则 D=0.
证明: 将相同的两行互换, 就有 D=-D, 则 D=0.

性质3: 若行列式中某一行(列)所有元素有公因子 k, 则可把公因子提到行列式记号之外. 即

推论1: 有数 k 乘以行列式等于行列式的某一行(列)的所有元素同时乘以数 k.
推论2: 若行列式中某两行元素成比例, 则行列式的值为 0.
推论3: 若行列式中某行元素全为零, 则行列式的值为 0.
推论4: 若行列式 D 的第 i 行元素都是两数之和: $a_{ij}=b_{ij}+c_{ij}$, 则行列式 D 可分解为两个行列式 $\hat D $ 和 $\dot D$ 的和. 其中 $\hat D$ 的第 i 行是 $b_{i1}, b_{i2}, …, b_{in}$, 而 $\dot D$ 的第 i 行是 $c_{i1}, c_{i2}, …, c_{in}$. 其他各行都与 D 相同. 即

推论5: 将行列式 D 中某一行各元素的 k 倍加到另一行对应的元素上去, 行列式的值不变, 即

证明思路: 由推论4可知, 等式右端可以拆分为两个行列式, 一个行列式为D, 一个为第 i 行的元素值为第 j 行元素的 k 倍的行列式, 由推论2可知, 该行列式的值为0.

行列式按行(列)展开

通常情况下, 低阶行列式比高阶行列式更容易计算, 因此人们通常将高阶行列式转化为低阶行列式的计算问题.

在n阶行列式 D= $\begin{vmatrix}a_{ij}\end{vmatrix}$ 中, 划去元素 $a_{ij}$ 所在的第 i 行和第 j 列后得到的 n-1 阶行列式称为元素 $a_{ij}$ 的余子式, 记作 $M_{ij}$; 而把

称为元素 $a_{ij}$ 的代数余子式.

例如, 在三阶行列式

中, $a_{31}$ 与 $a_{23}$ 的余子式分别为:

他们的代数余子式分别为:

定理: n阶行列式 D= $\begin{vmatrix}a_{ij}\end{vmatrix}$ 等于它的任一行(列)各元素与其对应的代数余子式乘积之和. 即

证明有兴趣的读者自己查阅相关线性代资料.

定理: n阶行列式 D 的任一行(列)各元素与另一行(列)对应元素的代数余子式乘积之和为0. 即

克拉默法则 ##

一般线性方程组的形式为:

$x_1,x_2,…,x_n$ 代表n的未知数; m 代表方程的个数; $a_{ij}$ 代表方程组的系数;$b_1,b_2,…,b_m$ 代表m个常数项或者成为右端项. 如果 $b_1=b_2=…=b_m=0$, 则方程组称为齐次线性方程组. 若 $b_1,b_2,…,b_m$ 不全为零, 则方程组称为非齐次线性方程租.

克拉默法则适用于未知数的个数等于方程个数的线性方程组, 且方程组系数行列式的值不为零.

定理: 如果线性方程组

的系数行列式

则方程组有唯一解

其中 $D^{(j)}$ 是把系数行列式 D 中第 j 列元素换成方程组右端项 $b_1,b_2,…,b_n$ 后得到的n阶行列式, 即

好吧, 既然大牛都搞出来这么牛的定理, 那么我们就来看看大牛是如何证明它是对的吧!

证明:

(i) 解的存在性. 只需证明 ② 是 ① 的解.
将 $D^{(j)}$ 按第 j 列展开

利用定理: n阶行列式 D 的任一行(列)各元素与另一行(列)对应元素的代数余子式乘积之和为0, 可得

由此, 证明 ② 是 ① 的解.

(2) 解的唯一性. 设 $x_1=c_1,x_2=c_2,…,x_n=c_n$ 是线性方程组的解, 则有

用 D 中第 j 列元素的代数余子式 $A_{1j},A_{2j},…,A_{nj}$ 依次乘以这n个等式, 再把他们相加, 得:

利用定理: n阶行列式 D 的任一行(列)各元素与另一行(列)对应元素的代数余子式乘积之和为0, 并注意到上式右端即是 $D^{(j)}$ 按第 j 列的展开式, 得:

于是 $c_j=\frac {D^{(j)}}{D}$, 故解是唯一的.

定理: 如果齐次线性方程组的系数行列式$D\neq0$, 则该方程组只有零解.

到此为止, 我对于行列式的学习分享就结束了. 读完之后, 有任何看法见解, 欢迎与我分享. 谢谢!