线性代数二三事

第2章:作用于线性空间之间的变换

2.5 行列式变换

第2章 作用于线性空间之间的变换

在本节中,我们将研究一种特殊的线性变换:行列式 (Determinant).简单来说,行列式是一个变换det:MnR\det : M_{n} \longrightarrow \mathbb{R}. 需要注意的是行列式不是线性变换, 而是一个关于矩阵列向量的交替多线性函数. 也就是说, 当固定其他列时,它对某一列是线性的;但把整个矩阵作为一个向量来看时,行列式通常不是线性的. 在这个变换(即行列式)中, 我们所研究的对象是n×nn \times n矩阵,意味着我们将不讨论三行四列矩阵的行列式是什么. 同时根据我们所定义的变换,行列式的取值T(M)\vec T(M)为全体实数(在目前阶段我们只研究行列式为实数的情况,行列式为复数的我暂时不做涉及).

行列式为一个多线性映射 (Multi-linear). 我们不妨正式给出多线性映射的定义:

定义 2.12

若定义在矩阵A=(v1v2vn)A = \begin{pmatrix} \vec v_1 & \vec v_2 & \cdots & \vec v_n \end{pmatrix}上的变换P\mathcal{P}满足

P((v1λvi+μuvn))=λP((v1vivn))+μP((v1uvn)),\mathcal{P} \left( \begin{pmatrix} \vec v_1 & \cdots & \lambda \vec v_i + \mu \vec u & \cdots & \vec v_n \end{pmatrix} \right) = \lambda \mathcal{P} \left( \begin{pmatrix} \vec v_1 & \cdots & \vec v_i & \cdots \vec v_n \end{pmatrix} \right) + \mu \mathcal{P}\left( \begin{pmatrix} \vec v_1 & \cdots & \vec u & \cdots & 、\vec v_n \end{pmatrix} \right),

我们称P\mathcal{P}为一个多线性映射.

我们可以将其简单地理解为矩阵中的每一列都满足线性变换的性质,且不同列之间彼此互不干扰, 即对于每一个固定的ii, 当其他列向量保持不变时,P\mathcal{P} 关于第ii个列向量是线性的. 由此我们便可以得出多线性映射里面的一条定理:

定理 2.16

P\mathcal{P}为定义在矩阵AA上的多线性映射,若AA中的某一列元素全部为00,那么P(A)=0\mathcal{P}(A) = 0.

证明

为了简化运算,且不失一般性,我们不妨设矩阵A=(0v2vn)A = \begin{pmatrix} \vec 0 & \vec v_2 & \cdots & \vec v_n \end{pmatrix}, 即假设矩阵AA的第一列全部为零.那么根据多线性映射还有零向量的性质,我们有

P((0v2vn))=P((0+0v2vn))=P((0v2vn))+P((0v2vn)).\begin{aligned} \mathcal{P} \left( \begin{pmatrix} \vec 0 & \vec v_2 & \cdots & \vec v_n \end{pmatrix} \right) &= \mathcal{P} \left( \begin{pmatrix} \vec 0 + \vec 0 & \vec v_2 & \cdots & \vec v_n \end{pmatrix} \right) \\ & = \mathcal{P} \left( \begin{pmatrix} \vec 0 & \vec v_2 & \cdots & \vec v_n \end{pmatrix} \right) + \mathcal{P} \left( \begin{pmatrix} \vec 0 & \vec v_2 & \cdots & \vec v_n \end{pmatrix} \right). \end{aligned}

那么不难发现,我们有P((0v2vn))=2P((0v2vn))\mathcal{P} \left( \begin{pmatrix} \vec 0 & \vec v_2 & \cdots & \vec v_n \end{pmatrix} \right) = 2\mathcal{P} \left( \begin{pmatrix} \vec 0 & \vec v_2 & \cdots & \vec v_n \end{pmatrix} \right), 因此P(A)=0\mathcal{P}(A) = 0.

定理 2.17

P\mathcal{P}为定义在n×nn \times n矩阵AA上的多线性映射. 则对于任意的常数λ\lambda, 有P(λA)=λnP(A)\mathcal{P}(\lambda \vec A) = \lambda^n \mathcal{P}(\vec A).

证明

我们不妨设A=(v1v2vn)A = \begin{pmatrix} \vec v_1 & \vec v_2 & \cdots & \vec v_n \end{pmatrix}, 那么根据定义, λA=(λv1λv2λvn)\lambda \vec A = \begin{pmatrix} \lambda \vec v_1 & \lambda \vec v_2 & \cdots & \lambda \vec v_n \end{pmatrix}, 根据多线性映射的定义,我们有

P((λv1λv2λvn))=λP((v1λv2λvn))=λλP((v1v2λvn))=λnP((v1v2vn)).\begin{aligned} \mathcal{P} \left( \begin{pmatrix} \lambda \vec v_1 & \lambda \vec v_2 & \cdots & \lambda \vec v_n \end{pmatrix} \right) &= \lambda \mathcal{P} \left( \begin{pmatrix} \vec v_1 & \lambda \vec v_2 & \cdots & \lambda \vec v_n \end{pmatrix} \right) \\ &= \lambda \cdot \lambda \mathcal{P} \left( \begin{pmatrix}\vec v_1 & \vec v_2 & \cdots & \lambda \vec v_n \end{pmatrix} \right) \\ & \vdots \\ &= \lambda^n \mathcal{P} \left( \begin{pmatrix}\vec v_1 & \vec v_2 & \cdots & \vec v_n \end{pmatrix} \right). \end{aligned}

P(λA)=λnP(A)\mathcal{P}(\lambda \vec A) = \lambda^n \mathcal{P}(\vec A).

在所有的多线性映射中,我们再定义一种特殊的多线性映射:交替多线性映射 (Alternating Multi-linear).

定义 2.13

