行列式
日期:2015-05-13 10:54:37
最后更新日期:2017-05-26 22:28:56
一. 引子-有向面积
我们知道平行四边形的面积可以用向量的叉积来表示:
$$
S = \vec A \times \vec B
$$
将上诉分别用来向量空间的基表示向量A和B:
$$
S = ( a_{11} \vec i + a_{12} \vec j ) \times ( b_{11} \vec i + b_{12} \vec j )
$$
根据向量叉乘的交换率展开为:
$$
S = a_{11}b_{11} \vec i \times \vec i + a_{11}b_{12} \vec i \times \vec j + a_{12} b_{11} \vec j \times \vec i + a_{12}b_{12} \vec j \times \vec j
$$
由于ixi与jxj等于0, 若定义ixj为正,那么jxi则为负。即:
$$
S = a_{11}b_{12} - a_{12} b_{11}
$$
根据上式的右边, 面积可能出现负数,据此引申出有向面积。机智如你肯定发现上式为2x2方阵的行列式。
二. 平行2n边体的有向体积
对于一个n维空间的平行2n边体的体积,同样可以表示如下:
$$
V =\vec A \times \vec B \times \vec C \times \vec D \times \quad ...
$$
同样改写成向量空间基的叉乘方式
$$
V = (a_{11}\vec i + a_{12} \vec j + a_{13} \vec k + \quad ... ) \times (b_{11}\vec i + b_{12} \vec j + b_{13} \vec k + \quad ...) \times (c_{11}\vec i + c_{12} \vec j + c_{13} \vec k + \quad ...) \times \quad ...
$$
同样这里出现了n维空间的基i,j,k...。这里会发生一个奇怪的问题。比如考虑在三维空间,这个ixjxk叉乘表示什么方向呢?
$$
\vec i \times \vec j \times \vec k ?
$$
这三个叉乘结果的方向其实已经到了第四维的空间去了。比如二维里面的向量i叉乘向量j的方向需要在第三维空间表示。根据数学上的推理,假设n为第四维的单位向量,那么满足如下
$$
\begin{align*}
& \vec i \times \vec j = \vec k \\
& \vec j \times \vec k = \vec n \\
& \vec n \times \vec i= \vec j
\end{align*}
$$
这样从而可以方便计算三维空间里面向量基的叉乘,同理,推广到n维空间。
对于n维空间的基全排列,若将这些基按顺序叉乘定义为正,那么其他排列的正负符号怎么确定?大体思路为通过一定的转换,将其他排列转换到基的连续叉乘上面。简单论证可以得出如下两条结论:
1. 如果相邻的两个基交换顺序,则正负符号改变。
2. 根据1可以得出,交换任意的两个基,则正负符号也会改变。
对于任意一个基的排列,基的定义即前面描述的的i,j,k等空间中坐标轴的单位向量,变换到特定顺序i,j,k...符号改变的次数。其实这是一个排序问题。而已经定义好了“交换”的概念。那么通过简单的冒泡法即可知道需要交换的次数m。 -1的m次幂即为该排列最终的正负。这里仅仅影响为m是偶数还是奇数的问题。
逆序数可以解释一种排序方法, 用一个例子来说明。假设排序3 1 2, 排序规则为从小到大。 逆序数的定义,3后面的1和2都比3小,则3的逆序数为2, 1后面的没有比1更小的数,1的逆序数为0,那么整体逆序数为2。
排序过程如下:
得到最小的数:
从最后面的数依次循环往前和第一个数比较,若小于则交换,大于则不交换。交换过程如下:
2和3交换,序列更新为2 1 3。
1和2交换,序列更新为1 2 3。
交换次数为2。
得到第2小的数:
3和1比较, 不交换。
2和1比较, 不交换。
交换次数为0。
结论: 行列式可以表示平行2n边体的体积或2维平行4边形的面积。
三. 行列式与方程组
从历史上看,前人是先研究出行列式与方程组的关系。行列式可以作为方程组是否有唯一解的判定条件。方程组可以写成如下矩阵的形式。
$$
Ax = b
$$
行列式为0为方程组无唯一解的充要条件。证明:
1. 方程组无解,则行列式为0。很好论证,方程组无解,则某一个方程是多余的,可以由其他方程线性表示出来。则该可以由其它方程线性表示的方程系数为0,有一行全为0的行列式为0.
2. 行列式为0,是不是一定有一行的系数全为0呢?
首先行列子有如下性质:
$$
\left|\begin{array}
... & ... & ... & ... \\
a_{i1} & a_{i2} & ... &a_{in}\\
a_{j1} & a_{j2} & ... & a_{jn}\\
... & ... & ... & ...
\end{array}\right | = \left|\begin{array}
... & ... & ... & ... \\
a_{i1} & a_{i2} & ... &a_{in}\\
a_{j1} + k*a_{i1} & a_{j2} + k*a_{i2} & ... & a_{jn} + k*a_{in} \\
... & ... & ... & ...
\end{array}\right |
$$
这个性质表明了当我们应用消元法解方程时,行列式的是不变的。当我们消元为一个右上三角矩阵时,若行列式为0,则右下角的元素为0,则最下面一行全为0。此时方程组无唯一解。即证。
从这里我们可以得出,将一个方阵转化为一个对角矩阵,则行列式可以方便求出。同时,也可以方便证明行列式的乘法法则:
$$
det(AB) = det(A)*det(B)
$$
即将A和B分别转化为对角矩阵即可。从这个等式,可以将一个平行2n边体描述为一个方阵,进行一个变换矩阵A,则变换后的体积增大了det(A)倍即放大系数。同样若变换矩阵A的行列式为0,则变换后的体积为0了。这就是类似维度被降低了,哎,现在还没来得及看《三体》的降维打击。
结论: 行列式是否为0,可以作为方程组唯一解的判定条件。 行列式为0的矩阵可以实施降维打击。
附录:
1. 行列式一
2. 维基百科行列式