行列式的计算。
余子式 和 代数余子式
矩阵A, 余子式Mij就是去掉了 i行和j列之后变小了的矩阵M的行列式。
代数余子式就是考虑上符号而已, 在 Mij 的基础上,(i+j)是奇数就是负号。
首先行列式有几个性质:
交换某两行/列,det 符号改变
转置不改变det的值;
行向量加加减减不改变det的值;
列向量加加减减不改变det的值;
某行或者某列都乘以一个系数k,行列式值也变k倍;
行列式的分拆公式 矩阵A的某一行可以分解为 两个向量p、q之和。 那么det(A) = det(B)+ det(C), 其中B、C只有一行是不同的,分别为p,q。
行列式的展开,沿着某一排展开 代数余子式Aij*aij的和。
行列式的计算, 一般二阶三阶行列式都是直接算的。
四五阶的就先通过行向量加减乘/转置 等方法让某一行尽可能多的0, 再展开计算。
这里踩到了几个坑。
A = [ a1 a2 a3 .... ] 这里的ai是列向量。 A‘ 表示转置,此时ai就变成了行向量。
在行向量加加减减的时候,注意新向量放置的位置!!
ai - aj 的结果应当放回第 i 行。如果放在第 j 行, 就相当于进行了一次行互换,det的符号被改变了。
为了尽可能让某一行多一些0, 经常需要 放缩某行再加加减减,
例如 ai - k*aj 的情况, 这种情况是不改变 det的值的,根据行列式的分拆公式, 拆出来的k*aj 对应的新矩阵C,det是0,因为有两行是成比例k的.
但是如果是 k*ai - aj, 这个时候就跪了,因为行列式的值被放缩了 k 倍。。 就是这细节导致的我好几题一直觉得是答案错了