首页 > 其他分享 >FFT 优化常系数齐次线性递推式

FFT 优化常系数齐次线性递推式

时间:2024-05-12 21:53:20浏览次数:27  
标签:begin end FFT 矩阵 cdots 齐次 bmatrix 递推 lambda

\(f_i\) 序列满足 \(f_i=\displaystyle\sum_{j=1}^k c_jf_{i-j}\)。\(k\le 32000,n\le 10^9\)。
已知 \(f_1\sim f_k\) 和 \(c_1\sim c_k\)。求 \(f_n\)。

这称为 "\(k\) 次齐次常系数线性递推式"。


如果 \(k\) 比较小,可以用矩阵快速幂;但 \(k\) 太大,一次矩阵乘法都很慢。我们可以用 FFT 优化它。复杂度 \(O(k\log k\log n)\)。

先回忆一下矩阵快速幂。

\[\begin{bmatrix}f_n\\f_{n-1}\\\dots\\f_{n-k+1}\end{bmatrix}=\begin{bmatrix}c_1&c_2&\cdots&c_k\\1&0&\cdots&0\\ 0&1&\cdots&0\\\cdots&\cdots&\cdots&\cdots\\\cdots&\cdots&1&0\end{bmatrix}\cdot \begin{bmatrix}f_{n-1}\\f_{n-2}\\\dots\\f_{n-k}\end{bmatrix}\]

记中间的转移矩阵为 \(M\)。定义它的特征多项式 \(\phi(\lambda)=\lambda^k-c_1\lambda^{k-1}-c_2\lambda^{k-2}-\cdots-c_k\)。

标签:begin,end,FFT,矩阵,cdots,齐次,bmatrix,递推,lambda
From: https://www.cnblogs.com/FLY-lai/p/18188252

相关文章

  • FFT 学习笔记
    应用FFT,中文“快速傅里叶变换”,用来加速多项式乘法和卷积,可以将\(O(n^2)\)的复杂度优化至\(O(n\logn)\)。多项式系数表示法一个\(n\)次\(n+1\)项的多项式\(f(x)\)可以表示为\(f(x)=\sum\limits_{i=0}^{n}a_ix^i\)。也可以用每一项的系数表示\(f(x)\),即\(f......
  • 学习笔记:FFT与拉格朗日插值
    多项式的表示形式系数表示与点值表示假设\(f(x)\)是一个\(n\)次多项式,则\(f(x)\)的系数表示为\(f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_0\)\(f(x)\)的点值表示为\((x_0,f(x_0)),\(x_1,f(x_1)),\dots,(x_n,f(x_n))\),其中\(\foralli\neqj,\x_i......
  • [多项式] FFT小计
    引入给出两个多项式\(A,B\),计算它们相乘的结果。我们能轻易写出code:for(inti=0;i<=n;i++) for(intj=0;j<=n;j++) C[i+j]+=A[i]*B[j];然后超时了。FFT是一种将多项式乘法优化成\(O(n\logn)\)的神仙算法。分析上面的式子没有任何优化空间。什么意思呢?就是怎......
  • 第?课——基于矩阵快速幂的递推解法
    第?课——基于矩阵快速幂的递推解法由于中间的数论部分我自己学的很差,没有办法写出清晰的博客来,所以这里跳过了数论部分的博客,来到矩阵快速幂。递推递推是一个非常常用的工具。比如经典的斐波那契数列:\[f(x)=\left\{\begin{array}{**lr**}1&,0\l......
  • XMU《计算方法》实验二 FFT
    实验二 FFT一、MATLAB代码clear;N=32;TIME=5;X=linspace(-pi,pi,33);X=X(1:32);A=X.^2.*cos(X);form=0:N-1w(m+1)=exp(1i*2*pi/32*m);endi=1;whilei<NB=A;forj=0:i*2:N-1fork=0:i-1......
  • 洛谷题解-官方题单-递归与递推
    P1255数楼梯原题链接题目描述楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编一个程序,计算共有多少种不同的走法。对于60%的数据,N≤50;对于100%的数据,1≤N≤5000。思路:每次有2种方法上楼梯,要么上一阶,要么上二阶。第一种:得50分的做法是可以用递归来解:点击查看代码......
  • 多项式乘法(FFT)学习笔记
    Reference:@自为风月马前卒亦@attack的博客这里为了帮助我自己理解,先手推(抄)一遍这位dalao给出的快速傅里叶逆变换的证明。\((y_0,y_1,\dots,y_{n-1})\)为多项式\((a_0,a_1,\dots,a_{n-1})\)在\(x\)取\((\omega^0_n,\omega^1_n,\dots,\omega^{n-1}_n)\)时......
  • FFT转载
    快速傅里叶变换(FFT)详解原文链接:快速傅里叶变换(FFT)详解-自为风月马前卒-博客园(cnblogs.com)目录前言多项式系数表示法点值表示法复数向量圆的弧度制平行四边形定则复数运算法则单位根单位根的性质快速傅里叶变换快速傅里叶逆变换理论总结......
  • FFT 与 NTT 学习笔记
    【概念】点值:给定多项式\(f(x)=a_0+a_1x+\cdots+a_{n-1}x^{n-1}\)和\(x_1\simx_m\),求\(f(x_1),f(x_2),\dots,f(x_m)\)。(\(m=n\))求点值的算法一般是\(O(n^2)\)的,但对于特殊的多项式,可以做到更快。插值:给定\((x_0,y_0),(x_1,y_1),\dots,(x_{n-1},y_{n-1})\),其中\(x_0\s......
  • 文献学习-31-内窥镜摄像机运动模仿学习的深度齐次变换预测
    DeepHomographyPredictionforEndoscopicCameraMotionImitationLearningAuthors: MartinHuber,SébastienOurselin, ChristosBergeles, andTomVercauterenKeywords:Computervision·Roboticsurgery·ImitationlearningSource:  M......