Chirp Z-Transform
Chirp Z-Transform
其实不是什么特别难的东西。
用于解决等比数列/类等比数列多点求值。
- \(b_i=\sum_{j=0}^{n}a_jc^{ij}\)
注意到 \(ij=\binom{i+j}{2}-\binom{i}{2}-\binom{j}{2}\),所以有
\[b_i=c^{-\binom i 2}\sum_{j=0}^{n}a_jc^{-\binom j 2}c^{\binom {i+j}{2}}
\]
容易发现这是一个减法卷积的形式,卷就完事了。
- 循环卷积
你发现 \(\texttt{DFT/IDFT}\) 和上面那东西长得非常像,所以直接做就完了。
- \(b_i=\sum_{j=0}^{n}a_jc_i^j,c_0=z,c_i=xc_{i-1}+y(i\ge 1,x\neq 1)\)
首先当 \(y=0\) 时你可以解出 \(c_i=c_0x^i\)。
然后你发现这玩意和上面那东西长得特别像,只要令 \(x=c_0x\),就可以直接做。
\(y\neq0\) 时你可以解出它的通项公式。
\[c_i=x^i(c_0-\frac{y}{1-x})+\frac{y}{1-x}
\]
然后这个东西你可以通过平移原多项式来做,平移过后就变成了和上面一样的问题了。
平移的话也很简单,只需要利用二项式定理展开一下,你就会发现这是个减法卷积的形式,卷就完事了。
- 质数 \(p\) 较小时的多点求值
根据原根的定义,\(g^0,g^1,\cdots,g^{p-2}\) 的若干次方可以取遍 \([1,p-1]\) 的所有整数。
然后 \(f(g^i)=\sum_{j=0}^{n}a_jg^{ij}\) 显然我们是会求的。
然后就没了。
不是质数的时候可以用中国剩余定理之类的东西合并。
在繁华中沉淀自我,在乱世中静静伫立,一笔一划,雕刻时光。