与离散傅里叶变换类似,Chirp Z 变换是给出多项式 求出 的一种算法,不要求 为单位根。也可用于数论变换。后文将介绍 Chirp Z 变换与其逆变换。

Chirp Z 变换

根据定义,Chirp Z 变换可以写作

其中

Bluestein 算法

考虑

其中 ,我们可以构造

其中 ,且对于 我们有

。可以由一次多项式乘法完成求算,该算法被称为 Bluestein 算法。

逆 Chirp Z 变换

逆 Chirp Z 变换可以写作

其中 ,并且 对于所有 成立,这是多项式插值的条件。

Bostan–Schost 算法

回顾 Lagrange 插值公式

对于所有 成立。与 多项式的快速插值 中相同,我们令 ,根据洛必达法则,有

修正 Lagrange 插值公式 就是

那么现在我们有

其中 。若我们设 为偶数,令 ,那么

这使得我们可以快速计算 。然后用 Bluestein 算法来计算 。令 ,我们有

因为 ,我们只需计算 ,其中 ,也就是

其中 。我们可以用 Bluestein 算法来计算

简单来说,我们分别进行下面的计算:

  1. 用减治法(decrease and conquer)计算
  2. 用 Bluestein 算法计算
  3. 用 Bluestein 算法计算
  4. 用一次多项式乘法计算

其中每一步的时间复杂度都等于两个次数小于等于 的多项式相乘的时间复杂度。

参考文献

  1. Bostan, A. (2010). Fast algorithms for polynomials and matrices. JNCF 2010. Algorithms Project, INRIA.