5.1 行列式的性质

一、行列式概述

方阵的行列式(determinant)是一个数字,这个数字包含了这个矩阵的大量信息,它可以立即告诉我们这个矩阵是否可逆。当行列式为零时,矩阵不可逆。如果 AAA 是可逆矩阵,则 A−1A^{-1}A1 的行列式是 1/(det⁡A)1/(\det A)1/(detA)。如果 det⁡A=2\det A=2detA=2,则 det⁡A−1=12\det A^{-1}=\displaystyle\frac{1}{2}detA1=21。实际上 A−1A^{-1}A1 中的每个元素都可以由行列式得到一个公式。
行列式的一个用途是 —— 求出逆矩阵、主元和 A−1bA^{-1}\boldsymbol bA1b 解的公式。对于大型矩阵,我们很少使用这些公式,因为用消元法会更快。一个 2×22\times22×2 的矩阵,元素分别是 a,b,c,da,b,c,da,b,c,d,它的逆矩阵 A−1A^{-1}A1 可以由行列式 ad−bcad-bcadbc 得到,注意是除以行列式!A=[abcd]有逆矩阵A−1=1ad−bc[d−b−ca](5.1.1)A=\begin{bmatrix}a&b\\c&d\end{bmatrix}有逆矩阵\kern 5ptA^{-1}=\pmb{\frac{1}{ad-bc}}\begin{bmatrix}\kern 7ptd&-b\\-c&\kern 7pta\end{bmatrix}\kern 10pt(5.1.1)A=[acbd]有逆矩阵A1=adbc1[dcba](5.1.1)这两个矩阵相乘得到 III。当行列式 ad−bc=0ad-bc=0adbc=0 时,这时要除以零,由于除数不能为零,所以这时 AAA 没有逆矩阵。(当 ac=bd\displaystyle\frac{a}{c}=\frac{b}{d}ca=db 时,矩阵的两行是平行的,也会得到 ad=bcad=bcad=bcdet⁡A=0\det A=0detA=0.)相关行一定会得到 det⁡A=0\det A=0detA=0
行列式也和主元有关联,对于 2×22\times22×2 的矩阵的主元是 aaad−cabd-\displaystyle\frac{c}{a}bdacb主元的乘积就是行列式主元的乘积a(d−cab)=ad−bc就是det⁡A\pmb{主元的乘积}\kern 20pta\Big(d-\frac{c}{a}b\Big)=ad-bc\kern 5pt\pmb{就是}\kern 5pt\det A主元的乘积a(dacb)=adbc就是detA一次行交换后主元变成了 cccb−acdb-\displaystyle\frac{a}{c}dbcad,这两个新的主元相乘得到 bc−adbc-adbcad。矩阵进行行交换后 [cdab]\begin{bmatrix}c&d\\a&b\end{bmatrix}[cadb] 会使转行列式的符号反转。n×n 的矩阵的行列式可以由三种方法得到:n\times n\,的矩阵的行列式可以由三种方法得到:n×n的矩阵的行列式可以由三种方法得到:

  1. nnn 个主元相乘(乘 111−1-11\kern 49pt这是主元公式(pivot formula)
  2. n!n!n! 个项相加(乘 111−1-11\kern 44pt这是大公式(big formula)
  3. 组合 nnn 个小一些的行列式(乘 111−1-11\kern 5pt这是代数余子式公式(cofactor formula)

从上面可以看到正号或负号 —— 最终要在 111−1-11 之间做决定 —— 这是行列式中很重大的一部分。它来自于下面的 n×nn\times nn×n 矩阵的行列式规则:当矩阵的两行(或两列)交换后,行列式的符号会改变。\pmb{当矩阵的两行(或两列)交换后,行列式的符号会改变。}当矩阵的两行(或两列)交换后,行列式的符号会改变。单位矩阵的行列式是 +1+1+1,交换两行后有 det⁡P=−1\det P=-1detP=1,再交换两行后得到新的置换矩阵有 det⁡A=+1\det A=+1detA=+1。有一半的置换矩阵是交换偶数次(det⁡P=1\det P=1detP=1),另一半的置换矩阵是交换奇数次(det⁡P=−1\det P=-1detP=1)。2×22\times22×2 的情形,adadad 的符号是正,bcbcbc 的符号是负,行交换后,它们的符号会改变:det⁡[1001],det⁡[0110]=−1\det\begin{bmatrix}1&0\\0&1\end{bmatrix},\kern 5pt\det\begin{bmatrix}0&1\\1&0\end{bmatrix}=-1det[1001],det[0110]=1另外一个重要的法则是线性,但是先给出一个警告:线性并不是说 det⁡(A+B)=det⁡A+det⁡B\det(A+B)=\det A+\det Bdet(A+B)=detA+detB这个绝对是错的! 这种线性甚至是当 A=IA=IA=IB=IB=IB=I 时都不成立。错误的规则是 det⁡(I+I)=1+1=2\det(I+I)=1+1=2det(I+I)=1+1=2,正确的规则是 det⁡2I=2n\det 2I=2^ndet2I=2n。当矩阵乘上 222 时,它的行列式需要乘上 2n2^n2n(不仅是 222)。
我们不用公式定义行列式,我们从它的性质开始 —— 符号反转和线性。首先是性质,然后是公式,最后是应用,包含以下三种:

  1. 用行列式得到 A−1A^{-1}A1A−1bA^{-1}\boldsymbol bA1b(这个公式称为克拉默法则Cramer’s Rule)
  2. 当盒子的边是 AAA 的行时,体积就是 ∣det⁡A∣|\det A|detA
  3. 存在 nnn 个特殊数字 λ\lambdaλ,称为特征值(eigenvalues),A−λIA-\lambda IAλI 的行列式是零。这是一个非常重要的应用。

二、行列式的性质

行列式有三个基本的性质(规则 1,2,31,2,31,2,3),使用这些规则我们可以计算任意方阵 AAA 的行列式。行列式可以写成两种形式,det⁡A\det AdetA∣A∣|A|A。注意:中括号表示的是矩阵,直线表示的是行列式。如果 AAA2×22\times22×2 的矩阵,通过规则 1,2,31,2,31,2,3 我们可以得到答案:[abcd]的行列式是∣abcd∣=ad−bc\begin{bmatrix}a&b\\c&d\end{bmatrix}的行列式是\begin{vmatrix}a&b\\c&d\end{vmatrix}=ad-bc[acbd]的行列式是acbd=adbc通过规则 1−31-313 我们可以得到规则 4−104-10410,最后两个规则是 det⁡(AB)=(det⁡A)(det⁡B)\det(AB)=(\det A)(\det B)det(AB)=(detA)(detB)det⁡AT=det⁡A\det A^T=\det AdetAT=detA。我们会使用 2×22\times22×2 矩阵来检验这些规则,需要记住的是:这些规则适用于所有的 n×nn\times nn×n 的矩阵 AAA
规则 111(最简单的),det⁡I=1\det I=1detI=1 与体积 =1=1=1 的单位立方体相匹配。
1 \kern 5ptn×nn\times nn×n 单位矩阵的行列式是 111∣1001∣=1,∣1 ⋱1∣=1\begin{vmatrix}1&0\\0&1\end{vmatrix}=1,\kern 15pt\begin{vmatrix}1&&\\\,&\ddots&\\&&1\end{vmatrix}=11001=1,11=12 \kern 5pt交换两行,行列式符号会改变(符号反转):检验:∣cdab∣=−∣abcd∣(两边都等于bc−ad)检验:\begin{vmatrix}c&d\\a&b\end{vmatrix}=-\begin{vmatrix}a&b\\c&d\end{vmatrix}\kern 10pt(两边都等于bc-ad)检验:cadb=acbd(两边都等于bcad)由这个规则,我们可以求出任意置换矩阵的行列式 det⁡P\det PdetP,只交换 III 的行,直到得到 PPP,若交换次数为偶数次,则有 det⁡P=+1\det P=+1detP=+1;若交换此时为奇数次,则有 det⁡P=−1\det P=-1detP=1
第三个规则对于所有矩阵的行列式来说是迈了一大步。

3 \kern 5pt行列式对于每个行都是线性函数(其它行保持固定)。
如果 ttt 乘上第一行,则行列式也会被 ttt 乘。如果第一行相加,则行列式也相加。这个规则只有当其它行不变时才适用!注意 cccddd 是如何保持不变的:

任意数 t 乘行 1t 乘行列式∣tatbcd∣=t∣abcd∣  A 的行 1 与 A′ 的行 1 相加:它们的行列式相加∣a+a′b+b′cd∣=∣abcd∣+∣a′b′cd∣\begin{array}{cl}\begin{matrix}\pmb{任意数\,t\, 乘行\,1}\\\pmb{t\,乘行列式}\end{matrix}&{\color{blue}\begin{vmatrix}ta&tb\\c&d\end{vmatrix}=t\begin{vmatrix}a&b\\c&d\end{vmatrix}}~\\\,\\ \begin{matrix}\pmb{A\,的行\,1\,与\,A'\,的行\,1\,相加:}\\\pmb{它们的行列式相加}\end{matrix}&\color{blue}\begin{vmatrix}a+a'&b+b'\\c&d\end{vmatrix}=\begin{vmatrix}a&b\\c&d\end{vmatrix}+\begin{vmatrix}a'&b'\\c&d\end{vmatrix}\end{array}任意数t乘行1t乘行列式A的行1A的行1相加:它们的行列式相加tactbd=tacbd a+acb+bd=acbd+acbd

第一种情形,两边都是 tad−tbctad-tbctadtbcttt 可以提出。第二种情形,两边都是 ad+a′d−bc−b′cad+a'd-bc-b'cad+adbcbc。这些规则同样适用于 n×nn\times nn×n 的矩阵 AAA,行交换也是一样。A=∣488011001∣=4∣122011001∣,∣488011001∣=∣400011001∣+∣088011001∣A=\begin{vmatrix}\pmb4&\pmb8&\pmb8\\0&1&1\\0&0&1\end{vmatrix}=\pmb4\begin{vmatrix}\pmb1&\pmb2&\pmb2\\0&1&1\\0&0&1\end{vmatrix},\kern 20pt\begin{vmatrix}\pmb4&\pmb8&\pmb8\\0&1&1\\0&0&1\end{vmatrix}=\begin{vmatrix}\pmb4&\pmb0&\pmb0\\0&1&1\\0&0&1\end{vmatrix}+\begin{vmatrix}\pmb0&\pmb8&\pmb8\\0&1&1\\0&0&1\end{vmatrix}A=400810811=4100210211,400810811=400010011+000810811规则 333 并没有说明这些行列式是多少(det⁡A\det AdetA444)。
乘法和加法的组合,可以得到一行的任意线性组合,规则 222 可以将这一行放在第一行,然后在交换回去。
这个规则并不是说 det⁡2I=2det⁡I\det 2I=2\det Idet2I=2detI,要得到 2I2I2I,我们需要将每一行都乘上 222,因子 222 要提出来两次:∣2002∣=22=4,∣t00t∣=t2\begin{vmatrix}2&0\\0&2\end{vmatrix}=2^2=4,\kern 20pt\begin{vmatrix}t&0\\0&t\end{vmatrix}=t^22002=22=4,t00t=t2这个就像面积和体积,将一个矩形扩展为原来的 222 被,它的面积会变为原来的 444 倍。将一个 nnn 维的盒子扩展为原来的 nnn 倍,它的体积将会变为原来的 tnt^ntn 倍。这个联系并不是偶然 —— 行列式是等于体积的。
注意这三个特殊的规则 1−31-313,它们可以完全决定 det⁡A\det AdetA 这个数。我们可以通过它们来得到 n×nn\times nn×n 行列式的公式,会比较复杂。后面规则 4−104-10410 也可以通过这三个规则得到,使用这些规则可以让行列式的计算更简单。

4 \kern 5pt 如果 AAA 有两行相等,则 det⁡A=0\det A=0detA=0相等的行检验 2×2 的行列式:∣abab∣=0\pmb{相等的行}\kern 15pt检验\,2\times2\,的行列式:\begin{vmatrix}a&b\\a&b\end{vmatrix}=0相等的行检验2×2的行列式:aabb=0规则 444 是由规则 222 得来的(我们一定要使用这个规则,而不是用 2×22\times22×2 的公式)。交换两个相等的行后,行列式 DDD 要改变符号,但是 DDD 又一样,因为矩阵没有发生变化,则唯一满足 −D=D-D=DD=D 的数字就是 D=0D=0D=0,这个行列式的值一定是 000。(注:这个理由在布尔代数中是不成立的,因为 −1=1-1=11=1,则 DDD 由规则 1,3,41,3,41,3,4 定义。)
有两个相等行的矩阵是没有逆矩阵的,由规则 444det⁡A=0\det A=0detA=0,但是当矩阵没有相等行时,也可能是奇异的且行列式为零!规则 555 是关键,我们可以进行行运算(就像消元法一样)而不改变 det⁡A\det AdetA

5 \kern 5pt从另一行减去某一行的倍数,det⁡A\det AdetA 不变从行 2 减去 l 倍的行 1∣abc−lad−lb∣=∣abcd∣\pmb{从行\,2\,减去\,l\,倍的行\,1}\kern 20pt\color{blue}\begin{vmatrix}a&b \\c-la&d-lb\end{vmatrix}=\begin{vmatrix}a&b\\c&d\end{vmatrix}从行2减去l倍的行1aclabdlb=acbd使用规则 333(线性)将左侧分成右侧加上另一项 −l∣abab∣-l\begin{vmatrix}a&b\\a&b\end{vmatrix}laabb,由规则 444 可得额外的一项是零:它有两行相等。因此规则 555 是正确的(不仅适用于 2×22\times22×2)。
结论: 正常执行从 AAAUUU 的消元步骤不会改变行列式,因此 det⁡A\det AdetA 等于 det⁡U\det UdetU。如果得到了三角矩阵 UUU 的行列式,也就得到了所有矩阵 AAA 的行列式。每一次行交换都会改变符号,因此有 det⁡=±det⁡U\det=±\det Udet=±detU。规则 555 将这个问题缩小至了三角矩阵。

6 \kern 5pt如果矩阵 AAA 有一行全为零,则 det⁡A=0\det A=0detA=0零行∣00cd∣=0,∣ab00∣=0\pmb{零行}\kern 25pt\begin{vmatrix}0&0\\c&d\end{vmatrix}=0,\kern 15pt\begin{vmatrix}a&b\\0&0\end{vmatrix}=0零行0c0d=0,a0b0=0简单证明:将其它行加到零行,行列式不变(规则 555),但是由于矩阵有两个相等的行,所以由规则 444 可知 det⁡A=0\det A=0detA=0

7 \kern 5pt如果 AAA 是三角形矩阵,则 det⁡A=a11a22⋯ann=\det A=a_{11}a_{22}\cdots a_{nn}=detA=a11a22ann= 对角元素的乘积三角形∣ab0d∣=ad,∣a0cd∣=ad\pmb{三角形}\kern 20pt\begin{vmatrix}a&b\\0&d\end{vmatrix}=ad,\kern 15pt\begin{vmatrix}a&0\\c&d\end{vmatrix}=ad三角形a0bd=ad,ac0d=ad假设所有的对角元素都是非零值,我们可以通过消元法将非对角元素的值都变为零!(如果 AAA 是下三角矩阵,下面的行减去它上面每行的乘数倍;如果 AAA 是上三角矩阵,从上面行减去它下面每行的乘数倍。)由规则 555 我们知道消元过程中行列式保持不变 —— 现在的矩阵是个对角矩阵:对角矩阵det⁡[a110a22⋱0ann]=(a11)(a22)⋯(ann)\pmb{对角矩阵}\kern 20pt\det\begin{bmatrix}a_{11}&&&0\\&a_{22}&\\&&\ddots&\\0&&&a_{nn}\end{bmatrix}=(a_{11})(a_{22})\cdots(a_{nn})对角矩阵deta110a220ann=(a11)(a22)(ann)因数 a11a_{11}a11可以通过规则 333 从第一行提出来,然后将 a22a_{22}a22 从第二行提出来,最终将 anna_{nn}ann 从第最后一行提取出来。行列式就是 a11a_{11}a11a22a_{22}a22⋯\cdotsanna_{nn}anndet⁡I\det IdetI,最后使用规则 111det⁡I=1\det I=1detI=1 得到三角矩阵的行列式是它对角元素之积。
如果有一个对角元素 aii=0a_{ii}=0aii=0 会怎样呢?此时三角矩阵 AAA 是奇异的,使用消元法可以得到零行。由规则 555 行列式不变的性质以及规则 666 有零行的矩阵行列式 det⁡A=0\det A=0detA=0,我们得到了一个测试矩阵是奇异还是可逆的很棒的方法。

8 \kern 5pt 如果 AAA 奇异则 det⁡A=0\det A=0detA=0,如果 AAA 可逆则 det⁡A≠0\det A\neq0detA=0奇异[abcd]奇异当且仅当ad−bc=0\pmb{奇异}\kern 25pt\begin{bmatrix}a&b\\c&d\end{bmatrix}奇异当且仅当\kern 3ptad-bc=0奇异[acbd]奇异当且仅当adbc=0证明: 通过消元法将 AAA 变成 UUU。如果 AAA 是奇异的,则 UUU 至少有一个零行,则由规则 555 和规则 666det⁡A=det⁡U=0\det A=\det U=0detA=detU=0。如果 AAA 是可逆的,则 UUU 的主元都在对角线上,由规则 777 知这些非零主元的乘积就得到一个非零的行列式:

主元相乘det⁡A=±det⁡U=±(主元的乘积)(5.1.2)\pmb{主元相乘}\kern 50pt{\color{blue}\det A=±\det U=±(主元的乘积)}\kern 30pt(5.1.2)主元相乘detA=±detU=±(主元的乘积)(5.1.2)

2×22\times22×2 矩阵的主元(如果 a≠0a\neq0a=0)是 aaad−(ca)bd-\displaystyle\Big(\frac{c}{a}\Big)bd(ac)b行列式是∣abcd∣=∣ab0d−(ca)b∣=ad−bc\pmb{行列式是}\kern 20pt\begin{vmatrix}a&b\\c&d\end{vmatrix}=\begin{vmatrix}a&b\\0&d-\displaystyle\Big(\frac{c}{a}\Big)b\end{vmatrix}=ad-bc行列式是acbd=a0bd(ac)b=adbc这是行列式的第一个公式。MATLAB 是使用主元的乘积来求 det⁡A\det AdetA 的。±det⁡U±\det U±detU 中的符号是由行交换的次数是奇数次还是偶数次决定的:+1+1+1−1-11 是用于行交换的置换矩阵的行列式:
没有行交换,P=IP=IP=Idet⁡A=det⁡U=主元的乘积\det A=\det U=主元的乘积detA=detU=主元的乘积,且 det⁡L=1\det L=1detL=1如果 PA=LU,则 det⁡Pdet⁡A=det⁡Ldet⁡U,det⁡A=±det⁡U(5.1.3)如果\,PA=LU,则\,\det P\det A=\det L\det U,\kern 2pt\det A=±\det U\kern 20pt(5.1.3)如果PA=LU,则detPdetA=detLdetUdetA=±detU(5.1.3)

9 \kern 5ptABABAB 的行列式是 det⁡A\det AdetAdet⁡B\det BdetB∣AB∣=∣A∣∣B∣|AB|=|A||B|AB=A∣∣B
乘积规则∣abcd∣∣pqrs∣=∣ap+braq+bscp+drcq+ds∣\pmb{乘积规则}\kern 20pt\begin{vmatrix}a&b\\c&d\end{vmatrix}\begin{vmatrix}p&q\\r&s\end{vmatrix}=\begin{vmatrix}ap+br&aq+bs\\cp+dr&cq+ds\end{vmatrix}乘积规则acbdprqs=ap+brcp+draq+bscq+ds当矩阵 BBBA−1A^{-1}A1 时,这个规则就说明 A−1A^{-1}A1 的行列式是 1/det⁡A1/\det A1/detA

A 乘 A−1AA−1=I所以(det⁡A)(det⁡A−1)=det⁡I=1A\,乘\,A^{-1}\kern 20pt\color{blue}AA^{-1}=I\kern 5pt所以\kern 5pt(\det A)(\det A^{-1})=\det I=1AA1AA1=I所以(detA)(detA1)=detI=1

这个乘积规则是目前为止最复杂的,甚至于 2×22\times22×2 的情况下也需要一些代数运算:∣A∣∣B∣=(ad−bc)(ps−qr)=(ap+br)(cq+ds)−(aq+bs)(cp+dr)=∣AB∣|A||B|=(ad-bc)(ps-qr)=(ap+br)(cq+ds)-(aq+bs)(cp+dr)=|AB|A∣∣B=(adbc)(psqr)=(ap+br)(cq+ds)(aq+bs)(cp+dr)=AB对于 n×nn\times nn×n 的情况,有一个简洁的证明 ∣AB∣=∣A∣∣B∣|AB|=|A||B|AB=A∣∣B 的方法。当 ∣B∣|B|B 不是零时,考虑比值 D(A)=∣AB∣/∣B∣D(A)=|AB|/|B|D(A)=AB∣/∣B,检验比值 D(A)D(A)D(A) 是否有性质 1,2,31,2,31,2,3D(A)D(A)D(A) 一定是行列式且有 ∣AB∣/∣B∣=∣A∣|AB|/|B|=|A|AB∣/∣B=A
性质1III 的行列式)如果 A=IA=IA=I,则比值 D(A)D(A)D(A) 就变为 ∣B∣/∣B∣=1|B|/|B|=1B∣/∣B=1
性质2 (符号反转)当交换 AAA 的两个行后,ABABAB 的两个行也会被交换。因此 ∣AB∣|AB|AB 改变符号,比值 ∣AB∣/∣B∣|AB|/|B|AB∣/∣B 也改变符号。
性质3 (线性)当 ttt 乘上 AAA 的行 111 后,也会有 ttt 乘上 ABABAB 的行 111,行列式就会变成 tttABABAB,所以有比值 ∣AB∣/∣B∣|AB|/|B|AB∣/∣Bttt 乘。
\kern 30ptAAA 的行 111 加到 A′A'A 的行 111 上,则 ABABAB 的行 111 加到 A′BA'BAB 的行 111。由规则 333 得,行列式也会相加 ∣AB∣+∣A′B∣|AB|+|A'B|AB+AB,除以 ∣B∣|B|B 后,比值也相加。
结论: 比值 ∣AB∣/∣B∣|AB|/|B|AB∣/∣B 与定义的 ∣A∣|A|A333 个相同的性质,所以它等于 ∣A∣|A|A。这样就证明了 ∣AB∣=∣A∣∣B∣|AB|=|A||B|AB=A∣∣B。若是 ∣B∣=0|B|=0B=0 的情形,由于 BBB 奇异可得 ABABAB 是奇异的,则 ∣AB∣=∣A∣∣B∣=0|AB|=|A||B|=0AB=A∣∣B=0

10 A\kern 5ptAA 和它的转置 ATA^TAT有相同的行列式转置∣abcd∣=∣acbd∣两边都等于ad−bc\pmb{转置}\kern 5pt\begin{vmatrix}a&b\\c&d\end{vmatrix}=\begin{vmatrix}a&c\\b&d\end{vmatrix}\kern 10pt两边都等于\kern 5ptad-bc转置acbd=abcd两边都等于adbcAAA 是奇异矩阵时(ATA^TAT 也是奇异矩阵),上述方程 ∣AT∣=∣A∣|A^T|=|A|AT=A 就变成了 0=00=00=0;当 AAA 不是奇异矩阵时,AAA 可以进行分解 PA=LUPA=LUPA=LU,两边同时转置 ATPT=UTLTA^TP^T=U^TL^TATPT=UTLT,下面利用规则 999 来证明 ∣A∣=∣AT∣|A|=|A^T|A=AT比较det⁡Pdet⁡A=det⁡Ldet⁡U和det⁡ATdet⁡PT=det⁡UTdet⁡LT比较\kern 10pt\det P\det A=\det L\det U\kern 10pt和\kern 10pt\det A^T\det P^T=\det U^T\det L^T比较detPdetA=detLdetUdetATdetPT=detUTdetLT首先,det⁡L=det⁡LT=1\det L=\det L^T=1detL=detLT=1,这是因为它们的对角线元素都是 111;其次,det⁡U=det⁡UT\det U=\det U^TdetU=detUT,因为三角矩阵转置后对角线元素相同;最后,det⁡P=det⁡PT\det P=\det P^TdetP=detPT,因为 PPP 是置换矩阵,则有 PTP=IP^TP=IPTP=I,所以由规则 999∣PT∣∣P∣=1|P^T||P|=1PT∣∣P=1,又因为 ∣P∣|P|P∣PT∣|P^T|PT 要么等于 111 要么等于 −1-11,所以有 ∣P∣=∣PT∣|P|=|P^T|P=PT。所以,L,U,PL,U,PL,U,PLT,UT,PTL^T,U^T,P^TLT,UT,PT 的行列式相同,可得 det⁡A=det⁡AT\det A=\det A^TdetA=detAT

关于列的重要注释: 每一条对行的规则也适用于列(只需要进行转置,因为 ∣A∣=∣AT∣|A|=|A^T|A=AT)。如果交换两列,则行列式也会改变符号。零列或有两个相等的列都会使得行列式为零。如果使用 ttt 乘上某一列,则行列式也会乘 ttt。行列式对于单个列是线性函数。

三、主要内容总结

  1. 行列式由前三个性质定义:det⁡I=1\det I=1detI=1,符号反转和每行的线性。
  2. 消元后 det⁡A=±(主元的乘积)\det A=±(主元的乘积)detA=±(主元的乘积)
  3. 当且仅当 AAA 不可逆时,行列式为零。
  4. 两个重要性质:det⁡AB=(det⁡A)(det⁡B)\det AB=(\det A)(\det B)detAB=(detA)(detB)det⁡AT=det⁡A\det A^T=\det AdetAT=detA

四、例题

例1】对于矩阵 AAA 进行以下运算,求出 M1,M2,M3M_1,M_2,M_3M1,M2,M3 的行列式:
M1M_1M1:用 (−1)i+j(-1)^{i+j}(1)i+j 乘上每个 aija_{ij}aij,得到棋盘式的符号模式。
M2M_2M2:从 AAA 的行 1,2,31,2,31,2,3 减去它的行 3,1,23,1,23,1,2
M3M_3M3AAA 的行 1,2,31,2,31,2,3 加上它的行 3,1,23,1,23,1,2
M1,M2,M3M_1,M_2,M_3M1,M2,M3 的行列式和 AAA 的行列式有什么关系?[a11−a12a13−a21a22−a23a31−a32a33][row 1−row 3row 2−row 1row 3−row 2][row 1+row 3row 2+row 1row 3+row 2]\begin{bmatrix}\kern 7pta_{11}&-a_{12}&\kern 7pta_{13}\\-a_{21}&\kern 7pta_{22}&-a_{23}\\\kern 7pta_{31}&-a_{32}&\kern 7pta_{33}\end{bmatrix}\kern 20pt\begin{bmatrix}\textrm{row\,1}- \textrm{row}\,3\\\textrm{row}\,2-\textrm{row}\,1\\\textrm{row}\,3-\textrm{row}\,2\end{bmatrix}\kern 20pt\begin{bmatrix}\textrm{row}\,1+\textrm{row}\,3\\\textrm{row}\,2+\textrm{row}\,1\\\textrm{row}\,3+\textrm{row}\,2\end{bmatrix}a11a21a31a12a22a32a13a23a33row1row3row2row1row3row2row1+row3row2+row1row3+row2

解: 这三个行列式的值分别是 det⁡A,0,2det⁡A\det A,0,2\det AdetA,0,2detAM1=[1−11][a11a12a13a21a22a23a31a32a33][1−11],所以 det⁡M1=(−1)(det⁡A)(−1)=det⁡AM_1=\begin{bmatrix}1&&\\&-1&\\&&1\end{bmatrix}\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}\begin{bmatrix}1&&\\&-1&\\&&1\end{bmatrix},\kern 10pt所以\,\det M_1=(-1)(\det A)(-1)=\det AM1=111a11a21a31a12a22a32a13a23a33111,所以detM1=(1)(detA)(1)=detAM2M_2M2 是奇异矩阵,因为它的行加起来是零行,所以行列式为零。
M3M_3M3 的行列式可以由规则 333(每行的线性)分成 888 个行列式之和:∣row 1+row 3row 2+row 1row 3+row 2∣=∣row 1row 2row 3∣+∣row 3row 2row 3∣+∣row 1row 1row 3∣+∣row 3row 1row 3∣+∣row 1row 2row 2∣+∣row 3row 2row 2∣+∣row 1row 1row 2∣+∣row 3row 1row 2∣\begin{vmatrix}\textrm{row}\,1+\textrm{row}\,3\\\textrm{row}\,2+\textrm{row}\,1\\\textrm{row}\,3+\textrm{row}\,2\end{vmatrix}=\begin{vmatrix}\textrm{row}\,1\\\textrm{row}\,2\\\textrm{row}\,3\end{vmatrix}+\begin{vmatrix}\textrm{row}\,3\\\textrm{row}\,2\\\textrm{row}\,3\end{vmatrix}+\begin{vmatrix}\textrm{row}\,1\\\textrm{row}\,1\\\textrm{row}\,3\end{vmatrix}+\begin{vmatrix}\textrm{row}\,3\\\textrm{row}\,1\\\textrm{row}\,3\end{vmatrix}+\begin{vmatrix}\textrm{row}\,1\\\textrm{row}\,2\\\textrm{row}\,2\end{vmatrix}+\begin{vmatrix}\textrm{row}\,3\\\textrm{row}\,2\\\textrm{row}\,2\end{vmatrix}+\begin{vmatrix}\textrm{row}\,1\\\textrm{row}\,1\\\textrm{row}\,2\end{vmatrix}+\begin{vmatrix}\textrm{row}\,3\\\textrm{row}\,1\\\textrm{row}\,2\end{vmatrix}row1+row3row2+row1row3+row2=row1row2row3+row3row2row3+row1row1row3+row3row1row3+row1row2row2+row3row2row2+row1row1row2+row3row1row2除了第一个和最后一个,其余的行都有重复的行,它们的行列式是零,第一个就是 det⁡A\det AdetA,最后一个需要对 AAA 进行两次行交换,所以 det⁡M3=det⁡A+det⁡A=2det⁡A\det M_3=\det A+\det A=2\det AdetM3=detA+detA=2detA

例2】解释如何通过运算得到下面的行列式:det⁡[1−a1111−a1111−a]=a2(3−a)(5.1.4)\det\begin{bmatrix}1-a&1&1\\1&1-a&1\\1&1&1-a\end{bmatrix}=a^2(3-a)\kern 30pt(5.1.4)det1a1111a1111a=a2(3a)(5.1.4)解: 分别从行 111 和行 222 中减去行 333,得到 det⁡[−a0a0−aa111−a]\det\begin{bmatrix}-a&0&a\\0&-a&a\\1&1&1-a\end{bmatrix}deta010a1aa1a然后将列 111 加到列 333,再将列 222 加到列 333,得到下面的一个下三角矩阵,对角元素是 −a,−a,(3−a)-a,-a,(3-a)a,a,(3a),所以 det⁡=(−a)(−a)(3−a)=a2(3−a)\det=(-a)(-a)(3-a)=a^2(3-a)det=(a)(a)(3a)=a2(3a)[−a000−a0113−a]\begin{bmatrix}-a&0&0\\0&-a&0\\1&1&3-a\end{bmatrix}a010a1003a如果 a=0a=0a=0a=3a=3a=3 时,这个行列式是零。若 a=0a=0a=0,会得到一个全 111 矩阵,肯定是奇异的;若 a=3a=3a=3,每一行相加都等于零,也是奇异的。数字 000333 是全 111 矩阵的特征值

例3】使用 MATLAB 计算。希尔伯特矩阵(Hilbert matrix)hilb(n) 的第 i,ji,ji,j 元素是 1/(i+j−1)1/(i+j-1)1/(i+j1)。打印出 hilb(1), hilb(2),…,hilb(10) 的行列式。希尔伯特矩阵很难处理。hilb(5) 的主元是什么?

解: MATLAB 的程序:

for n=1:10							% 打印出 hilb(1)~hilb(10)的行列式
    fprintf('%e\n', det(hilb(n))); 
end
format rat;							% 格式以分数形式输出
[L, U] = lu(hilb(5));				% 对hilb(5)进行LU分解					
disp(U)								% U的主元即hilb(5)的主元

运行结果如下:希尔伯特矩阵数值困难,是病态的。
在这里插入图片描述
例4n=50,100,200,400n=50,100,200,400n=50,100,200,400 时,rand(n) 和 randn(n) 的行列式(实验)的典型值时多少?在 MATLAB 中 “Inf” 是什么意思?

解: MATLAB 的程序:

n = 25;
for i=1:4
    n = n*2;
    fprintf('rand(%d) = %e\n', n, det(rand(n)));	% rand(n)是n×n的方阵,元素是(0,1)内均匀分布的随机数
    fprintf('randn(%d) = %e\n', n, det(randn(n)));	% randn(n)是n×n的方阵,元素是标准正态分布的随机数
end

运行结果如下:在这里插入图片描述
在 MATLAB 中,Inf 代表 ≥21024\geq2^{1024}21024 的数,它的意思是无穷大,MATLAB 允许的最大数 1.999999999999999×21023≈1.8×103081.999999999999999\times2^{1023}\approx1.8\times10^{308}1.999999999999999×210231.8×10308,再多 111999 就是 Inf。

例56×66\times66×6 的全部由 111−1-11 组成的矩阵,求出行列式最大的矩阵。
解 : MATLAB 程序如下:

n = 6;			% n×n 的矩阵				 
p = (n-1)^2; 	% 总共循环 2^p 次
A0 = ones(n); 	% 初始是 n×n 的全 1 矩阵
maxdet = 0;		% 存储最大的行列式
for k = 0:2^p-1
    Asub = rem(floor(k.*2.^(-p+1:0)), 2);	% .^ 表示依次求幂,这里是计算 2 的 -p+1~0 次方;k.* 是 k 依次乘上此向量的每个数;
    										% floor(x) 得到小于或等于 x 的整数; rem(a,b) 得到 a/b 的余数,a 可以是向量
    A = A0;
    A(2:n, 2:n) = 1 - 2*reshape(Asub, n-1, n-1);	% reshape(Ausb, n-1, n-1) 将 Ausb 重构为 n-1 × n-1 的矩阵;
    												%最终结果赋值给矩阵 A 的 2~n 行 × 2~n 列
    if abs(det(A)) > maxdet
        maxdet = abs(det(A)); 		% 得到最大的行列式 maxdet
        maxA = A;					% 最大行列式的矩阵 maxA
    end
end
fprintf('maxA =\r\n');
disp(maxA);
fprintf('maxdet = %d\n', maxdet);

6×66\times66×6 的所有元素都是 111−1-11 的矩阵,转换成 5×55\times55×5 的所有元素是 000111 的矩阵问题。将六行都乘上 111−1-11,使得第一列的元素都是 111,然后将六列都乘上 111−1-11,使得第一行的元素都为 111,这些变换不会使得行列式的绝对值变化,故只需要遍历右下角的 5×55\times55×5 的全元素都是 111−1-11 的行列式,找到最大的行列式,然后输出相应的矩阵。
上述 MATLAB 程序中的 Asub = rem(floor(k.*2.^(-p+1:0)), 2); 这里的 Ausb 是一个 1×p1\times p1×p 的矩阵,它的变化是 [⋯000]→[⋯001]→[⋯010]→[⋯011]→[⋯100]→⋯\begin{bmatrix}\cdots&0&0&0\end{bmatrix}\rightarrow\begin{bmatrix}\cdots&0&0&1\end{bmatrix}\rightarrow\begin{bmatrix}\cdots&0&1&0\end{bmatrix}\rightarrow\begin{bmatrix}\cdots&0&1&1\end{bmatrix}\rightarrow\begin{bmatrix}\cdots&1&0&0\end{bmatrix}\rightarrow\cdots[000][001][010][011][100]然后通过 A(2:n, 2:n) = 1 - 2*reshape(Asub, n-1, n-1); 将其所有元素变成 111−1-11000 变成 111111 变成 −1-11,依次完成子矩阵的全部遍历。程序运行结果如下,n=6n=6n=6 时比较耗时,大约几分钟:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值