n×nn \times n矩阵AA中含有任意两列完全相同的元素时, 多线性映射满足P(A)=0\mathcal{P}(A)= 0, 我们则称P\mathcal{P}为交替多线性映射.

根据这个定义,我们还能得出交替多线性映射的一条性质:

定理 2.18

P\mathcal{P}为交替多线性映射, AAn×nn \times n矩阵. 记矩阵BB为交换AA中的任意两列后得到的矩阵, 则P(A)=P(B)\mathcal{P}(A) = -\mathcal{P}(B).

证明

同样地,为了简化运算以及不失一般性,我们假设交换 AA的第一,二列.即A=(v1v2vn);B=(v2v1vn)A = \begin{pmatrix} \vec v_1 & \vec v_2 & \cdots & \vec v_n \end{pmatrix}; B = \begin{pmatrix} \vec v_2 & \vec v_1 & \cdots & \vec v_n \end{pmatrix}. 根据定义, δ=P((v1+v2v1+v2v3vn))=0\delta = \mathcal{P} \left( \begin{pmatrix} \vec v_1 + \vec v_2 & \vec v_1 + \vec v_2 & \vec v_3 & \cdots & \vec v_n \end{pmatrix} \right) = 0. 再结合多线性映射的性质,我们有

δ=P[v1,v1,,vn]+P[v1,v2,,vn]+P[v2,v1,,vn]+P[v2,v2,,vn]=0.\delta = \mathcal{P}[\vec v_1 , \vec v_1 , \cdots, \vec v_n] + \mathcal{P}[\vec v_1 , \vec v_2, \cdots , \vec v_n] + \mathcal{P}[\vec v_2, \vec v_1, \cdots, \vec v_n] + \mathcal{P}[\vec v_2, \vec v_2, \cdots, \vec v_n] = 0.

因此不难发现P(A)=P(B)\mathcal{P}(A) = -\mathcal{P}(B).

在所有的交替多线性映射中,我们将会重点研究其中一种——行列式 (Determinant),我们先一起看一下行列式的定义:

定义 2.14

假设我们存在一种交替多线性映射det:MnR\det : M_n \longrightarrow \mathbb{R}, 使得det(In)=1\det(\vec I_n) = 1, 我们则称该交替多线性映射det\det为行列式. 通常用det(A)\det(A)来表示矩阵AA的行列式.

可以证明, 对于n×nn\times n矩阵AA而言, det(A)\det(A)存在且唯一. 我们现在已经知道了行列式的定义,那么我们该如何去求解一个具体的矩阵的行列式呢?我们在此之前先引入一些有关排列组合的知识:假设我们现在有nn个元素 : 1,2,3,,n1,2,3,\cdots,n构成的集合TnT_n,我们定义一种作用于这nn个元素上面的双射π\pi,使得对任意的mTn,π(m)Tnm \in T_n , \pi(m) \in T_n.由于π\pi为双射,所以我们知道当mnm \neq n时, π(m)π(n)\pi(m) \neq \pi(n), 且对于任意的rTnr \in T_n,都存在相应的tTnt \in T_n, 使得π(t)=r\pi(t) = r.满足这种条件的映射π\pi被我们称作是关于1n1-n的一个排列 (Permutation). 我们很多时候也用一个2×n2 \times n矩阵π\pi来表示一个排列,在矩阵的第ii列里面, π1i=i;π2i=π(i)\pi_{1i} = i ; \pi_{2i} = \pi(i).下面便是一个当n=5n=5时的例子: (下面的矩阵代表了14,22,33,45,511 \to 4, 2 \to 2, 3 \to 3, 4 \to 5, 5 \to 1的一个排列)

π=(12345π(1)π(2)π(3)π(4)π(5))=(1234542351)\pi = \begin{pmatrix} 1 & 2 & 3 & 4 & 5 \\ \pi(1) & \pi(2)& \pi(3) & \pi(4) & \pi(5) \end{pmatrix} = \begin{pmatrix} 1 & 2 & 3 & 4 & 5 \\ 4 & 2 & 3 & 5 & 1 \end{pmatrix}

那么对于给定的nn而言,我们把所有满足条件的不同排列π\pi所构成的集合称作是关于nn的一个排列群 (Permutation Group),通常用SnS_n表示.

定理 2.19

对于排列群SnS_n而言, Sn=n!\vert S_n \vert = n!.

该定理的证明显而易见. 我们此时需要引入一个至关重要的概念,即排列的符号 (Sign):

定义 2.15

设排列πSn\pi \in S_n, 令kk代表在π\pi中所有满足

