特征多项式 与 常系数线性齐次递推
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}),完全不卡常,甚至过不掉模板题
以上是关于特征多项式 与 常系数线性齐次递推的主要内容,如果未能解决你的问题,请参考以下文章