矩阵行列式
矩阵行列式
对于一个$n$行$n$列的矩阵$A$,有矩阵的行列式(常用$\det(A),|A|$)表示
行列式的意义
如果将矩阵的每一行视为一个$n$维向量,则$n$阶行列式的意义可以看做是:
有向长度/面积/体积在$n$为空间下的扩展
具体的例子
$n=1$时,$|A|=A_{1,1}$,即有向长度
$n=2$时,$|A|=A_{1,1}A_{2,2}-A_{1,2}A_{2,1}=\vec{A_1}\times \vec{A_2}$
因此也可以得到常用的一个3维向量外积的表达式
$\vec{a}\times \vec{b}=\begin{vmatrix} \vec{x}\ \ \vec{y}\ \ \vec{z} \\ a_1\ a_2\ a_3\\ b_1\ b_2\ b_3\end{vmatrix}$
其中$\vec{x},\vec{y},\vec{z}$是三维平面的三个维度的单位向量
上式即将有向体积中的一个向量改为单位向量后压缩到一个平面上
最基本的求法:
枚举$1,2,\cdots,n$的一个排列$p_i$,设排列$p$的逆序对为$f(p)$
则$\begin{aligned} |A|=\sum (-1)^{f(p)} \Pi A_{i,p_i}\end{aligned}$
矩阵行列式的性质:
1.交换任意两行(列)得到矩阵$A’$,则$|A’|=-|A|$ (交换后每个排列$f(p)$的奇偶性改变)
2.对于某一行(列)乘上一个值$k$得到矩阵$A’$,则$|A’|=k|A|$
3.某一行减去另一行的$k$倍得到矩阵$A’$,则$|A’|=|A|$
根据性质得到的快速求法
根据性质1,2,3可以对于矩阵进行高斯消元
而对于一个上三角/下三角矩阵,带入上面的基本求法,显然能够得到非0值的排列只有对角线$p_i=i$
因此得到上/下三角矩阵之后就可以快速求解,复杂度为高斯消元的$O(n^3)$