行列式的按行/列展开
\(n\)维行列式的值:
\[|A| = \sum_{c_1, \dots, c_n} (-1)^r(s) a_{1,c_1}\dots a_{n, c_n}
\]
其中:
- \(s = {c_1, \dots, c_n}\)为\((1, \dots, n)\)的一个全排列.
- \(r(s)\)为\(s\)的逆序数.
现将\(|A|\)按第\(i\)行展开.
\[|A| = \sum_{c_i=1}^n (-1)^{r(s) - r(s-c_i)} a_{i, c_i} \sum_{s-c_i} (-1)^{r'} a_{1, c_1}\dots a_{k, c_k} \dots a_{n, c_n}
\]
其中:
- \(k \in [1, n], k \neq i\).
- \(r(s - c_i)\)是 \(s-c_i = c_1, \dots, c_k,c_n\)的逆序数.
现在的目标是求出\((-1)^{r - r'}\)的值.
将删除第\(i\)项分为两步进行:
- 将\(c_i\)向后逐个交换位置, 直到\(c_i\)成为序列\(s\)的最后一个数. 这个过程中, 因为交换位置, 逆序数的奇偶性变换次数为\(n - i\).
- 将\(c_i\)删除. 因为它已经是序列的最后一个数了, 所以这个操作不会影响其余的数的逆序数. 令\(j = c_i\), 因为在它前面有\(n-j\)个比它大的数, 所以去掉\(c_i\)后, 逆序数减少\(n-j\). 每减一个1导致一次奇偶性变化. 所以删除\(c_i\)的操作导致\(n-j\)次奇偶性变化.
最后的变化次数为\(2n - i - j\) (\(i, j\)分别为\(a_{i, c_i}\)的行号与列号). 所以:
\[(-1)^{r - r'} = (-1)^{2n - i - j} = (-1)^{i + j}
\]
于是
\[|A| = \sum_{j=1}^n (-1)^{i + j} a_{i, j} M_{i, j}
\]
其中:
\(M_{i, j} = \sum_{s-c_i}(-1)^{r'} a_{1, c_1}\dots a_{k, c_k} \dots a_{n, c_n}\)为\(a_{ij}\)的余子式
(END)
Daniel的学习笔记
浙江大学计算机专业15级硕士在读, 方向: Machine Learning, Deep Learning, Computer Vision.
blog内容是我个人的学习笔记, 由于个人水平限制, 肯定有不少错误或遗漏. 若发现, 欢迎留言告知, Thanks!
Daniel的学习笔记
浙江大学计算机专业15级硕士在读, 方向: Machine Learning, Deep Learning, Computer Vision.
blog内容是我个人的学习笔记, 由于个人水平限制, 肯定有不少错误或遗漏. 若发现, 欢迎留言告知, Thanks!