行列式
注意
本文参照MIT公开课, 可以看成是笔记。
什么是行列式
一个矩阵通常包括很多信息, 比如是否可逆等等。而对于每一个方阵, 都有一个数能够表示关于矩阵的很多信息, 这个数就叫做行列式。(本文从性质入手讲, 推导并不严谨, 不过这些性质都是经过严格证明了的)行列式也可以看做是从矩阵到实数的一个映射。要注意的是只有方阵才有行列式!!!
行列式的表示法
若A为方阵, 则其行列式可表示为:
det(A)或∣A∣
行列式的基本性质
行列式的基本性质有3条, 并且从这三条基本性质能够推出其他性质以及行列式的表达式。下面给出三条基本性质。
①单位矩阵的行列式为1
对于这条性质没有过多的解释, 有点类似于定义, 将单位矩阵映射成为实数中的1, 也符合简便性。
②交换矩阵中的任意两行,所得的矩阵的行列式符号变号
第二条性质表明, 由单位矩阵的行列式可以推出所有置换矩阵的行列式, 如果交换两行再交换回来, 符号不变, 与行列式的唯一性不矛盾。这里其实隐含了置换矩阵的一个性质, 即同一个矩阵经过奇数次行交换所得到的矩阵与经过偶数次行交换所得到的矩阵必然不同。因此, 行列式的符号是惟一的, 行列式也是唯一的, 保证了唯一性。
③对于矩阵某一行的线性组合可以反映到行列式的线性组合上
线性组合这一概念贯穿线性代数的整个学习过程, 行列式也不例外。对于上述性质, 用语言表述不太直观, 下面举例:
∣∣∣∣acbd∣∣∣∣+∣∣∣∣ a′c b′d∣∣∣∣=∣∣∣∣a+a′cb+b′d∣∣∣∣ ∣∣∣∣tactbd∣∣∣∣=t∣∣∣∣acbd∣∣∣∣
第三个性质所表明的线性组合一次只能用于一行, 不能多行一起使用,也就是说两个矩阵的行列式之和不等于两个矩阵之和的行列式。现在使用这几条基本性质, 就能够推出关于行列式的其他所有性质。
行列式的其他性质
④如果一个矩阵至少有两行元素完全相同,那么其行列式为零。
设A为方阵, 且至少有两行元素相同, 现在交换其中的两行得到方阵A′, 显然有A=A′, 由性质二可得:
∣A∣=−∣∣∣A′∣∣∣=−∣A∣
移项便得A的行列式为0。
⑤使用消元法对矩阵进行变换时,行列式不变
这条性质十分重要, 给出了原始矩阵与消元之后矩阵的行列式的关系, 由基本性质推导出来也不难, 还是以 2×2 的矩阵为例:
∣∣∣∣ac−tabc−tb∣∣∣∣ =∣∣∣∣acbd∣∣∣∣−∣∣∣∣atabtb∣∣∣∣=∣∣∣∣acbd∣∣∣∣−t∣∣∣∣aabb∣∣∣∣=∣∣∣∣acbd∣∣∣∣
⑥方阵中至少有一行为零则行列式为零
同样的给出一个简短的推导:
∣∣∣∣0c0d∣∣∣∣ =∣∣∣∣t×0ct×0d∣∣∣∣=t∣∣∣∣0c0d∣∣∣∣ ⇒ ∣∣∣∣0c0d∣∣∣∣=0
⑦三角矩阵的行列式等于主对角线元素的乘积
比如现在有一个 3×3 的矩阵:
A=⎣⎡d100a1d20a2a3d3⎦⎤ det(A)=d1d2d3
简单地推导一下, 上述矩阵使用消元法可变为:
⎣⎡d1000d2000d3⎦⎤
行列式不变, 再对每一行分别使用线性组合性质
∣∣∣∣∣∣d1000d2000d3∣∣∣∣∣∣=d1d2d3∣∣∣∣∣∣100010001∣∣∣∣∣∣=d1d2d3
⑧矩阵不可逆等价于行列式为0
不可逆的矩阵经过消元法变换, 最后一定至少有一行元素全为0, 所以行列式为0。相反地,对于可逆矩阵最后一定得到一个上三角矩阵, 行列式不为0。
⑨矩阵的乘积的行列式等于矩阵的行列式的乘积
对于任何一个不可逆的矩阵, 都能用消元法化为对角矩阵, 此时两个矩阵相乘, 对角线上相同位置的元素也相乘, 再使用三角矩阵行列式性质就能得到结果。
⑩矩阵进行转置变换,行列式不变
对矩阵进行LU分解可得两个三角矩阵, 然后进行转置变换, 对角线上的元素不变, 行列式也就不变。
行列式公式
现在使用上面的性质来得出行列式公式, 先从 2×2 矩阵开始。
∣∣∣∣acbd∣∣∣∣ =∣∣∣∣ac0d∣∣∣∣+∣∣∣∣0cbd∣∣∣∣=∣∣∣∣ac00∣∣∣∣+∣∣∣∣a00d∣∣∣∣+∣∣∣∣0cb0∣∣∣∣+∣∣∣∣00bd∣∣∣∣=∣∣∣∣a00d∣∣∣∣+∣∣∣∣0cb0∣∣∣∣=∣∣∣∣a00d∣∣∣∣−∣∣∣∣b00c∣∣∣∣=ad−bc
由上面的推导过程可以看出, 要计算行列式, 要把整个矩阵拆分, 最终形成每一行只有一个元素的许多矩阵。然后将这些矩阵中行列式为0的去除, 就可以得到每一行每一列都只有一个元素的许多矩阵, 一共有n!个, 将这些矩阵进行行交换可以得到对角矩阵, 由对角矩阵直接得出结果。
同样的, 对于维数更多的矩阵, 我们也能使用这种方法计算, 最终的结果可以看做是很多个对角矩阵的行列式之和, 而这些行列式的符号由交换次序决定。用公式可以表示为:
det(A)=Σ±a1αa2βa3γ...anω (α,β,γ,... ,ω)为(1,2,3,... ,n)的一个排列 代数符号取决于排列之间的距离,偶数为正,奇数为负。
其中隐含了不同排列之间的 kendall tau 距离, 也就是逆序数, 可以引申到逆序对算法, 将数学与算法之间的桥梁打通, 不过这里不讨论具体算法。
公式与性质之间的关系
看上去是从性质推出了公式, 但实际上性质也可以算作公式的产物, 两者是可以互推的。或者说, 这个公式与基本性质是等价的。(又到了离散数学的范畴)
代数余子式
观察行列式的表达式可以发现, 将每一项中的一个元素除外, 剩下的是n−1的全排列, 代表着低一维的行列式。同时对于方阵来说, 如果除去第i行和第j列, 所剩下的所有元素构成低一维的方阵, 从这两个角度出发可以得出行列式的代数余子式。(有点类似于降阶公式):
det(A)=ai1Ci1+ai2Ci2+... +ainCin
每个元素后面相乘的项叫做该元素的辅因子, 对于 aij 来说, 其辅因子的绝对值与去除第i行, 第j列的元素之后所留下的方阵的行列式的绝对值相等, 如果i+j为偶数, 符号相同, 否则符号相反。
逆矩阵的表达式
可以使用代数余子式表示逆矩阵:
A−1=det(A)1CT
其中CT一般称作A的伴随矩阵, 具体是怎么得到的呢?CT中的一个元素cij等于A中对应元素aji的辅因子。
简单验证一下, 先将等式变形为:
det(A)I=CTA
左边第一行第一列的元素等于A中第一行的所有元素与其辅因子的乘积的和, 就等于A的行列式, 而对于第二行第二列, 第三行第三列的元素同样如此。至于那些行数与列数不相同的位置就相当于A中某一行的元素与另一行元素的辅因子的乘积的和。此时,辅因子所表示的低一维的矩阵中包含A中第一次选定的元素, 于是这行元素出现了两次, 所求相当于一个不可逆矩阵的行列式, 结果为0。
克莱默法则
有了逆矩阵的表达式, 现在可以从另一个角度来考虑线性方程组:
Ax=bx=A−1b x=det(A)CTb
现在对于其中某一个解 xj 可以表示为:
xj=det(A)det(Bj) 将A中第j列元素替换成b即可得到Bj
这就是方程的另一种解法, 不过复杂度显然太高, 一般不作为解方程的方法。
行列式与面积
假设现在有一个正方形, 将其中的一个顶点与坐标原点放在一起, 将顶点相邻的两条边与坐标轴重合, 然后将面积与这两条边构成的矩阵的行列式作比较。
首先单位矩阵的行列式为1, 边长为1的正方形面积也是1, 将两个向量的位置互换, 面积不变, 行列式的绝对值也不变。对于行列式的线性组合特性, 一次只能适用于一行, 而对于正方形, 如果只对一条边做线性变化, 那么面积也会做线性变换。
由以上讨论可知面积与行列式的绝对值是相等的, 面积与行列式的绝对值等价。虽然上面只讨论了正方形, 但是由正方形变成平行四边形只需将原本相互垂直的分量加上其他方向的分量, 对应于行列式的消元法变换。平行四边形的面积也与行列式相等。这并不是一条独立的性质, 平行四边形的面积也是在正方形的面积定义上推出的。并不独立于基本性质之外。
对于高维的情形也类似, 体积也与行列式的绝对值一一对应, 同样是从基本性质推出的, 不再讨论。要注意的一点是, 行列式的正负与表示几何体的边的排列顺序有关, 对应的是行列式的第二条基本性质。