\(n\) 阶行列式的定义¶
本页面把上一页的观察变成定义:先说明什么是 \(n\) 阶方阵(行列式作用的对象),再写出 \(n\) 阶行列式中每一项的一般形状(不同行不同列元素的乘积),最后数清一共有多少项。
这一页不涉及正负号——符号要靠逆序数来定,是紧接着的下一步。
前置知识
元素与方阵¶
先明确行列式作用在什么对象上。
定义(\(n\) 阶方阵)
由 \(n^2\) 个元素排成的 \(n\) 行 \(n\) 列的正方形数表
称为一个 \(n\) 阶方阵,可简记为
或更简地记作 \(A = (a_{ij})\)。
其中 \(a_{ij}\) 称为方阵的元素,下标 \(i\) 是行指标(表示它在第 \(i\) 行),\(j\) 是列指标(表示它在第 \(j\) 列)。\(a_{ij}\) 也统称为方阵的一般元素(或一般项)。
元素不一定是数
按课堂上的说法:\(a_{ij}\) 可以是数,也可以是多项式,或者是其他关于乘法可交换的元素。
- "关于乘法可交换"是必需的:后面要把一般项里的元素重新排序(见下文"指定行指标为自然排列"),这一步用的就是 \(a_{ij} a_{kl} = a_{kl} a_{ij}\);
- 本章讨论的元素都是数,因为本章的动机是解方程组;但定义本身留了余地,以后(例如多项式矩阵、函数矩阵)还会用到。
特别地,一般元素写 \(a_{ij}\) 时,"\(i\) 从 \(1\) 到 \(n\)、\(j\) 从 \(1\) 到 \(n\)"这个范围由上下文给出。写成 \(A = (a_{ij})_{n \times n}\) 就是为了把范围一并说清;上下文已经清楚时,简写 \(A = (a_{ij})\) 也不会引起歧义。
一般项:把"不同行不同列"说成排列¶
现在来做本节的核心工作:写出 \(n\) 阶行列式中一项的一般形状。
从方阵里取 \(n\) 个元素,要求它们"不在同一行、也不在同一列"。设取出的元素依次写作
其中第一个下标是行指标、第二个是列指标。把"不同行不同列"翻译成下标的条件:
命题(不同行不同列等价于两个排列)
在 \(n\) 阶方阵中取出 \(n\) 个元素 \(a_{i_1 j_1}, a_{i_2 j_2}, \dots, a_{i_n j_n}\)(要求 \(i_1, \dots, i_n\) 两两不同,\(j_1, \dots, j_n\) 也两两不同)。则
- \(i_1 i_2 \cdots i_n\) 是 \(1, 2, \dots, n\) 的一个 \(n\) 阶排列;
- \(j_1 j_2 \cdots j_n\) 也是 \(1, 2, \dots, n\) 的一个 \(n\) 阶排列。
反之,任取两个 \(n\) 阶排列 \(i_1 i_2 \cdots i_n\) 与 \(j_1 j_2 \cdots j_n\),对应的 \(n\) 个元素 \(a_{i_1 j_1}, \dots, a_{i_n j_n}\) 就满足"不同行不同列"。
证明
(\(\Rightarrow\)) 行指标 \(i_1, \dots, i_n\) 两两不同,且每个都取自 \(\{1, 2, \dots, n\}\)。\(n\) 个两两不同、又都落在只有 \(n\) 个元素的集合里,说明它们恰好把 \(1, 2, \dots, n\) 各取了一次。按\(n\) 阶排列的定义,\(i_1 i_2 \cdots i_n\) 正是一个 \(n\) 阶排列。列指标 \(j_1, \dots, j_n\) 同理。
(\(\Leftarrow\)) 若 \(i_1 i_2 \cdots i_n\) 是 \(n\) 阶排列,则行指标两两不同,即这 \(n\) 个元素"不同行";同理列指标两两不同,即"不同列"。
定义(一般项)
设 \(A = (a_{ij})_{n \times n}\) 是 \(n\) 阶方阵。对任意两个 \(n\) 阶排列 \(i_1 i_2 \cdots i_n\) 与 \(j_1 j_2 \cdots j_n\),
称为该方阵的一个不同行不同列元素的乘积,或简称为 \(n\) 阶行列式的一项。
把行指标、列指标都写出来时,项可记作 \(a_{i_1 j_1} a_{i_2 j_2} \cdots a_{i_n j_n}\);只写列指标(行指标取自然排列,见下)时可记作 \(a_{1 j_1} a_{2 j_2} \cdots a_{n j_n}\)。
例题 1(写出三阶方阵的六项)
对 \(3\) 阶方阵 \(A = (a_{ij})_{3 \times 3}\),按"行指标为自然排列"写出全部六项。
解 只需让列指标 \(j_1 j_2 j_3\) 取遍所有 \(3\) 阶排列(共 \(3! = 6\) 个):
| 列指标排列 \(j_1 j_2 j_3\) | 对应的一项 |
|---|---|
| \(1\,2\,3\) | \(a_{11} a_{22} a_{33}\) |
| \(1\,3\,2\) | \(a_{11} a_{23} a_{32}\) |
| \(2\,1\,3\) | \(a_{12} a_{21} a_{33}\) |
| \(2\,3\,1\) | \(a_{12} a_{23} a_{31}\) |
| \(3\,1\,2\) | \(a_{13} a_{21} a_{32}\) |
| \(3\,2\,1\) | \(a_{13} a_{22} a_{31}\) |
这六项正是三阶行列式展开式里出现的那六项。
指定行指标或列指标为自然排列¶
写一项要写 \(2n\) 个下标,比较累赘。能不能只写一半?可以——只要借用乘法交换律。
想法
一般项是若干个元素的乘积。既然这些元素关于乘法可交换,我们就可以随意调换它们的次序。于是:能不能通过交换因子的位置,把行指标依次排成 \(1, 2, \dots, n\)?
能。理由是 1.2 的命题:任意排列都可以通过一系列对换化为自然排列。把这一串对换作用在乘积的因子上,就完成了重排。
命题(两种常用写法)
设 \(A = (a_{ij})_{n \times n}\),其中元素关于乘法可交换。则方阵的任意一个"不同行不同列元素的乘积"都可以写成下面两种形式之一:
-
指定行指标为自然排列:存在唯一的 \(n\) 阶排列 \(j_1 j_2 \cdots j_n\),使该项等于
\[ a_{1 j_1} a_{2 j_2} \cdots a_{n j_n}; \] -
指定列指标为自然排列:存在唯一的 \(n\) 阶排列 \(i_1 i_2 \cdots i_n\),使该项等于
\[ a_{i_1 1} a_{i_2 2} \cdots a_{i_n n}. \]
证明
以第一种形式为例。设一般项为 \(a_{i_1 j_1} a_{i_2 j_2} \cdots a_{i_n j_n}\),其中 \(i_1 i_2 \cdots i_n\) 是排列。
把乘积的 \(n\) 个因子重新排序,使行指标从左到右依次为 \(1, 2, \dots, n\)(乘法可交换,允许这样重排)。重排后第 \(k\) 个因子是"第 \(k\) 行中被取到的那个元素",记其列指标为 \(j'_k\),即该项等于 \(a_{1 j'_1} a_{2 j'_2} \cdots a_{n j'_n}\)。
由于原来取的是"不同列"的 \(n\) 个元素,所以 \(j'_1, j'_2, \dots, j'_n\) 两两不同,从而由上面的命题它们构成一个 \(n\) 阶排列。唯一性也是显然的:第 \(k\) 行被取到的元素只有 \(a_{k j'_k}\) 一个,\(j'_k\) 被这一项唯一确定。
第二种形式把"行"与"列"的角色互换即可。
例题 2(同一项的两种写法)
设 \(n = 4\)。项 \(a_{31} a_{12} a_{43} a_{24}\) 是不同行不同列的乘积(行指标 \(3,1,4,2\) 是排列,列指标 \(1,2,3,4\) 也是排列)。把它改写成"指定行指标为自然排列"的形式。
解 按行指标 \(1, 2, 3, 4\) 的顺序重排因子:
此时行指标依次为 \(1, 2, 3, 4\),列指标依次为 \(2, 4, 1, 3\),而 \(2\,4\,1\,3\) 是 \(4\) 阶排列,符合要求。
也可以按列指标 \(1, 2, 3, 4\) 的顺序重排因子(列指标为 \(1, 2, 3, 4\) 的因子依次是 \(a_{31}, a_{12}, a_{43}, a_{24}\)):
此时列指标依次为 \(1, 2, 3, 4\),行指标依次为 \(3, 1, 4, 2\)。两种写法是同一个乘积,只是因子次序不同。
为什么两种写法都要会
后面推导行列式的性质时,有时按行看方便(指定行指标为自然排列),有时按列看方便(指定列指标为自然排列)。两种写法都要能脱口而出,才不会在换视角时出错。
一共有多少项¶
命题(项数)
\(n\) 阶方阵中不同行不同列元素的乘积恰好有 \(n!\) 个。
证明
由前面的命题,每个这样的乘积由一对 \(n\) 阶排列(\(i_1 i_2 \cdots i_n\) 与 \(j_1 j_2 \cdots j_n\))确定;但这会重复计数:同一个乘积可以写成很多对排列(例如 \(a_{11} a_{22} = a_{22} a_{11}\) 对应两对排列)。
换个数法。用"指定行指标为自然排列"的写法:每个乘积唯一对应于一个 \(n\) 阶排列 \(j_1 j_2 \cdots j_n\),即
反过来,任意给定一个 \(n\) 阶排列 \(j_1 j_2 \cdots j_n\),上式都给出一个不同行不同列的乘积。
于是"不同行不同列元素的乘积"与"\(n\) 阶排列"之间建立了一一对应。由 1.2 的命题,\(n\) 阶排列共有 \(n!\) 个,故这样的乘积共有 \(n!\) 个。
把这个结论记住
| \(n\) | \(2\) | \(3\) | \(4\) | \(5\) |
|---|---|---|---|---|
| 项数 \(n!\) | \(2\) | \(6\) | \(24\) | \(120\) |
\(n = 2\) 时 \(2\) 项、\(n = 3\) 时 \(6\) 项,都能用对角线法则写全;\(n = 4\) 时有 \(24\) 项,而对角线只能给出 \(8\) 项——这就是四阶的困难的定量版本。
完整定义预告¶
把上面的准备工作与 1.2 的奇偶性合起来,就得到 \(n\) 阶行列式的完整定义(下一讲的内容):
定义(\(n\) 阶行列式,下一次课)
设 \(A = (a_{ij})_{n \times n}\)。称
为方阵 \(A\) 所确定的 \(n\) 阶行列式,记作 \(\det A\),也常直接记作 \(D\)。
式中求和号 \(\sum\limits_{j_1 j_2 \cdots j_n}\) 表示让 \(j_1 j_2 \cdots j_n\) 取遍所有 \(n\) 阶排列(共 \(n!\) 项);\(\tau(j_1 j_2 \cdots j_n)\) 是该排列的逆序数,\((-1)^{\tau}\) 给出这一项的正负号。
也可以按"指定列指标为自然排列"写成
用这个定义核对二阶与三阶
取 \(n = 2\)。\(2\) 阶排列只有 \(12\) 与 \(21\),\(\tau(12) = 0\)(偶)、\(\tau(21) = 1\)(奇),于是
与二阶行列式的定义一致。
取 \(n = 3\),六个排列的逆序数依次为
带符号求和恰好给出三阶展开式的三正三负,与对角线法则一致。可见对角线法则只是这个定义在 \(n \le 3\) 时的巧合。
易错点¶
四个常见的错
- 把"不同行不同列"当成"在对角线上"。 只有 \(n \le 3\) 时两者才碰巧吻合;\(n = 4\) 时"每行每列各取一个"的取法有 \(24\) 种,而两条广义对角线只给出 \(8\) 种。
- 数项数时按"两个排列"去数。 一对排列确定一个乘积,但一个乘积可以对应很多对排列,直接数排列对会得到 \(n! \cdot n!\),远多于实际项数 \(n!\)。正确做法是固定行指标为自然排列,让列指标跑遍所有排列。
- 重排因子时漏掉乘法可交换这个前提。 "指定行指标为自然排列"这一步依赖元素关于乘法可交换;对乘法不可交换的对象(例如矩阵),不能随意重排因子。
- 把 \(a_{ij}\) 的行列指标读反。 \(a_{ij}\) 的第一个下标是行、第二个是列,与"第 \(i\) 个方程中第 \(j\) 个未知量的系数"是同一个约定。