主要内容

高等代数: 多项式与线性代数

3.1 行列式的展开式定义

本章中,我们把注意力局限在系数矩阵为方阵的线性方程组中。我们先推导系数矩阵为2阶或3阶方阵的线性方程组的公式解,引出2阶、3阶行列式的定义。通过观察其中的规律,引出一般\(n\)阶行列式的定义。
为了简化,在推导公式解的过程中,我们先不考虑运算合理性(主要指除数是否为0)。有兴趣的同学请思考这种简化是否会导致错误?如果不会,为什么?如果会,会导致什么样的错误?

子节 3.1.1 二阶、三阶行列式的定义

我们先来推导一下二元二次线性方程组的公式解。

3.1.1. 二阶线性方程组公式解推导.

求一般的二阶线性方程组
\begin{equation} \left\{\begin{array}{rcl} a_{11}x_1+a_{12}x_2 & = & b_1, \\ a_{21}x_1+a_{22}x_2 & = & b_2 \end{array}\right.\tag{3.1.1} \end{equation}
的公式解。
解答.
用消元法解线性方程组:第一个方程\(\times a_{22}\)减去第二个方程\(\times a_{12}\),消去\(x_2\),整理得 :
\begin{equation*} ({a_{11}a_{22}-a_{12}a_{21}})x_1=b_1a_{22}-b_2a_{12}; \end{equation*}
同理,消去\(x_1\)后整理可得:
\begin{equation*} ({a_{11}a_{22}-a_{12}a_{21}})x_2=a_{11}b_2-b_1a_{21}. \end{equation*}
于是原方程的公式解为:
\begin{equation*} x_1=\frac{b_1a_{22}-b_2a_{12}}{a_{11}a_{22}-a_{12}a_{21}},\quad x_2=\frac{a_{11}b_2-b_1a_{21}}{a_{11}a_{22}-a_{12}a_{21}}. \end{equation*}
注意到公式解表达式中的分子、分母形式上的相似性,我们可以引入如下定义。

定义 3.1.2. 二阶行列式.

\(A=\begin{pmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{pmatrix}\),称\({a_{11}a_{22}}{-a_{12}a_{21}}\)为矩阵\(A\)行列式,记作 \(\det A\), 或\(|A|\), 或\(\begin{vmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{vmatrix}\)。 即
\begin{equation*} \det A = |A|= \begin{vmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{vmatrix} = {a_{11}a_{22}-a_{12}a_{21}}. \end{equation*}
有了上述定义后,(3.1.1)的解也可以表示为
\begin{equation*} x_1 = \frac{\begin{vmatrix} b_{1} & a_{12}\\ b_{2} & a_{22} \end{vmatrix}}{\begin{vmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{vmatrix}},\quad x_2 = \frac{\begin{vmatrix} a_{11} & b_{1}\\ a_{21} & b_{2} \end{vmatrix}}{\begin{vmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{vmatrix}}. \end{equation*}
这样的表达方式要比按第一种写法容易记忆,且更容易看出规律性。
我们再来看一下三阶线性方程组。

3.1.3. 三阶线性方程组公式解推导.

求解一般三阶线性方程组:
\begin{align} a_{11}x_1 +a_{12}x_2 +a_{13}x_3\amp = b_1, \tag{3.1.2}\\ a_{21}x_1 +a_{22}x_2 +a_{23}x_3\amp = b_2, \tag{3.1.3}\\ a_{31}x_1 +a_{32}x_2 +a_{33}x_3\amp = b_3. \tag{3.1.4} \end{align}
解答.
(3.1.2)(3.1.3)中,把\(x_3\)当作常数整理到等式右端得
\begin{equation*} \left\{\begin{array}{l} a_{11}x_1 +a_{12}x_2 = b_1 - a_{13}x_3,\\ a_{21}x_1 +a_{22}x_2 = b_2 - a_{23}x_3. \end{array} \right. \end{equation*}
利用二阶线性方程的公式解,整理后可得
\begin{align*} x_1 = \frac{\begin{vmatrix} b_{1} & a_{12}\\ b_{2} & a_{22} \end{vmatrix} + x_3 \begin{vmatrix} a_{12} & a_{13}\\ a_{22} & a_{23} \end{vmatrix}}{\begin{vmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{vmatrix}},\quad x_2 =\frac{\begin{vmatrix} a_{11} & b_{1}\\ a_{21} & b_{2} \end{vmatrix} - x_3 \begin{vmatrix} a_{11} & a_{13}\\ a_{21} & a_{23} \end{vmatrix}}{\begin{vmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{vmatrix}}. \end{align*}
代入 (3.1.4)后整理得
\begin{align*} x_3= \amp \frac{a_{31}\begin{vmatrix} a_{12} & b_{1}\\ a_{22} & b_{2} \end{vmatrix} - a_{32}\begin{vmatrix} a_{11} & b_{1}\\ a_{21} & b_{2} \end{vmatrix} + b_{3}\begin{vmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{vmatrix}}{a_{31}\begin{vmatrix} a_{12} & a_{13}\\ a_{22} & a_{23} \end{vmatrix} - a_{32}\begin{vmatrix} a_{11} & a_{13}\\ a_{21} & a_{23} \end{vmatrix} + a_{33}\begin{vmatrix} a_{11} & a_{12}\\ a_{21} & a_{22} \end{vmatrix}} \\ = \amp \frac{-a_{22} a_{31} b_{1} + a_{21} a_{32} b_{1} + a_{12} a_{31} b_{2} - a_{11} a_{32} b_{2} - a_{12} a_{21} b_{3} + a_{11} a_{22} b_{3}}{-a_{13} a_{22} a_{31} + a_{12} a_{23} a_{31} + a_{13} a_{21} a_{32} - a_{11} a_{23} a_{32} - a_{12} a_{21} a_{33} + a_{11} a_{22} a_{33}}. \end{align*}
用类似的方式可以获得\(x_1,x_2\)的公式解,请大家自行完成。
观察其中规律,我们给出如下定义。

定义 3.1.4. 三阶行列式.

定义三阶方阵\(A=(a_{ij})_{3\times 3}\)的行列式为
\begin{align*} \amp \det A = |A| = \begin{vmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23}\\ a_{31} & a_{32} & a_{33} \end{vmatrix}\\ =\amp -a_{13} a_{22} a_{31} + a_{12} a_{23} a_{31} + a_{13} a_{21} a_{32} - a_{11} a_{23} a_{32} - a_{12} a_{21} a_{33} + a_{11} a_{22} a_{33}. \end{align*}
我们先通过一个例子熟悉一下这个定义。

3.1.5. 三阶行列式的图示算法.

\(\det A = \begin{vmatrix} 1 & 2 & 3\\ 4 & 5 & 6\\ 7 & 8 & 9 \end{vmatrix} \)
解答.
三阶行列式展开式中的正负号可以用下图辅助记忆。
图中红线对应+项,蓝线对应-项。
3.1.6. 按定义计算三阶行列式计算
于是
\begin{align*} \det A =\amp\phantom{-} 1\times 5\times 9 +2\times 6\times 7 + 3\times 4 \times 8\\ \amp - 1\times 6\times 8 - 2\times 4\times 9 - 3\times 5\times 7 \\ =\amp 0. \end{align*}
有了这个定义后,三阶线性方程组的公式解也可以表示为
\begin{align*} x_1= \frac{\begin{vmatrix} {\color{red}b_{1}} & a_{12} & a_{13}\\ {\color{red}b_{2}} & a_{22} & a_{23}\\ {\color{red}b_{3}} & a_{32} & a_{33} \end{vmatrix}}{\begin{vmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23}\\ a_{31} & a_{32} & a_{33} \end{vmatrix}},x_2 = \frac{\begin{vmatrix} a_{11} & {\color{red}b_{1}} & a_{13}\\ a_{21} & {\color{red}b_{2}} & a_{23}\\ a_{31} & {\color{red}b_{3}} & a_{33} \end{vmatrix}}{\begin{vmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23}\\ a_{31} & a_{32} & a_{33} \end{vmatrix}},x_3=\frac{\begin{vmatrix} a_{11} & a_{12} & {\color{red}b_{1}}\\ a_{21} & a_{22} & {\color{red}b_{2}}\\ a_{31} & a_{32} & {\color{red}b_{3}} \end{vmatrix}}{\begin{vmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23}\\ a_{31} & a_{32} & a_{33} \end{vmatrix}}. \end{align*}
我们看到在引入行列式的概念后,二阶、三阶线性方程组的公式解规律非常明显,即每一个未知量的解都是两个行列式的商。如果我们定义一阶方阵,即一个数的行列式就是它本身的话,上述规律对一阶线性方程也成立。直觉告诉我们,这种规律可以推广到一般的\(n\)阶线性方程中。问题的关键转化为该如何定义\(n\)阶方阵的行列式。
观察已知的行列式定义可知:如果不考虑\(+/-\)号,二阶、三阶行列式表达式中,参与求和的每一项都是矩阵中不同行不同列的元素乘积,并且表达式中包含所有这种乘积项。怎样确定每一项前的\(+/-\)号呢?这是我们接下来要解决的问题。
很遗憾,图 3.1.6中的规律只适用于3阶行列式,不能够推广到4阶及更高阶的行列式。经过前人的多方尝试,行列式表达式中每一个乘积项前的\(+/-\)号可以使用“排列的逆序数”来帮助定义。因此,我们接下来先来介绍排列的逆序数。

子节 3.1.2 排列的逆序数

不考虑\(+/-\)号时,三阶行列式求和式中的每一个求和项(这种求和项也称为一般项)都可以表示为 \(a_{1j_1}a_{2j_2}a_{3j_3}\),其中\(j_1,j_2,j_3\)\(1,2,3\)的一个排列。为了便于观察,我们列一个表格。
3.1.7. 排列与行列式定义式中的符号
一般项 排列 符号
\(a_{11}a_{22}a_{33}\) \(1,2,3\) \(+\)
\(a_{11}a_{23}a_{32}\) \(1,3,2\) \(-\)
\(a_{12}a_{21}a_{33}\) \(2,1,3\) \(-\)
\(a_{12}a_{23}a_{31}\) \(2,3,1\) \(+\)
\(a_{13}a_{21}a_{32}\) \(3,1,2\) \(+\)
\(a_{13}a_{22}a_{31}\) \(3,2,1\) \(-\)
观察表格后,可以引入如下定义。

定义 3.1.8.

设整数\(j_1,\ldots, j_m\)两两不同, 在排列\(j_1,\ldots, j_m\)中,如果一对数中较大的数排在较小的数之前,则称这对数是一个逆序。 一个排列中逆序的总数就称为这个排列的 逆序数,记为\(\tau(j_1,\ldots, j_m)\)
若排列\(j_1,\ldots, j_m\)的逆序数为偶数(含零), 则称之为偶排列; 若排列\(j_1,\ldots, j_m\)的逆序数为奇数, 则称之为 奇排列
我们以\(1,2,3\)这三个数的所有排列为例说明上述概念,同时也把它们与行列式中的符号相联系。
3.1.9. 3个数排列的逆序数与展开式中的符号
一般项 排列 符号 逆序 逆序数
\(a_{11}a_{22}a_{33}\) \(1,2,3\) \(+\) \(0\)
\(a_{11}a_{23}a_{32}\) \(1,3,2\) \(-\) \((3,2)\) \(1\)
\(a_{12}a_{21}a_{33}\) \(2,1,3\) \(-\) \((2,1)\) \(1\)
\(a_{12}a_{23}a_{31}\) \(2,3,1\) \(+\) \((2,1);(3,1)\) \(2\)
\(a_{13}a_{21}a_{32}\) \(3,1,2\) \(+\) \((3,1);(3,2)\) \(2\)
\(a_{13}a_{22}a_{31}\) \(3,2,1\) \(-\) \((3,2);(3,1);(2,1)\) \(3\)
可以看到,逆序数是奇数对应着\(-\)号,逆序数是偶数对应着\(+\)号。
容易验证例子中的规律对应二阶行列式也成立。因此,我们可以按照下面的方式给出行列式的一般定义。

定义 3.1.10. 行列式的展开式定义.

\(A = (a_{ij})_{n\times n} \)是一个\(n\)阶方阵。则 \(A\)行列式 ,记做\(\det A\)\(|A|\),定义为:
\begin{gather} \det A =|A| = \sum_{j_1,\ldots,j_n} (-1)^{\tau(j_1,\ldots,j_n)} a_{1j_1}\cdots a_{nj_n},\tag{3.1.5} \end{gather}
其中求和指标\(j_1,\ldots,j_n\)取遍\(1,\ldots,n\)的所有排列。
(3.1.5)的右端表达式也称为行列式完全展开式行列式按元素展开式,或行列式展开式
容易看到,行列式展开式中只有加、减、乘运算。因此若\(A\in \F^{n\times n}\),则\(\det A\in \F\)
我们来通过几个例子消化一下上面的定义。

3.1.11. 按定义求行列式值.

\(\det A\),其中
\begin{equation*} A = \begin{pmatrix} 0 & 0 & 1 & 1\\ 0 & 2 & 0 & 0\\ 0 & 0 & 0 & 3\\ 4 & 0 & 0 & 0\\ \end{pmatrix} \end{equation*}
解答.
\(\det A\)的展开式中,每一项都是不同行不同列元素的乘积。若这些元素中含有0,则不会影响最终结果,因此我们只需关注非0元的乘积。
注意到\(A\)的后3行中每一行中只有一个非0元(\(a_{22},a_{34},a_{41}\) ),所以展开式的非0项中后三个元素只能选择这三个,当这三个元素选定后,第一行中可被选择的元素只剩下了\(a_{13}\),因此
\begin{equation*} \det A = (-1)^{\tau(3,2,4,1)}1\cdot 2\cdot 3\cdot 4 = (-1)^4 24= 24. \end{equation*}

3.1.12. 图 3.1.6中规律的反例.

按定义计算行列式\(\begin{vmatrix} 0 & 0 & 0 & 1\\ 0 & 0 & 2 & 0\\ 0 & 3 & 0 & 0\\ 4 & 0 & 0 & 0\\ \end{vmatrix} \)
解答.
该行列式的每一行中只有一个非0元,所以展开式的非0项也只有一项,该行列式的值为
\begin{equation*} (-1)^{\tau(4,3,2,1)}1\cdot 2\cdot 3\cdot 4 = (-1)^6 24= 24. \end{equation*}
上面的例子说明4阶行列式不具有 图 3.1.6中展示的类似性质。

3.1.13. 行列式与多项式.

\(f (x)\)\(x^4\)\(x^3\)的系数, 其中
\begin{equation*} f(x)= \begin{vmatrix} 5x & x & 1 & x\\ x & 1 & 1 & -1\\ 3 & 2 & x & 1\\ 3 & 1 & 1 & x \end{vmatrix} \end{equation*}
解答.
注意到此行列式的每个元素均为次数不超过 \(1\)的多项式,而 \(4\)阶行列式展开式每一项都是取自不同行、 不同列的\(4\)个元素的乘积,所以为了得到含 \(x^4\)的项,每一行都得取一次多项式。后 \(3\)行中每一行中只有一个一次多项式 \((a_{21},a_{33},a_{44})\) ,所以展开式中含 \(x^4\)项中后三个元素只能选择这三个,当这三个元素选定后,第一行中可被选择的元素只剩下了 \(a_{12}\),因此含 \(x^4\)的项只有一项:
\begin{equation*} (-1)^{\tau(2,1,3,4)}x\cdot x\cdot x\cdot x=-x^4. \end{equation*}
从而 \(f (x)\)\(x^4\)的系数为 \(-1\)
为了得到展开式中含 \(x^3\)的项,应有 \(3\)行取一次多项式,其余一行取常数。从第 \(1\)行开始考虑,
  • 若取 \(a_{11}=5x\),则第 \(2\)行取不到含 \(x\)的元素,只能取常数。从而,后两行必取一次多项式,即第 \(3\)行取 \(a_{33}=x\),第 \(4\)行取 \(a_{44}=x\)。当这三个元素选定后,第 \(2\)行只能取 \(a_{22}=1\),展开式中这一项为
    \begin{equation*} (-1)^{\tau(1,2,3,4)}(5x)\cdot 1\cdot x\cdot x=5x^3. \end{equation*}
  • 若取 \(a_{12}=x\),则第 \(2\)行只能取 \(a_{21}=x\)\(a_{23}=1\)\(a_{24}=-1\),无论取哪一个元素,都得不到含 \(x^3\)的项。
  • 若取 \(a_{13}=1\),要得到含 \(x^3\)的项,后 \(3\)行都要取一次多项式。注意到此时第 \(3\)行只能取常数,因此得不到含 \(x^3\)的项。
  • 若取 \(a_{14}=x\),则第 \(4\)行只能取常数。相应第 \(2\)\(3\)行都只能取一次多项式,即第 \(2\)行取 \(a_{21}=x\),第 \(3\)行取 \(a_{33}=x\)。于是第 \(4\) 行可被选择的元素只剩下了 \(a_{42}=1\),展开式中这一项为
    \begin{equation*} (-1)^{\tau(4,1,3,2)}x\cdot x\cdot x\cdot 1=x^3. \end{equation*}
因此 \(f(x)\)\(x^3\)项为
\begin{equation*} 5x^3+x^3=6x^3, \end{equation*}
\(x^3\)的系数为 \(6\)
根据排列组合的知识可知,\(n\)个不同整数的排列共有\(n!\)个。\(n!\)是随着\(n\)的增大增加很快的一个数。对于阶数比较大的一般方阵,如 \(4\)阶方阵的行列式展开式有\(4!=24\)项、 \(5\)阶方阵的行列式展开式有\(5!=120\)项,如此众多的项数使得按定义手工计算很不现实。但当矩阵中 \(0\)元素很多时,由于我们只需要考虑展开式的非零项,计算可以变得很简单。我们来看一个有代表性的结论。

证明.

该行列式展开式每项形如
\begin{equation} (-1)^{\tau (j_1,\dots ,j_n)}a_{1j_1}\cdots a_{nj_n}. \tag{3.1.6} \end{equation}
若这些元素中含有 \(0\),则不会影响最终结果,因此我们只需关注可能的非 \(0\)项。 因为该行列式第 \(n\)行的前 \(n-1\)个元素都为 \(0\),所以第 \(n\)行只能取 \(a_{nn}\)。相应前 \(n-1\)行不能取第 \(n\)列的元素。对于第 \(n-1\)行,注意到其前 \(n-2\)个元素全为 \(0\),所以只能取 \(a_{n-1,n-1}\)。依此类推,只有取 \(j_1=1,j_2=2,\ldots,j_n=n\)时, (3.1.6)才可能非 \(0\)。因此该行列式的值为
\begin{equation*} (-1)^{\tau(1,\ldots,n)}a_{11}a_{22}\cdots a_{nn}=a_{11}a_{22}\cdots a_{nn}. \end{equation*}
我们再来看一个例子。

3.1.16.

证明:
\begin{equation*} \begin{vmatrix} & & & & a_{1,n}\\ & & & a_{2,n-1} & a_{2,n}\\ & &\dots&\vdots &\vdots\\ & a_{n-1,2} & \cdots &a_{n-1,n-1} &a_{n-1,n}\\ a_{n,1} & a_{n,2} & \cdots & a_{n,n-1} & a_{n,n} \end{vmatrix} =(-1)^{\frac{n(n-1)}{2}} a_{1,n}a_{2,n-1}\cdots a_{n,1}. \end{equation*}
解答.
因为该行列式第 \(1\)行的前 \(n-1\)个元素都为 \(0\),所以为了选取行列式展开式可能的非 \(0\)项,第 \(1\)行只能取 \(a_{1n}\)。相应后面 \(n-1\)行不能取第 \(n\)列的元素。对于第 \(2\)行,注意到其前 \(n-2\)个元素全为 \(0\),所以只能取 \(a_{2,n-1}\)。依此类推,
\begin{align*} \mbox{原式}&=(-1)^{\tau (n,n-1,\dots ,1)}a_{1,n}a_{2,n-1}\cdots a_{n,1} \\ &=(-1)^{\frac{n(n-1)}{2}} a_{1,n}a_{2,n-1}\cdots a_{n,1}. \end{align*}

子节 3.1.3 行列式定义的进一步讨论

\(n\)阶行列式的展开式定义中,为了简化问题,我们要求一般项中\(n\)个元素的 指标是按照正常排列\(1,\ldots, n\)来排列的。事实上,由于数字乘法的交换性,这\(n\)个数的排列次序是任意的。一个自然的问题就出现了:若我们改为要求 指标按照正常排列\(1,\ldots, n\)来进行,会出现什么样的情形?

证明.

我们先来明确一下这两个排列\(j_1,\ldots,j_n\)\(i_1,\ldots,i_n\)之间的关系。任取一般项中\(n\)个元素中的一个,记为 \(a_{st}\)。在第一种排列方式\(a_{1j_1},\ldots,a_{nj_n}\)中,可知 \(t = j_s\);在第二种排列方式\(a_{i_11},\ldots,a_{i_nn}\)中,可知\(s = i_t\)
因为 \(a_{1j_1},\ldots,a_{nj_n}\)\(a_{i_11},\ldots,a_{i_nn}\)\(n\)阶行列式 \(\det A\)展开式同一个一般项中 \(n\)个元素的两种不同排列方式,所以对任意 \(1\leq s\leq n\),有
\begin{equation} i_{j_s}=s.\tag{3.1.7} \end{equation}
任取排列 \(j_1,\ldots, j_n\)中的一对逆序 \((j_k,j_l)\),有 \(k<l\)\(j_k>j_l\)。根据 (3.1.7),有 \(j_l<j_k\)\(i_{j_l}>i_{j_k}\),由此推出排列 \(i_1,\ldots, i_n\)中存在一对逆序 \((i_{j_l},i_{j_k})\)。因此
\begin{equation*} \tau(j_1,\ldots ,j_n)\leq\tau (i_1,\ldots ,i_n). \end{equation*}
同理由 \(j_{i_t}=t\)可证
\begin{equation*} \tau(i_1,\ldots ,i_n)\leq\tau (j_1,\ldots ,j_n), \end{equation*}
从而
\begin{equation*} \tau(j_1,\ldots,j_n) = \tau(i_1,\ldots,i_n). \end{equation*}

证明.

根据行列式的定义,有
\begin{equation} \det A=\sum\limits_{j_1,\ldots, j_n} (-1)^{\tau(j_1,\ldots, j_n)} a_{1j_1}\cdots a_{nj_n}, \tag{3.1.10} \end{equation}
其中求和指标 \(j_1,\ldots,j_n\)取遍 \(1,\ldots,n\)的所有排列。由数字乘法的交换性,将 (3.1.10)中每一项
\begin{equation*} a_{1j_1}\cdots a_{nj_n} \end{equation*}
按列指标 \(1,\ldots ,n\)重新排列为
\begin{equation*} a_{i_11}\cdots a_{i_nn}, \end{equation*}
易见当排列 \(j_1,\ldots,j_n\)取遍 \(1,\ldots,n\)的所有排列时, \(i_1,\ldots,i_n\)也取遍 \(1,\ldots,n\)的所有排列。因此由引理 3.1.17可知
\begin{equation*} \det A=\sum\limits_{i_1,\ldots, i_n} (-1)^{\tau(i_1,\ldots, i_n)} a_{i_11}\cdots a_{i_nn}, \end{equation*}
其中求和指标 \(i_1,\ldots,i_n\)取遍 \(1,\ldots,n\)的所有排列。
根据上面的定理,容易看到行列式中的行指标和列指标有完全相同的地位。因此,转置不改变行列式。
接下来在讨论行列式的性质中,我们通常只针对行给出的行列式性质的证明。由于转置不改变行列式,因此行列式所有对行成立的性质对列也成立,列相关性质的证明就不再重复证明了。

子节 3.1.4 Sage相关

Sage中求行列式的命令为det,此命令既可以求具体的数字矩阵的行列式,也可以求含有字母的矩阵行列式。
有兴趣的同学可以用下面的代码看到4阶(修改参数可以看到更高阶,但不要太大)行列式的具体定义表达式。
与排列相关的一个概念是置换。集合\(\{1,\ldots,n\}\)上的 置换 就可以理解为\(1\)\(n\)\(n\)个数的重新排列(抽象代数中使用双射的语言进行严格定义),也可以用所获得的排列来表示。在sage/python中可以用列表来表示排列。
置换是《抽象代数》中有限群部分的基础性概念,在后续课程中会进一步讲解。当前阶段,大家可以就按照排列来进行理解。排列/置换对应的英文单词是permutation,因此用于声明排列/置换的命令就是permutation。Sage中的命令inversions可以用来求所有的逆序。
(注意,inversions答案中的1,2,3,4,5指的是p中构成逆序的位置。)
Sage中判断排列的奇偶性的命令是is_even,当输入的排列(置换)是偶排列时函数返回True,否则返回False。
有兴趣的同学可以自己实现一下相关程序。

练习 3.1.5 练习

基础题.

1.
计算 \(3\)阶行列式 \(\begin{vmatrix} 1&-1&-1\\ 1&1&-1\\ 1&1&1 \end{vmatrix}\)
2.
求排列\(n,n-1,\ldots,1\)的逆序数,并指出其奇偶性。
3.
\(j_1,\ldots,j_n\)\(1,\ldots ,n\)的一个排列,证明:
\begin{equation*} \tau(j_1,\ldots ,j_{n-1},j_n)=\tau(j_1,\ldots ,j_{n-1})+(n-j_n). \end{equation*}
4.
若排列 \(j_1,\ldots ,j_n\)的逆序数为 \(r\),求排列 \(j_n,j_{n-1},\ldots ,j_1\)的逆序数。
5.
\(n\)阶行列式的反对角线上\(n\)个元素的乘积一定带负号吗?
6.
\(A=\left(a_{ij}\right)_{4\times 4}\),请写出 \(4\)阶行列式 \(\det A\)中取正号且含\(a_{32}a_{41}\)的项。
7.
按定义计算行列式:
  1. \(\begin{vmatrix} 0&1&0&\cdots&0\\ 0&0&2&\cdots&0\\ \vdots&\vdots&\vdots&&\vdots\\ 0&0&0&\cdots&n-1\\ n&0&0&\cdots&0 \end{vmatrix}\)
  2. \(\begin{vmatrix} 0&\cdots&0&1&0\\ 0&\cdots&2&0&0\\ \vdots&&\vdots&\vdots&\vdots\\ n-1&\cdots&0&0&0\\ 0&\cdots&0&0&n \end{vmatrix}\)
  3. \(\left|\begin{array}{cccccc} \alpha&\beta&0&\cdots&0&0\\ 0&\alpha&\beta&\cdots&0&0\\ \vdots&\vdots&\vdots&&\vdots&\vdots\\ 0&0&0&\cdots&\alpha&\beta\\ \beta&0&0&\cdots&0&\alpha \end{array}\right|\)
8.
\(A\)\(n\) 阶复矩阵,证明: \(\det \overline{A}=\overline{\det A}\)

提高题.

9.
\begin{equation*} f(x)= \begin{vmatrix} -4x & x & 1 & 2x\\ 3 & x & -1 & 1\\ 2 & 3 & -x & 1\\ 1 & 1 & 1 & -2x \end{vmatrix}, \end{equation*}
\(f (x)\)\(x^4\)\(x^3\)的系数并说明理由。
10.
\(A=\left(a_{ij}\right)_{n\times n}\)\(n\)阶方阵, \(x\)是未定元,
\begin{equation*} f(x)=\det\left(xE_n-A\right), \end{equation*}
证明: \(f(x)\)是一个首项系数为\(1\)\(n\)次多项式,且 \(n-1\) 次项系数为 \(-tr(A)\)
11.
\(A=\left(a_{ij}\right)_{n\times n},B=\left(b_{ij}\right)_{n\times n}\),其中\(a_{ij},b_{ij}\)都是整数且奇偶性相同,证明: \(\det A\)\(\det B\)奇偶性也相同。
12.
\(n\geq 2\),证明:如果\(n\)阶矩阵\(A\)的元素为\(1\)\(-1\),那么\(\det A\)必为偶数。
13.
\(A=\left(a_{ij}\right)_{3\times 3}\)\(3\)阶方阵,且 \(\left|a_{ij}\right|=1\),证明: \(\left|\det A\right|\leq 4\)

Sage相关.

14.
写一个函数,以自然数\(n\)为输入,输出\([n]=\{0,\ldots,n-1\}\)的所用排列(用列表表示排列)。
15.
写一个函数,以排列(列表)为输入,实现inversions()函数的功能。
16.
写一个函数,以引理 3.1.17中的排列(列表)\(i_1,\ldots,i_n\)为输入,输出\(j_1,\ldots,j_n\)
17.
写一个函数,以排列(列表)为输入,实现is_even()函数的功能。
18.
写一个函数,以方阵为输入,利用展开式定义,输出矩阵行列式。比较新写的函数与sage自带det函数的运行时间,其中运行时间可以用类似下面的代码获得。