{i<jπ(i)>π(j)\begin{cases} i < j \\ \pi(i) > \pi(j) \end{cases}

的有序数对(i,j)(i,j)的数量. 则排列π\pi的符号为sgn(π)=(1)k\sgn(\pi) = (-1)^k.

我们一起来算一下上文提到的排列π=(1234542351)\pi = \begin{pmatrix} 1 & 2 & 3 & 4 & 5 \\ 4 & 2 & 3 & 5 & 1 \end{pmatrix}的符号. 我们知道π(1)=4;π(2)=2;π(3)=3;π(4)=5;π(5)=1\pi(1) = 4 ; \pi(2) = 2 ; \pi(3) = 3 ; \pi(4) = 5 ; \pi(5) = 1. 那么我们先固定i=1i=1, 我们发现:1<2,π(1)>π(2);1<3,π(1)>π(3);1<5,π(1)>π(5)1 < 2 , \pi(1) > \pi(2) ; 1 < 3 , \pi(1) > \pi(3) ; 1<5 , \pi(1) > \pi(5). 因此对于元素i=1i=1而言有三组满足条件的数对; 然后再看元素i=2i=2, 我们发现:2<5;π(2)>π(5)2 < 5 ; \pi(2) > \pi(5), 只有一组满足条件的数对; 对于元素i=3i=3: 3<5;π(3)>π(5)3 < 5 ; \pi(3) > \pi(5), 有一对满足条件的数对; 对于元素i=4i=4: 4<5,π(4)>π(5)4 < 5 , \pi(4) > \pi(5), 有一对满足条件的数对.对于元素i=5i=5而言, 不存在jj使得5<j5 < j, 所以有00对满足条件的数对.那么综合起来一共有66组满足条件的数对,此时排列π\pi的符号即为sgn(π)=(1)6=1\sgn(\pi) = (-1)^6 = 1.

通过排列符号的定义,我们不难发现排列的符号sgn(π)\sgn(\pi)的取值为1或1-1.在n×nn \times n矩阵中,我们便可以把行列式看作是一种矩阵元素之间的排列.

定义 2.16

AAn×nn \times n矩阵, 记(aij)(a_{ij})AA中第ii行,第jj列位置的元素. 那么矩阵AA的行列式为:

det(A)=πSn(sgn(π)i=1n(aπ(i)i)).\det(A) = \sum_{\pi \in S_n} \left( \sgn(\pi) \prod_{i=1}^n (a_{\pi(i) \hspace{0.05cm} i})\right).

例题 2.20

计算二阶矩阵(a11a12a21a22)\begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix}的行列式.

解答 2.20

首先根据定义,我们要找出排列群S2S_2里面的全部元素. 此时有且仅有两种排列,即

π1=(1212);π2=(1221).\pi_1 = \begin{pmatrix} 1 & 2 \\ 1 & 2\end{pmatrix} ; \pi_2 = \begin{pmatrix} 1 & 2 \\ 2 & 1 \end{pmatrix}.

那么,在排列π1\pi_1中,我们发现满足{i<jπ1(i)>πi(j)\begin{cases} i < j \\ \pi_1(i) > \pi_i(j) \end{cases}的有序数对个数为00, 因此sgn(π1)=(1)0=1\sgn(\pi_1) = (-1)^0 = 1; 同理在π1\pi_1中我们有且仅有一对满足条件的排列(1<2;π2(1)>π2(2)1 < 2 ; \pi_2(1) > \pi_2(2)), 则sgn(π2)=(1)1=1\sgn(\pi_2) = (-1)^1 = -1. 随后由定理2.202.20, 我们得到

det(A)=πS2(sgn(π)i=12(aπ(i)i))=sgn(π1)(aπ1(1)1)(aπ1(2)2)+sgn(π2)(aπ2(1)1)(aπ2(2)2).\begin{aligned} \det(A) &= \sum_{\pi \in S_2} \left( \sgn(\pi) \prod_{i=1}^2 (a_{\pi(i) \hspace{0.05cm} i})\right) \\ &= \sgn(\pi_1) (a_{\pi_1 (1) 1}) (a_{\pi_1 (2) 2}) + \sgn(\pi_2) (a_{\pi_2 (1) 1}) (a_{\pi_2 (2) 2}). \end{aligned}

再根据排列的性质,我们知道π1(1)=1;π1(2)=2;π2(1)=2;π2(2)=1\pi_1(1) = 1; \pi_1(2) = 2 ; \pi_2(1) = 2 ; \pi_2(2) = 1, sgn(π1)=1,sgn(π2)=1\sgn(\pi_1)=1,\sgn(\pi_2)=-1. 我们将这些数值代入, 得到

det(A)=(+1)a11a22+(1)a21a12=a11a22a21a12.\begin{aligned} \det(A)&= (+1) a_{11} a_{22} + (-1) a_{21} a_{12} \\ &= a_{11}a_{22} - a_{21}a_{12}. \end{aligned}

因此对于二阶矩阵的行列式而言,我们可以简记为“左上乘右下,减右上乘左下”.那么二阶矩阵的行列式有有什么几何意义呢? 我们设想在平面直角坐标系xOyxOy内有向量v1=(ab)\vec v_1 = \begin{pmatrix} a \\ b \end{pmatrix}v2=(cd)\vec v_2 = \begin{pmatrix} c \\ d \end{pmatrix}, 我们假设v1,v2\vec v_1, \vec v_2不重合,然后我们考虑以v1,v2\vec v_1, \vec v_2为两条邻边所构成的平行四边形.经过割补法等运算,不难求出这个平行四边形的面积为adbc\vert ad - bc \vert, 也正是det(v1,v2)\vert \det(\vec v_1 , \vec v_2) \vert.因此二阶行列式的绝对值的几何意义也是在平面直角坐标系内由v1,v2\vec v_1, \vec v_2为邻边所围成的平行四边形的面积.

例题 2.21

计算三阶矩阵(a11a12a13a21a22a23a31a32a33)\begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix}的行列式.

解答 2.21

我们首先找出S3S_3中的全部元素,它们分别是:

π1=(123123);π2=(123132);π3=(123213);\pi_1 = \begin{pmatrix} 1 & 2 & 3 \\ 1 & 2 & 3 \end{pmatrix} ; \pi_2 = \begin{pmatrix} 1 & 2 & 3 \\ 1 & 3 & 2 \end{pmatrix} ; \pi_3 = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 1 & 3 \end{pmatrix};π4=(123231);π5=(123312);π6=(123321).\pi_4 = \begin{pmatrix} 1 & 2 & 3 \\ 2 &3 & 1 \end{pmatrix} ; \pi_5 = \begin{pmatrix} 1 & 2 & 3 \\ 3 & 1 & 2 \end{pmatrix} ; \pi_6 = \begin{pmatrix} 1 & 2 & 3 \\ 3 & 2 & 1 \end{pmatrix}.

读者不妨尝试自行计算各个排列的符号. 我们最终得到

