特征多項式與常系數線性齊次遞推學習筆記


快去膜神仙

特征多項式

定義一個大小為$ k$矩陣$ M$的特征多項式$ P$要求滿足

$$ \sum_{i=0}^k P_iM^i=0$$

其中$ 0$是一個全$ 0$矩陣

Cayley-Hamilton定理

一個矩陣$ P$的特征多項式為

$$P(\lambda)=|\lambda E-M|=\lambda^n+P_1\lambda^{n-1}+P_2\lambda^{n-2}+...+P_n$$

其中$ E$是單位矩陣,$ |\lambda|$表示$ \lambda$的行列式

顯然有$P(A)=0$

快速求一般矩陣的特征多項式

暴力插值+消元是$ O(n^4)$的

有$ O(n^3)$的奇妙做法

咕咕咕

常系數線性齊次遞推

就是給定轉移式$ f_i=\displaystyle\sum_{j=1}^k a_j f_{i-j}$求$ f_n$

$ n \leq 10^9 k \leq 5·10^4$

模版題

直接矩陣快速冪是$ k^3 \log n $的,顯然無法通過

這類轉移矩陣$ M$有一個非常好的性質:其特征多項式$ P(\lambda)=\lambda^k-\lambda^{k-1}a_1-\lambda^{k-2}a_2-..-a_k$

證明

將行列式第一行展開

咕咕咕

食用方法

對於該矩陣的特征多項式式$ P$有$ P(M)=0$

因此有$ M^k=a_1M^{k-1}+a_2M^{k-2}+..+a_k$

這意味着我們可以通過降次將$ M^n$轉化成$ b_0+b_1M+b_2M^2+..+b_kM^k$

我們令$ M^n$的系數多項式為$ b$

顯然矩陣的乘積等價於對應系數多項式的乘積

即設$ M^x$的系數多項式為$ a$,$ M^y$的系數多項式為$ b$

則$ M^{x+y}$的系數多項式為$ a*b$

初始令$ M$的系數多項式為$ \{0,1,0,0..0\}$然后快速冪即可

誒等等..這樣求多項式快速冪的話..多項式的長度不會過長嗎..?

回到原特征方程式,我們發現$ P(M)=0$

意味着我們可以對求出來的系數多項式進行任意的加減特征多項式

即我們可以對特征多項式進行取模操作,將系數多項式的長度控制在$ k+1$

計算答案

如果我們用系數多項式化出原矩陣的話復雜度還沒有優化到最優

發現我們只是要求一個向量乘上前$ k$個矩陣

而前$ k$個矩陣只有對應位置上有值

因此答案就是$ \displaystyle\sum_{i=0}^k b_if_i$

其中$ b$是$ M^n$的系數多項式的對應位系數

用多項式板子優化復雜度可以達到$ O(n \log n \log k)$ 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM