接下来,让我们重磅介绍:方块矩阵的标量体积——行列式。它不仅被用于计算面积与线性变化对最终结果的影响倍率,也可以用于确定线性方程组解的个数以及形式,甚至也可以计算逆矩阵。这么厉害的东西,你一定已经迫不及待得想学了吧
算算面积
让我们来算算这个由向量a和b生成的平行四边形的面积~
a= [30],b= [11]
就像这样:
很简单,面积S等于底乘高,也就是S=3×1=3。
好,让我们把这个问题一般化,就像这样:
a= [x1y1],b= [x2y2]
无从下手?这张图能帮你理清思路:
首先,大长方形的蓝色面积是(x1+x2)⋅(y1+y2),需要减去部分的灰色面积是2x2⋅y1+x1⋅y1+x2⋅y2,那么蓝色部分减去灰色部分的面积就是我们要求的S,即S=x1⋅y2−x2⋅y1。
二阶行列式
上面的式子用行列式表示,就是正对角线的乘积减去反对角线的乘积:
S=∣∣∣∣x1y1x2y2∣∣∣∣=x1⋅y2−x2⋅y1
计算行列式,可以用det(A)或者∣A∣表示。
这个2×2矩阵的行列式,被称作二阶行列式,表示这两个向量生成的平行四边形的面积。(不过需要注意的是,这里的“面积”也有可能是负数值,这与向量的顺序有关)
以此类推,那么三阶行列式就是表示三个向量生成的平行六面体的体积,甚至还可以计算更高的维度……
多维下的行列式
在n维的下的行列式计算,遵循下面这个规则:
det(A)=i=1∑n(−1)1+i⋅ a1,i⋅ det(A1i)
看不懂?没关系,我们举个例子来说明一下。比如,计算下面这个三阶行列式:
∣∣∣∣∣∣12054−20−10∣∣∣∣∣∣
提前说明,对于公式中的A1i,表示矩阵A中去掉第i行,第j列的部分。比如在我们现在计算行列式,需要现在这三个矩阵:
A11=[4−2−10],A12=[20−10],A13=[204−2]
通过计算,它们的行列式的值分别为-2,0,-4。所以:
det(A)=1×(−2)−5×0+0×(−4)=−2
而对于更高阶的行列式的计算,需要多次嵌套直到变成求二阶行列式。这似乎太麻烦了,有没有一种快捷一点的计算方式呢?
为了简洁,后面我们将使用Cij来简化我们的表达:
Cij=(−1)i+j⋅det(Aij)
准备工作
上面的行列式求和公式只是以第一行来计算。其实,这个公式可以选择任意一行u或者任意一列u来表达,即:
det(A)=i=1∑naiu⋅ Ciudet(A)=i=1∑naui⋅ Cui
所以无论你以任意一行来计算,或者任意一列来计算,每一项的正负性都是交替的:
⎣⎢⎢⎢⎡+−+⋮−+−+−+⋯⋱⎦⎥⎥⎥⎤
既然我们可以从任意一行或者一列来算,我们回到上面的三阶行列式,可以发现第三行有两个0:
∣∣∣∣∣∣12054−20−10∣∣∣∣∣∣
我们用第三行来算:
det(A)=a31⋅C31−a32⋅C32+a33⋅C33
会发现a31和a33都是0,那么我们只用算−a32⋅C32一项就能完成我们的运算了,计算出来发现答案也是-2,准确无误!
行变换与行列式
既然这样,那能不能将这个矩阵像高斯消元一样,用行变换将最后一行除了最后一项全都是0呢?那时我们用最后一行来计算,工作量就能只剩一项了。
答案是可以!
加加减减
首先,对行进行加减操作,不会影响行列式的值。
为什么这样讲呢?我们学过,对于平行四边形的面积,底面不变、高不变的情况下,可以把顶点沿着底面的平行线方向任意移动而不会改变面积。不如我们举个例子:
a=[21]b=[13]
然后,将向量a的−21倍加到向量b上,在图像上就是将蓝色面积向左拉到了y轴,变成了绿色面积:
然后,我们将向量b的−52倍加到向量a上,就是将绿色面积向下拉成了橘色面积:
所以,加减的行变换相当于是把图像拉直靠近坐标轴,方便我们运算,不会改变结果。
提出来!
行列式中的行或者列而已把相同的倍数提出来~这个很好理解吧,就是这样:
∣∣∣∣2141∣∣∣∣=2∣∣∣∣1121∣∣∣∣
交换顺序
在行列式中两行交换,会让结果变号:
∣∣∣∣23−41∣∣∣∣=−∣∣∣∣−2341∣∣∣∣
为什么会这样?因为行数或者列数的交换,打乱了我们行列式计算中(−1)i+j的正负性。
更加具象得说,就是将空间内的坐标轴进行了对调,导致了空间的翻面,所以改变了正负。