det(A)=a11a22a33a11a23a23a21a12a33+a21a32a13+a31a12a23a31a22a13.\det(A) = a_{11}a_{22}a_{33} - a_{11}a_{23}a_{23} - a_{21}a_{12}a_{33} + a_{21}a_{32}a_{13} + a_{31}a_{12}a_{23} - a_{31}a_{22}a_{13}.

类似地 ,三阶行列式的绝对值的几何意义是空间直角坐标系中由三组列向量所围成的平行六面体的体积.

nn逐渐增大时,我们所分析的排列数目也会增多,计算也会变得愈发复杂,那么有没有一种可以相对快速地计算行列式的方法呢?当然有,并且答案就在定义2.162.16中: 我们只需要对其中的公式做一些变形转化,便可以得到一个相对简便的计算公式. 我们下面将进行详细地推理:对于n×nn \times n矩阵AA而言,首先回顾我们所给出的定义:

det(A)=πSn(sgn(π)i=1n(aπ(i)i)).\det(A) = \sum_{\pi \in S_n} \left( \sgn(\pi) \prod_{i=1}^n (a_{\pi(i) \hspace{0.05cm} i})\right).

对于一个确定的jj, 记Sn,iS_{n,i}SnS_n中所有满足π(j)=i\pi(j)=i的排列, 那么显而易见

Sn=Sn,1Sn,2Sn,n,Sn,iSn,j=0,(ij).S_n = S_{n,1} \cup S_{n,2}\cup \cdots \cup S_{n,n}, \quad S_{n,i} \cap S_{n,j} = 0, (i\neq j).

由此我们得出

det(A)=πSn,1(sgn(π)i=1n(aπ(i)i))++πSn,n(sgn(π)i=1n(aπ(i)i)).\det(A) = \sum_{\pi \in S_{n,1}} \left( \sgn(\pi) \prod_{i=1}^n (a_{\pi(i) \hspace{0.05cm} i})\right) + \cdots+\sum_{\pi \in S_{n,n}} \left( \sgn(\pi) \prod_{i=1}^n (a_{\pi(i) \hspace{0.05cm} i})\right).

根据定义, 在Sn,iS_{n,i}π(j)=i\pi(j)=i, 因此

πSn,i(sgn(π)i=1n(aπ(i)i))=πSn,isgn(π)aπ(1)1aπ(j)jaπ(n)n=aijπSn,isgn(π)kjaπ(k)k.\sum_{\pi \in S_{n,i}} \left( \sgn(\pi) \prod_{i=1}^n (a_{\pi(i) \hspace{0.05cm} i})\right) = \sum_{\pi \in S_{n,i}} \sgn(\pi) a_{\pi(1)1} \cdots a_{\pi(j)j} \cdots a_{\pi(n)n}= a_{ij} \cdot\sum_{\pi \in S_{n,i}} \sgn(\pi) \prod_{k\neq j} a_{\pi(k)k}.

所以当我们取遍所有的i{1,2,,n}i\in \lbrace 1,2,\cdots,n \rbrace时, 根据定义我们便有

det(A)=i=1naij(πSn,isgn(π)kjaπ(k)k).\det(A) = \sum_{i=1}^n a_{ij} \left(\sum_{\pi \in S_{n,i}} \sgn(\pi) \prod_{k\neq j} a_{\pi(k) k } \right).

此时,我们将重点研究(πSn,isgn(π)kjaπ(k)k)\left(\sum_{\pi \in S_{n,i}} \sgn(\pi) \prod_{k \neq j} a_{\pi(k) k } \right)一项.为了方便研究,我们定义两个特殊的排列f,gf,g:

((12j1)(jj+1n1n)f(12j1)(j+1j+2nj));\begin{pmatrix} (1 & 2 & \cdots & j-1 )&( j & j+1 & \cdots & n-1 & n )\\ & & & & \downarrow f & & & & \\ (1 & 2 & \cdots & j-1 )& (j+1 & j+2 & \cdots & n & j) \end{pmatrix}; ((12i1)(ii+1n1n)g(12i1)(i+1i+2ni)).\begin{pmatrix} (1 & 2 & \cdots & i-1 )& (i & i+1 & \cdots & n-1 & n )\\ & & & & \downarrow g & & & & \\ (1 & 2 & \cdots & i-1 )& (i+1 & i+2 & \cdots & n & i) \end{pmatrix}.

我们此时在矩阵A=(a11a1nan1ann)A = \begin{pmatrix} a_{11} & \cdots &a_{1n} \\ \vdots & & \vdots \\ a_{n1} & \cdots & a_{nn} \end{pmatrix} 中考虑一个小一号的(n1)×(n1)(n-1)\times(n-1)矩阵:

Q=(ag(1)f(1)ag(1)f(2)ag(1)f(n1)ag(n1)f(1)ag(n1)f(2)ag(n1)f(n1)).\vec Q = \begin{pmatrix} a_{g(1)f(1)} & a_{g(1)f(2)} & \cdots & a_{g(1)f(n-1)} \\ \vdots & \vdots & &\vdots \\ \vdots & \vdots & &\vdots \\ a_{g(n-1)f(1)} & a_{g(n-1)f(2)} & \cdots & a_{g(n-1)f(n-1)} \end{pmatrix}.

根据我们对f,gf,g的定义可知,矩阵Q\vec Qi,ji,j的取值有关,我们不妨来取一些特定的i,ji,j从而更好地研究Q\vec Q的性质.

我们首先设i=j=1i=j=1, 那么根据f,gf,g的定义,我们有

