行列式与矩阵树定理入门

一.行列式及其初等变换.

行列式:行列式是一个定义域为矩阵,值域为数值的函数,记为 ∣ A ∣ |A| A det ⁡ A \det A detA,定义式如下:
∣ A ∣ = det ⁡ A = ∑ p ( − 1 ) C ( p ) ∏ i = 1 n A i , p i |A|=\det A=\sum_{p}(-1)^{C(p)}\prod_{i=1}^{n}A_{i,p_i} A=detA=p(1)C(p)i=1nAi,pi

A A A的长度为 n n n,则 p p p是一个长度为 n n n的排列, C ( p ) C(p) C(p)表示排列 p p p中的逆序对数.

定理1.1 ∣ A ∣ = ∣ A T ∣ |A|=|A^{T}| A=AT,其中 A T A^{T} AT表示 A A A的转置矩阵.

定理1.1说明行列式从行的角度定义与从列的角度定义等价.

定理1.2:将 A A A的某两行交换,则 ∣ A ∣ |A| A变为原来的相反数.

引理1.2.1:若 A A A的某两行相等,则 ∣ A ∣ = 0 |A|=0 A=0.

定理1.3:将 A A A中某一行的元素同时乘上 k k k,则 ∣ A ∣ |A| A变为原来的 k k k倍.

引理1.3.1:若 A A A中的某一行恰好是另一行的 k k k倍,则 ∣ A ∣ = 0 |A|=0 A=0.

定理1.4:将 A A A中某一行乘上 k k k加到另一行上,则 ∣ A ∣ |A| A不变.

通过定理1.4我们可以实现 O ( n 3 ) O(n^3) O(n3)的行列式求解.

首先我们发现对于一个三角矩阵,除了对角线以外的所有的排列至少会有一个位置为 0 0 0,所以三角矩阵的行列式即为对角线乘积.

根据定理1.4我们发现可以直接对矩阵进行高斯消元而使得行列式只有符号发生变化,消成三角矩阵后直接对对角线求积即可.


二.余子式和代数余子式.

余子式:将一个矩阵去掉第 i i i行第 j j j列后的行列式称为在第 i i i行第 j j j列余子式 A i , j A_{i,j} Ai,j.

代数余子式:第 i i i行第 j j j列的代数余子式 M i , j = ( − 1 ) i + j A i , j M_{i,j}=(-1)^{i+j}A_{i,j} Mi,j=(1)i+jAi,j.

余子矩阵:一个矩阵的所有代数余子式构成的矩阵 M i , j M_{i,j} Mi,j.

转置矩阵:对于一个矩阵 A A A,其转置矩阵 A T A^{T} AT满足 A i , j T = A j , i A^{T}_{i,j}=A_{j,i} Ai,jT=Aj,i.

伴随矩阵:一个矩阵的余子矩阵的转置矩阵.

定理2.1:矩阵 A A A的伴随矩阵 C C C满足:
C = A − 1 ∣ A ∣ C=\frac{A^{-1}}{|A|} C=AA1



三.矩阵树定理.

邻接矩阵:记一张图 G = ( V , E ) G=(V,E) G=(V,E)的邻接矩阵 A A A为:
A i , j = [ ( i , j ) ∈ E ] A_{i,j}=[(i,j)\in E] Ai,j=[(i,j)E]

度数矩阵:记一张图 G = ( V , E ) G=(V,E) G=(V,E)的度数矩阵 D D D为:
D i , j = { d e g ( i ) i = j 0 i ≠ j D_{i,j}= \left\{\begin{matrix} deg(i)&i=j\\ 0&i\neq j \end{matrix}\right. Di,j={deg(i)0i=ji=j

其中 d e g ( i ) deg(i) deg(i)表示点 i i i的度数.

矩阵树定理:对于矩阵 L = D − A L=D-A L=DA,将 L L L去掉任意一行一列后得到的矩阵的行列式为原图的生成树数量.

同时,在有边权的时候,定义一棵生成树的权值为边权之积,那么行列式为所有生成树权值之和.

在有向图的时候,我们定 i i i为根,那么删掉第 i i i行第 i i i列后得到的行列式为以 i i i为根的树形图数量,其中 D D D为入度矩阵则行列式为外向树形图数量, D D D为出度矩阵则行列式为内向树形图数量.


四.雅可比行列式.

雅可比行列式
d ∣ A ∣ d x = ∣ A ∣ ∑ i = 1 n ∑ j = 1 n A i , j − 1 d A i , j d x \frac{\mathrm{d}|A|}{\mathrm{d}x}=|A|\sum_{i=1}^{n}\sum_{j=1}^{n}A^{-1}_{i,j}\frac{\mathrm{d}A_{i,j}}{\mathrm{d}x} dxdA=Ai=1nj=1nAi,j1dxdAi,j

你可能感兴趣的:(算法入门)