特征多项式及Cayley-Hamilton定理

大佬blog
大佬blog
大佬blog
大佬blog
学数学的时候,可能会接触到一个叫做特征根法,特征根方程的东西,当时不觉明历。
实际上这是和线性代数中的特征多项式离不开的。
学OI的时候,可能会接触到矩阵快速幂求解常系数齐次线性递推的东西,懂了但是只会当模板用。
实际上这也和特征多项式有着紧密的联系。
言归正传。
特征多项式是指对一个 n n 阶(转移)方阵 A A , f ( λ ) = det ( λ E A ) = λ N + b 1 λ N 1 + b 2 λ N 2 + . . . + b N 1 λ + b N f(\lambda) = \det(\lambda E-A) = \lambda^N+b_1\lambda^{N-1}+b_2\lambda^{N-2}+...+b_{N-1}\lambda+b_N 是一个以 λ \lambda 为自变量的 n n 次多项式。
Cayley-Hamilton定理指的是 f ( A ) = 0 = A N + b 1 A N 1 + b 2 A N 2 + . . . + b N 1 A + b N f(A) = 0 = A^N+b_1A^{N-1}+b_2A^{N-2}+...+b_{N-1}A+b_N 为化零多项式。为了方便记忆有一个著名的伪证: f A ( A ) = A A E = 0 f_A(A)=∣A−AE∣=0
对于常系数线性递推
A n = i = 1 n 1 a i A n i A^{n}=\sum_{i=1}^{n-1}a_iA^{n-i}
我们把 A A 看做变量,上面的就是方程。
我们可以把 A n A^n 换成比n次幂小的一个多项式。
就相当于 m o d    g ( A ) = ( A n i = 1 n 1 a i A n i ) \mod g(A) = (A^n-\sum_{i=1}^{n-1}a_iA^{n-i})
有了模之后我们就可以把 A x m o d    g ( A ) A^x \mod g(A) 拿出来算就行了。
得到 A x = i = 0 n c i A i A^x = \sum_{i=0}^nc_iA^i
然后就可以 O ( n 4 ) O(n^4) 算矩阵了。
把前 n n 项构成的行向量 H 1 H_1 同时左乘于等式左右,可以得到:
H x + 1 = i = 0 n c i H i + 1 H_{x+1}=\sum_{i=0}^nc_iH_{i+1}
现在是 O ( n 2 ) O(n^2)
所以有:
h x + 1 = i = 0 n c i h i + 1 h_{x+1}=\sum_{i=0}^nc_ih_{i+1}
就可以 O ( n ) O(n)
但是不要忘了多项式模取幂是 O ( n 2 log x ) O(n^2\log x) 的暴力, O ( n log n log x ) O(n\log n\log x) 的多项式FFT取模。
为了算一个矩阵的特征多项式,可以 O ( n 3 ) O(n^3) ,也可以 O ( n 4 ) O(n^4) 求值后用BM。。。

猜你喜欢

转载自blog.csdn.net/qq_35950004/article/details/90416553