特征多项式 与 常系数线性齐次递推

Posted chasedeath

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了特征多项式 与 常系数线性齐次递推相关的知识,希望对你有一定的参考价值。

特征多项式

约定:

(I_n)(n)阶单位矩阵,即主对角线是(1)(n)阶矩阵

一个矩阵(A)(|A|)(A)的行列式


定义

对于一个(n)阶的矩阵(A),它的特征多项式

(p(lambda)=|lambda I_n-A|)

(lambda)定义域不止是(R),还可以是矩阵

(p(lambda))是关于$lambda (的一个)n+1$次多项式

(p(lambda )=sum_1^{n+1}a_ix^i)


Cayley-Hamilton定理

(p(A)=0)

即带入原来的矩阵得到的答案是一个全(0)矩阵


求解特征多项式

带入(n+1)个数,求出得(|x I_n-A|),得到(n+1)个矩阵,通过高斯消元可以(O(n^3))地求出行列式

然后可(O(n^2))拉格朗日插值求出原来的多项式

总复杂度(O(n^4))


特征多项式求解矩阵(k)次幂

由于(p(A)=0)

所以(forall i, p(A)A^i=0)

(A^k=sum_0^k w_i A^i)

(w_i)构成了了一个(k+1)次多项式(F(x))

显然一种合法的表示是(F(x)=x^k)

(ecause p(A)=0 herefore forall i, p(A)A^i=0)

( herefore F(x) Leftrightarrow F(x)mod p(x))

也就是我们要求出(x^k)对于(p(x))这个(n+1)多项式取模

显然可以通过类似快速幂的方式倍增求解这个多项式,每次对(p(x))取模复杂度是(O(nlog n))

就能在(O(nlog mlog n))时间得求出(F(x))

如果能快速得到(A^0,A^1,cdots,A^n)

那么就可以快速求出(A_k)

可以认为这个复杂度是受限于求解(A^0,A^1,cdots,A^n)(O(n^4))

而一般的矩阵快速幂是(O(n^3log k))

所以也只是在(k)极大时有用吧

但是如果并不需要知道整个矩阵的答案,并且(A^1,A^2,cdots,A^n)特殊,这个方法就十分有效


特征多项式求解 常系数线性齐次递推

问题是要求数列(f_i=sum _{j=1}^{n}a_jcdot f_{i-j})

给出(f_1,f_2,cdots,f_{n}),求第(k)项的值

我们的转移矩阵是((n=4)时)

1 2 3 4
1 (a_4)
2 1 (a_3)
3 1 (a_2)
4 1 (a_1)

那么(lambda I_n-A=)

1 2 3 4
1 (lambda) (-a_4)
2 $-1 $ (lambda) (-a_3)
3 (-1) (lambda) (-a_2)
4 (-1) (lambda -a_1)

带入行列式最暴力的求法

枚举一个排列(p_i),设排列(p)的逆序对为(f(p))(|A|=sum (-1)^{f(p)} Pi A_{i,p_i})

实际上合法的排列只有(n)个,就是

枚举(p_i=n)

那么(p_j=left{egin{aligned} j && j<i \ n && j=i \ j-1 && j> iend{aligned} ight.)

(i=n)时,((-1)^{f(p)} Pi A_{i,p_i}=lambda ^n-a_1lambda ^{n-1})

(i>1)时,

(f(p)=n-i)

(Pi A_{i,p_i}=(-1)^{n-i+1}lambda^icdot a_{n-i+1})

((-1)^{f(p)} Pi A_{i,p_i}=-lambda^i a_{n-i+1})

综上:

(|lambda I_n-A|=lambda^n-a_1lambda^{n-1} -a_2lambda^{n-2} -cdots -a^n)

假设有一个(f_0)这一项(不需要知道是多少),那么设初始矩阵为(S=(f_0,f_1,cdots ,f_{n-1}))

这个问题,我们要求的是(Scdot A^k)的第(n)项,不需要知道整个矩阵

带入上一个框内求出的(F(x))

(Scdot A^k=sum_1^{n}[x^i]{F(x)}Scdot A^i)

(Scdot A^i)的第(n)项就是(f_1,f_2,cdots,f_n)

求解这个表达式是(O(nlog nlog k))的,求完直接带入即可

用最朴素的( ext{NTT}),完全不卡常,甚至过不掉模板题

以上是关于特征多项式 与 常系数线性齐次递推的主要内容,如果未能解决你的问题,请参考以下文章

特征多项式

Luogu P4723 模板常系数齐次线性递推

「常系数齐次线性递推」——矩阵快速幂的优化

做题记录

关于二阶非齐次常系数线性微分方程特解的解法

[模板] 常系数线性递推