矩阵行列式

矩阵行列式

对于一个 \(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)\)

\(\displaystyle |A|=\sum (-1)^{f(p)} \Pi A_{i,p_i}\),其中 \((-1)^{f(p)}\) 也记作 \(\sigma(p),\text{sgn}(p)\)

\[ \ \]

矩阵行列式的性质:

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)\)