Q=(ag(1)f(1)ag(1)f(2)ag(1)f(n1)ag(n1)f(1)ag(n1)f(2)ag(n1)f(n1))=(a22a23a2nan2an3ann).\vec Q = \begin{pmatrix} a_{g(1)f(1)} & a_{g(1)f(2)} & \cdots & a_{g(1)f(n-1)} \\ \vdots & \vdots & &\vdots \\ \vdots & \vdots & &\vdots \\ a_{g(n-1)f(1)} & a_{g(n-1)f(2)} & \cdots & a_{g(n-1)f(n-1)} \end{pmatrix} = \begin{pmatrix} a_{22} & a_{23} & \cdots & a_{2n} \\ \vdots & \vdots & & \vdots \\ \vdots & \vdots & &\vdots \\ a_{n2} & a_{n3} & \cdots & a_{nn} \end{pmatrix}.

我们再看一组取值:设i=n,j=1i = n , j = 1, 那么同样地,我们有

Q=(ag(1)f(1)ag(1)f(2)ag(1)f(n1)ag(n1)f(1)ag(n1)f(2)ag(n1)f(n1))=(a12a13a1na(n1)2a(n1)3a(n1)n).\vec Q = \begin{pmatrix} a_{g(1)f(1)} & a_{g(1)f(2)} & \cdots & a_{g(1)f(n-1)} \\ \vdots & \vdots & &\vdots \\ \vdots & \vdots & &\vdots \\ a_{g(n-1)f(1)} & a_{g(n-1)f(2)} & \cdots & a_{g(n-1)f(n-1)} \end{pmatrix} = \begin{pmatrix} a_{12} & a_{13} & \cdots & a_{1n} \\ \vdots & \vdots & &\vdots \\ \vdots & \vdots & &\vdots \\ a_{(n-1)2} & a_{(n-1)3} & \cdots & a_{(n-1)n} \end{pmatrix}.

读者此时不妨多取几组i,ji,j的值来寻找规律. 事实上,当我们取特定的1i,jn1 \leq i,j \leq n时,我们会发现所得到的(n1)×(n1)(n-1)\times(n-1)矩阵Q\vec Q即为原矩阵AA中除去第ii行与第jj列之后的矩阵. 我们把这样的矩阵Q\vec Q称为辅助因子矩阵.

定义 2.17

n×nn \times n矩阵AA中,我们定义AijA_{ij}为矩阵AA去除第ii行与第jj列之后所得到的(n1)×(n1)(n-1) \times (n-1)矩阵.我们称AijA_{ij}AA在第ii行,第jj列的辅助因子矩阵 (Cofactor Matrix), 我们同时定义AA在第ii行,第jj列位置的辅助因子 (Cofactor)(也称“代数余子式”)为 Aij=(1)(i+j)det(Aij)A^{ij} = (-1)^{(i+j)} \det(A_{ij}).

让我们继续上文的推理:我们此时如果设1i,jn11 \leq i,j \leq n-1, 设矩阵A=(aij)A = (a_{ij}), 那么Aij=(ag(i)f(j))A_{ij} = \left( a_{g(i)f(j)} \right). 定义bij=ag(i)f(j)b_{ij} = a_{g(i) f(j)}, 结合我们在之前所得到的(πSn,isgn(π)kjaπ(k)k)\left(\sum_{\pi \in S_{n,i}} \sgn(\pi) \prod_{k \neq j} a_{\pi(k) k }\right) ,则我们有

(πSn,isgn(π)kjaπ(k)k)=(πSn,isgn(π)kjbg1(π(k))f1(k))=(πSn,isgn(π)t=1n1bg1(π(f(t)))t).\begin{aligned} \left(\sum_{\pi \in S_{n,i}} \sgn(\pi) \prod_{k \neq j} a_{\pi(k) k } \right) &= \left(\sum_{\pi \in S_{n,i}} \sgn(\pi) \prod_{k \neq j} b_{g^{-1}(\pi(k)) f^{-1}(k)} \right) \\ &= \left(\sum_{\pi \in S_{n,i}} \sgn(\pi) \prod_{t=1}^{n-1} b_{g^{-1}(\pi(f(t))) t } \right). \end{aligned}

我们此时定义一个新的排列π=g1πf\pi' = g^{-1} \pi f (π(j)=i)(\pi(j)=i), 那么不难发现

π(n)=g1πf(n)=g1π(j)=g1(i)=n,\pi'(n) = g^{-1} \pi f(n) = g^{-1}\pi(j)=g^{-1}(i) = n,

由此π(n)=n\pi'(n)=n恒成立, 所以我们实际上只对n1n-1个剩余元素进行排列. 此外由排列的性质, 我们有

