矩阵行列式推导
本文试图从几何意义出发, 定义出矩阵的行列式及其计算公式
推导过程
考虑一个 $n*n$ 的矩阵.定义一个有关于它的函数 V, V的值等于该矩阵的n个行向量在n维空间中所张成的平行超多面体的体积.
- $n=1$ 时, V即为1维有向长度
- $n = 2$ 时, V即为2维行向量张成的平行四边形有向面积
- $n=3$ 时, V即为3维行向量张成的平行六面体的有向体积
考虑一般的情形, 设矩阵的行向量依次为 $R_1,R_2,…R_n$
V 可视作关于它们的多元函数
\[V=f(R_1,R_2,...,R_n)\tag{1}\]任取其中一个变元$R$ , 固定其余行向量, V则成为 $R$ 的单变量函数:
\[V=f(R)\tag{2}\]下面考虑 $f$ 的性质.
在其余向量不变的前提下, $R$ 沿着自身方向伸缩, 超多面体的体积应该发生等比例的变化. 于是有
\[f(kR)=kf(R)\tag{3}\]其中k是任意常数标量
这样意味着, 如果 $A$, $B$ 是共线的两个向量, 有
\[f(A+B)=f(A)+f(B)\tag{4}\]成立.
由于任意向量$R$ 总是可以分解为
\[R=R_{para}+R_{perp}\tag{5}\]其中$R_{para}$ 平行于其余行向量所张成的子空间, 因此对体积无贡献. 任意向量对体积有贡献的部分 $R_{perp}$ 是共线向量, 从而 $(4)$ 对任意的向量均成立.
结合 $(3)$ 和 $(4)$ , 可知 $f$ 关于任一行向量均构成线性函数,即
\[f(αA+βB)=αf(A)+βf(B)\tag{6}\]显然 $(6)$ 可以扩展成任意多个加项的形式.
接着考虑$f$ 的其他性质. 如果任意两个行向量相等, 则多面体发生退化, 此时体积应当为0. 即
\[f(R_1,R_2,..R_n)=0, if\exists i,j,s.t.R_i=R_j\tag{7}\]现在我们可以考虑对 $(1)$ 进行展开.
设
\[R_i =\sum_{j=1}^nr_{ij}\mathbf{e}_j\tag{8}\]其中 $\mathbf{e}_j$ 是标准正交基, $j=1,2,..n$
将 $(8)$ 代入 $(1)$ 式, 考虑性质 $(6)$ , 我们有
\[V=\sum_{1\leq k_1,k_2,...,k_n \leq n}(\prod_{j=1}^n r_{j_{k_j}})f(\mathbf{e}_{k_1},\mathbf{e}_{k_2},...,\mathbf{e}_{k_n})\tag{9}\]其中 $k_1,k_2,..k_n$ 均为1到n的自由指标.
由于性质 $(7)$ , 如果指标序列 $(k_1,k_2,…,k_n)$ 存在任意两项相等, 则它对 $(9)$ 右边的贡献均为0. 因此只需对构成 $(1,2,3,..,n)$ 排列的指标序列求和即可.
接下来考虑 $(7)$ 的一个推论.
交换 $R_1,R_2,…,R_n$ 中的任意两项, 则 $f$ 的值变为原来的相反数. 即
\[f(...,R_i,...R_j,...) + f(...,R_j,...R_i,...) = 0\]简记为
\[f(R_i, R_j) + f(R_j,R_i) = 0 \tag{10}\]这是因为
\[f(R_i,R_j) + f(R_j,R_i) = f(R_i + R_j, R_j) + f(R_i + R_j, R_i) = f(R_i + R_j, R_i + R_j) = 0\]从而可以进一步计算 $(9)$ 式
\[f(\mathbf{e}_{k_1},\mathbf{e}_{k_2},...,\mathbf{e}_{k_n}) = (-1)^sf(\mathbf{e}_1,\mathbf{e}_2,...,\mathbf{e}_n)\]其中s等于通过交换元素使得 $(k_1,k_2,..,k_n)$ 重排为 $(1,2,3,…,n)$ 的操作次数
约定 $f(\mathbf{e}_1,\mathbf{e}_2,…,\mathbf{e}_n)=1$ ,则得到最终的计算式
\[Det=V=\sum_{k_1,k_2,...,k_n}(\prod_{j=1}^n r_{j_{k_j}})(-1)^s \tag{a}\]其中 $(k_1,k_2,..,k_n)$ 遍历 $(1,2,…, n)$ 的全部排列.
下标排列的奇偶性
为明确起见, 我们可以对(a)式中的s给出更明确的定义.
我们用 $P$ 来表示 $(1,2,…,n)$ 的一个排列, 该排列的第 i 个元素表示为 $P(i), i=1,2,…,n$
显然 $P$ 构成 $(1,2,…,n)$ 到自身的双射.
定义:
任取两个不等的下标构成无序数对 ${a,b}$,(即不区分 ${a,b}$ 和 ${b,a}$)
如果有
\[(a-b)(P(a)-P(b))<0 \tag{b}\]则称 ${a,b}$ 是 $P$ 的一个逆序对
我们可以用 $P$ 的逆序对个数来定义s的值.
定义:
\[S(P)=(-1)^{P的逆序对个数}\]推论:
-
设 $I$ 是恒等映射, 则
\[S(I)=1 \tag{c}\]这是显然的, 根据 $(b)$ 式中对逆序对的定义, 恒等映射的逆序个数显然为0.
-
互逆的排列逆序对个数相等,从而
\[S(P)=S(P^{-1}) \tag{d}\]Proof.
$P$ 的任意一个下标对 ${i,j}$ 和 $P^{-1}$ 的下标对 ${P(i),P(j)}$ 构成一一对应, 且容易根据(b)式可知,两者判别逆序性的式子相等.于是两者总是同为逆序对或者同不为逆序对.
-
从 $P$ 中任取两个两个下标 $i,j$ ,交换其映射值得到新排列 $Q$, 则
\[S(P)=-S(Q) \tag{e}\]Proof.
任取一个下标组合来考虑.
-
如果该组合不包含下标 $i$ 和 $j$ 中的任何一个,则 $P,Q$ 关于在这两个下标上的取值完全相同, 于是这些下标组合中逆序对数相等.
-
如果该组合恰好由 $i, j$ 中的一个以及另外一个下标 $k$ 构成. 我们将 ${k,i},{k,j}$ 合在一起考虑.
注意到
\[\begin{align*} (k-i)(P(k)-P(i))(k-j)(P(k)-P(j)) &=(k-i)(Q(k)-Q(j))(k-j)(Q(k)-Q(i))\\ &= (k-i)(Q(k)-Q(i))(k-j)(Q(k)-Q(j)) \end{align*}\]这表明这种下标组合的逆序对数奇偶性相同.
-
该组合恰好是 ${i,j}$ 本身. 显然有
\[(i-j)(P(i)-P(j))=-(i-j)(Q(i)-Q(j))\]
由上面的讨论可以知道(e)成立.
-
行列式的计算式
基于上面对(a)中s的讨论, (a)式可以写成
\[Det=\sum_P(\prod_{i}^nr_{iP(i)})S(P) \tag{f}\]其中
- $P$ 通过 1到n 的全体排列映射.
- $S(P)$ 由 $P$ 的逆序对数的奇偶性决定, 偶数取1, 奇数取-1
从计算式反推行列式具备的性质
我们也可以从(f)出发,验证性质(6)和性质(7)
性质(6)的证明:
任取其中一个行向量 $R_m$, (f)式的右边可以整理成关于 $R_m$ 各个分量的线性组合的形式,即
\[Det=a_1r_{m1}+a_2r_{m2}+...+a_nr_{mn}\]这可以看作
\[Det(R_m)=A·R_m\]其中 $A=(a_1,a_2,…,a_n)$ 是一个和 $R_m$ 无关的向量.于是, 如果 $R_m=αB+βC$, 则
\[Det(αB+βC)=A·(αB+βC)=αA·B+βA·C=αDet(B)+βDet(C)\]从而得到了性质(6), 矩阵行列式关于任意一行都可以”线性展开”.
性质(7)的证明:
若矩阵的第s行和第t行相等, 我们考虑(f)式的值. 对任意排列P, 都存在唯一的排列Q, Q和P关于s和t的取值相反, 在其他值上取值相同.于是和式中关于P和Q的两项的系数乘积式子相等.由于Q可由P经一次对换元素得到,由前面的讨论(e)可知 $S(P)=-S(Q)$ ,因此关于排列P的和项与关于排列Q的和项恰好相抵,(f)式右边和项两两成对抵消,可知其行列式值为0.
几个重要推论
推论1.
\[det(A)=det(A^T)\]其中 $A^T$ 表示 $A$ 的转置,$A$ 的转置的第i列等于A的第i行.即如果用 $r_{ij}$ 和 $r’_{ij}$ 分别表示 $A$ 和 $A^T$ 第i行第j列对应的元素, 则
\[r'_{ij}=r_{ji}\]Proof.
考虑Det(A)和式中任意一项, 设该和式对应的排列为P, 注意到
\[\prod_{i}^nr_{iP(i)}S(P)=\prod_{i}^nr'_{P(i)i}S(P)\] \[\prod_{i}^nr'_{P(i)i}=\prod_{i}^{n}r'_{iP^{-1}(i)}\] \[S(P)=S(P^{-1})\]可见 $Det(A)$ 和式中排列为P的加项一一对应 $Det(A^T)$ 和式中排列为 $P^{-1}$ 的加项, 且两者值相等.因此矩阵的行列式和其转置的行列式相等.
推论2.
\[Det(AB)=Det(A)Det(B)\]Proof.
注意到 $AB$ 的第 $i$ 行等于矩阵 $B$ 的行向量关于 $A$ 的第 $i$ 行系数的线性组合. 即:
\[Row(AB)_i= a_{i1}Row(B)_1 + a_{i2}Row(B)_2+..+a_{in}Row(B)_n\]由于(8)和(9)式, 把 $\mathbf{e_i}$ 替换为 $Row(B)_i$, 即可得推论2成立.
推论3.
若矩阵的行向量线性相关,则其行列式值为0.
Proof.
证明了(6)和(7)以后即可得到该推论.
推论4.
若矩阵的行向量线性无关,则其行列式的值不为0.
Proof. 此时该矩阵存在逆矩阵 $M^{-1}$ , 由于 $1=Det(I)=Det(MM^{-1})=Det(M)Det(M^{-1})$ 可得结论.