sgn(π)=sgn(g1πf)=sgn(g1)sgn(π)sgn(f),\sgn(\pi') = \sgn(g^{-1} \pi f) = \sgn(g^{-1})\sgn(\pi)\sgn(f),

sgn(π)=sgn(g)sgn(π)sgn(f1).\sgn(\pi) = \sgn(g) \sgn(\pi')\sgn(f^{-1}).

通过我们对于f,gf,g的定义, 不难发现sgn(g)=j,sgn(f)=i\sgn(g) = j, \sgn(f)=i. 同时由于ff1=gg1=eff^{-1}=gg^{-1}=e (ee为单位元, 即e(i)=ie(i)=i), 所以sgn(f)=sgn(f1)\sgn(f)=\sgn(f^{-1}), 由此我们得到sgn(π)=(1)i+jsgn(π)\sgn(\pi) = (-1)^{i+j} \sgn(\pi'). 因此综合我们之前所得,我们有

(πSn,isgn(π)kjaπ(k)k)=(1)i+jπSn1sgn(π)t=1n1bπ(t)t.\left(\sum_{\pi \in S_{n,i}} \sgn(\pi) \prod_{k \neq j} a_{\pi(k) k } \right) = (-1)^{i+j} \sum_{\pi' \in S_{n-1}} \sgn(\pi') \prod_{t=1}^{n-1} b_{\pi'(t)t}.

通过上式我们不难发现πSn1sgn(π)t=1n1bπ(t)t\sum_{\pi' \in S_{n-1}} \sgn(\pi') \prod_{t=1}^{n-1} b_{\pi'(t)t} 一项即代表(n1)×(n1)(n-1)\times(n-1)矩阵B=(bij)\vec B = (b_{ij})的行列式. 根据定义我们有

B=(b11b12b1(n1)b21b22b2(n1)b(n1)1b(n1)2b(n1)(n1)):=bij=ag(i)f(j)(ag(1)f(1)ag(1)f(2)ag(1)f(n1)ag(n1)f(1)ag(n1)f(2)ag(n1)f(n1)).\vec B = \begin{pmatrix} b_{11} & b_{12} & \cdots & b_{1(n-1)}\\ b_{21} & b_{22} & \cdots & b_{2(n-1)} \\ \vdots & \vdots & \ddots & \vdots\\ b_{(n-1)1} & b_{(n-1)2} & \cdots & b_{(n-1)(n-1)}\end{pmatrix}\overset{b_{ij}=a_{g(i)f(j)}}{:=}\begin{pmatrix} a_{g(1)f(1)} & a_{g(1)f(2)} & \cdots & a_{g(1)f(n-1)} \\ \vdots & \vdots & &\vdots \\ \vdots & \vdots & &\vdots \\ a_{g(n-1)f(1)} & a_{g(n-1)f(2)} & \cdots & a_{g(n-1)f(n-1)} \end{pmatrix}.

由此不难发现B\vec B即为我们之前定义的辅助因子矩阵Q\vec Q. 那么对于我们算选定的jj, 我们便有

πSn1sgn(π)t=1n1bπ(t)t=det(Aij),其中i满足π(j)=i.\sum_{\pi' \in S_{n-1}} \sgn(\pi') \prod_{t=1}^{n-1} b_{\pi'(t)t} = \det(A_{ij}), \quad \text{其中} i \text{满足} \pi(j)=i \text{.}

于是,我们再结合之前的式子,把最开始的aij\displaystyle{\sum a_{ij}}以及关于ii的加和添加到其中来,我们便得到:

det(A)=i=1naij(πSn,isgn(π)kjaπ(k)k)=i=1n(1)i+jaijdet(Aij).\det(A) = \sum_{i=1}^n a_{ij} \left(\sum_{\pi \in S_{n,i}} \sgn(\pi) \prod_{k \neq j} a_{\pi(k) k } \right) = \sum_{i=1}^n(-1)^{i+j} a_{ij} \det(A_{ij}).

我们由此提出以下的定理:它使得我们在计算矩阵的行列式的时候可以利用“降维打击”的方法,把一个高阶行列式化简成低阶行列式.

定理 2.20

AAn×nn \times n矩阵, 则对任意的1i,jn1 \leq i,j \leq n,有

{det(A)=ai1Ai1+ai2Ai2++ainAin=j=1n(1)(i+j)aijdet(Aij)<i>(行列式的按行展开法则)</i>det(A)=a1jA1j+a2jA2j++anjAnj=i=1n(1)(i+j)aijdet(Aij)<i>(行列式的按列展开法则)</i>\begin{cases} \det(A) = a_{i1} A^{i1} + a_{i2} A^{i2} + \cdots + a_{in}A^{in} = \displaystyle{\sum_{j=1}^n (-1)^{(i+j)} a_{ij} \det(A_{ij}) \hspace{0.3cm} <i>(行列式的按行展开法则)</i> }\\ \det(A) = a_{1j} A^{1j} + a_{2j} A^{2j} + \cdots + a_{nj}A^{nj} = \displaystyle{\sum_{i=1}^n (-1)^{(i+j)} a_{ij} \det(A_{ij}) \hspace{0.3cm} <i>(行列式的按列展开法则)</i> } \end{cases}

例题 2.22

计算(132112121)\begin{pmatrix} 1 & 3 & 2 \\ 1 & -1 & 2 \\ 1 & 2 & -1 \end{pmatrix}的行列式.

解答 2.22

我们不妨将该矩阵按第一行展开,那么我们有

det(A)=1det(A11)3det(A12)+2det(A13)=det(1221)3det(1211)+2det(1112).\begin{aligned} \det(A) &= 1 \det(A_{11}) - 3 \det(A_{12}) + 2 \det(A_{13}) \\ & = \det \begin{pmatrix} -1 & 2 \\ 2 & -1 \end{pmatrix} -3 \det \begin{pmatrix} 1 & 2 \\ 1 & -1 \end{pmatrix} +2\det \begin{pmatrix} 1 & -1 \\ 1 & 2 \end{pmatrix}. \end{aligned}

我们知道,对于二阶行列式而言,其结果便是“左上乘右下减去右上乘左下”,所以我们很快便能得到

det(A)=1×(3)3×(3)+2×(3)=12.\det(A) = 1 \times (-3) - 3\times(-3) + 2\times(3) = 12.

定义 2.18

在一个n×nn \times n矩阵中,若(1)i+j=1(-1)^{i+j} = 1, 我们记该位置的符号为++, 若(1)i+j=1(-1)^{i+j} = -1, 我们记该位置的符号为-, 那么该矩阵对应的符号矩阵为

(++++).\begin{pmatrix} + & - & + & - & \cdots \\ - & + & - & + & \cdots \\ \vdots & & & & \end{pmatrix}.

我们可以简记为:位于i=j=1i=j=1位置的符号永远为正,然后任何相邻位置的符号不同. 随后我们会讨论一些求解矩阵行列式的技巧与推论.首先根据定理2.212.21我们知道,不管我们按照哪一行或者哪一列来展开矩阵,所得的行列式的结果不变,因此在展开矩阵的时候我们要挑选尽量形式简单的行或列,比如有元素00的行或列,这样一来我们就可以减少计算量. 同时行列式也是一个交替多线性映射,那么矩阵的行列式也就满足所有交替多线性映射的性质.

推论 2.2

n×nn \times n矩阵AA中,记AA的行列式为det(A)\det(A), 则:

① 若AA中含有任意一行或一列的元素全部为零,或者AA中含有完全相同的两行或两列,则det(A)=0\det(A) = 0;

② 交换AA中的任意两行或者两列,行列式的符号改变;

③ 对于任意的非零常数λ\lambda, 满足det(λA)=λndet(A)\det(\lambda A) = \lambda^n \det(A);

④ 将一行或一列中的元素乘以同一非零常数,然后加到另一行或另一列的对应元素上,det(A)\det(A)不变.

我们发现, 该定理中的第1,2,31,2,3条我们均以在交替多线性映射中证明, 我们在此仅证明第四条结论:

证明

A=(v1v2vn)A = \begin{pmatrix} \vec v_1 & \vec v_2 & \cdots & \vec v_n \end{pmatrix}为了简化运算同时不失一般性,我们便假设将第二列的元素乘以非零常数λ\lambda, 然后加到第一列上,即A=(v1+λv2v2vn)A' = \begin{pmatrix} \vec v_1 + \lambda \vec v_2 & \vec v_2 & \cdots & \vec v_n \end{pmatrix}, 根据交替多线性映射的性质我们有

det(A)=det((v1v2vn))+λdet((v2v2vn)),\det(A') = \det(\begin{pmatrix} \vec v_1 & \vec v_2 & \cdots & \vec v_n \end{pmatrix}) + \lambda \det(\begin{pmatrix} \vec v_2 & \vec v_2 & \cdots & \vec v_n \end{pmatrix}),

det(A)=det((v1v2vn))+0=det(A).\det(A') = \det(\begin{pmatrix} \vec v_1 & \vec v_2 & \cdots & \vec v_n \end{pmatrix}) + 0 = \det(A).

因此行列式的值不变.

定理 2.21

n×nn \times n矩阵A,BA,B中,记A,BA,B的行列式分别为det(A),det(B)\det(A),\det(B), 则:

det(AB)=det(A)det(B)\det(AB) = \det(A) \det(B);

det(A)0\det(A) \neq 0的充要条件是矩阵AA中行向量,列向量彼此线性无关;

③ 当det(A)0\det(A) \neq 0时,det(A1)=1det(A)\displaystyle{\det(A^{-1}) = \frac{1}{\det(A)}};

det(A)0\det(A) \neq 0的充要条件是矩阵AA可逆.

同样地,定理2.212.21还可以进行扩充,这里由于篇幅原因不再展开,读者不妨停下来仔细思考一下,尝试把行列式和向量之间的线性相关, 线性无关, 还有矩阵的秩, 是否可逆等性质联系在一起.

定义 2.19

n×nn \times n矩阵AA中, 定义一个新的矩阵AA': 其中(A)ij=Aij(A')_{ij} = A^{ij}, 即新矩阵中位置(i,j)(i,j)的元素为AA在位置(i,j)(i,j)的辅助因子. 那么矩阵(A)(A')^\top被我们称作是AA伴随矩阵 (Adjugate Matrix), 通常用adj(A)\adj(A)表示. 我们有(adj(A))ij=Aji(\adj(A))_{ij} = A^{ji}.

对于伴随矩阵而言,我们再引出一条非常重要的定理:

定理 2.22

对于n×nn \times n矩阵AA而言,记adj(A)\adj(A)AA的伴随矩阵,则

A(adj(A))=(adj(A))A=(det(A))IA(\adj(A)) = (\adj(A))A = (\det(A))\vec I

特别地,如果AA可逆,我们有:

A1=1det(A)adj(A).A^{-1} = \frac{1}{\det(A)} \adj(A).

我们最后来看一下该定理在求解线性方程组中的应用: 假设我们需要求解线性方程组Ax=b\vec A\vec x = \vec b, 我们设

x=(x1x2xn);b=(b1b2bn).\vec x = \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix};\quad \vec b = \begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_n \end{pmatrix}.

我们此时规定A\vec A可逆,则x=A1b\vec x = \vec A^{-1} \vec b, 再由定理2.222.22, 我们得到

(x1x2xn)=1det(A)(adj(A))b=1det(A)(A11A21An1A12A22An2A1nA2nAnn)(b1b2bn).\begin{aligned} \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix} = \frac{1}{\det(\vec A)} (\adj(\vec A))\vec b = \frac{1}{\det(\vec A)} \begin{pmatrix} \vec A^{11} & \vec A^{21} & \cdots & \vec A^{n1} \\ \vec A^{12} & \vec A^{22} & \cdots & \vec A^{n2} \\ \vdots & \vdots & & \vdots \\ \vec A^{1n} & \vec A^{2n} & \cdots & \vec A^{nn} \end{pmatrix} \begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_n \end{pmatrix}. \end{aligned}

由此我们不难得到:

x1=1det(A)[b1A11+b2A21++bnAn1]x2=1det(A)[b1A12+b2A22++bnAn2]xn=1det(A)[b1A1n+b2A2n++bnAnn].\begin{aligned} x_1 &= \frac{1}{\det(\vec A)} \left[ b_1 \vec A^{11} + b_2 \vec A^{21} + \cdots + b_n \vec A^{n1}\right] \\ x_2 &=\frac{1}{\det(\vec A)} \left[ b_1 \vec A^{12} + b_2 \vec A^{22} + \cdots + b_n\vec A^{n2}\right] \\ &\vdots \\ x_n &= \frac{1}{\det(\vec A)} \left[ b_1 \vec A^{1n} + b_2 \vec A^{2n} + \cdots + b_n\vec A^{nn}\right]. \end{aligned}

我们不难发现,根据之前所给出的定义, b1A1i+b2A2i++bnAnib_1 \vec A^{1i} + b_2 \vec A^{2i} + \cdots + b_n \vec A^{ni}便可以是看作把矩阵A\vec A中的第ii列替换成b\vec b之后所得到的新矩阵的行列式. 这样一来我们便发现了一种全新的求解线性方程组的方法,这便是Cramer 法则 (Cramer's Rule).

定理 2.23

n×nn \times n矩阵A\vec A可逆,那么在线性方程组Ax=b\vec A\vec x = \vec b中, 其解x1,x2,,xnx_1,x_2,\cdots,x_n分别为

x1=det(A1)det(A);x2=det(A2)det(A);;xn=det(An)det(A).x_1 = \frac{\det(\vec A_1)}{\det(\vec A)} ; x_2 = \frac{\det(\vec A_2)}{\det(\vec A)} ; \cdots ; x_n = \frac{\det(\vec A_n)}{\det(\vec A)}.

其中Ak\vec A_k代表将矩阵A\vec A的第kk列替换成b\vec b所得出的新矩阵.

{2.5 练习}

1. 计算下列矩阵的行列式.

A=(123456789)B=(0a0bcd0e0)C=(1bcbc1c1b).A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix} \hspace{0.5cm} B = \begin{pmatrix} 0 & a & 0 \\ b & c & d \\ 0 & e & 0 \end{pmatrix} \hspace{0.5cm} C= \begin{pmatrix} 1 & b & c \\ b & c & 1 \\ c & 1 & b \end{pmatrix}.

2. 我们在n×nn \times n矩阵中,将对角线 : (A)11(A)22(A)nn(A)_{11} - (A)_{22} - \cdots - (A)_{nn}称作是矩阵AA的主对角线. 如果AA中所有位于主对角线以下的元素均为00, 我们称AA上三角矩阵 (Upper Triangular Matrix); 类似地如果AA中所有位于主对角线以上的元素均为00, 我们定义矩阵AA下三角矩阵 (Lower Triangular Matrix).

① 利用排列的知识,证明:当AA为上三角矩阵或下三角矩阵时,其行列式等于主对角线上的元素的乘积;

② 设MM可以写成分块矩阵M=(XA0Y)M = \begin{pmatrix} X & A\\ \vec 0 & Y \end{pmatrix}, 其中X,YX,Y均为方阵.证明:det(M)=det(X)det(Y)\det(M) = \det(X)\det(Y), 同样的结论对与形如(X0BY)\begin{pmatrix} X & \vec 0 \\ B & Y \end{pmatrix}的矩阵同样适用;

③ 求P=(1110211301121312)\mathcal{P} = \begin{pmatrix} -1 & -1 & 1 & 0 \\ 2 & 1 & 1 & 3 \\ 0 & 1 & 1 & 2 \\ 1 & 3 & -1 & 2 \end{pmatrix}的行列式det(P)\det(\mathcal{P}).

3. 下列说法中哪些是正确的?哪些是错误的?如果错误,试着举出一个反例或说明原因.

det(A+B)=det(A)+det(B)\det(A + B) = \det(A) + \det(B) ;

det(A)=det(RREF(A))\det(A) = \det(\mathbf{RREF}(A));

det(A)=det(A)\det(A) = \det(A^\top);

④ 若A=AA^\top = -A, 则det(A)=1\det(A) = -1;

det(AA)>0\det(A^\top A) > 0;

det(I+A)=1+det(A)\det(\vec I + A) = 1 + \det(A);

⑦ 若AA中有一行元素全部为零,则adj(A)\adj(A)中也有一行元素全部为零;

⑧ 若AA可逆,则adj(A)\adj(A)可逆;

4. 证明 : 对任意的3×33 \times 3矩阵AA而言, A2+I0A^2 + \vec I \neq \vec 0.

5. 证明 : 对任意的n×nn \times n矩阵A,BA,B而言, det(A+B)=det(A+B)\det(A + B^\top) = \det(A^\top + B).

6.det(abcd)=2\det \begin{pmatrix} a & b \\ c & d \end{pmatrix} = -2, 求det(220c+112ad222b)\det \begin{pmatrix} 2 & -2 & 0 \\ c+1 & -1 & 2a \\ d-2 & 2 & 2b \end{pmatrix}.

7.Q=(1+x23412+x34123+x41234+x)\mathcal{Q} = \begin{pmatrix} 1+x & 2 & 3 & 4\\ 1 & 2+x & 3 & 4 \\ 1 & 2 & 3+x & 4 \\ 1 & 2 & 3 & 4+x \end{pmatrix}, 据此求det(Q)\det(\mathcal{Q}).

8.det(xy000xy000xyy00x)=det(1aa2a3aa2a31a2a31aa31aa2)=0\det \begin{pmatrix} x & y & 0 & 0 \\ 0 & x & y & 0 \\ 0 & 0 & x & y \\ y & 0 & 0 & x \end{pmatrix} = \det \begin{pmatrix} 1 & a & a^2 & a^3 \\ a & a^2 & a^3 & 1 \\ a^2 & a^3 & 1 & a \\ a^3 & 1 & a & a^2 \end{pmatrix} = 0, 据此求x,y,ax,y,a.

9.A1=(301023311)A^{-1} = \begin{pmatrix} 3 & 0 & 1 \\ 0 & 2 & 3 \\ 3 & 1 & -1 \end{pmatrix}, 求adj(A)\adj(A).

10.AAn×nn \times n矩阵(n2n \geq 2), 证明:

① 对于任意的非零常数λ\lambda, 有adj(λA)=λn1adj(A)\adj(\lambda A) = \lambda^{n-1} \adj(A) ;

adj(A1)=(adj(A))1\adj( A^{-1}) = (\adj(A))^{-1} ;

adj(A)=(adj(A))\adj(A^\top) = (\adj(A))^\top ;

adj(adj(A))=(det(A))n2A\adj(\adj(A)) = (\det(A))^{n-2} A.