首页 > 其他分享 >Bluestein's Algorithm

Bluestein's Algorithm

时间:2024-04-27 22:13:15浏览次数:19  
标签:frac Algorithm limits sum mk Bluestein

Bluestein's Algorithm 用于当不是 \(2\) 的整数次幂时对多项式的 (I)DFT。

考虑现在要求:

\[f_m = \sum\limits_{k = 0}^{n - 1} a_k w^{mk} \]

Bluestein 的核心思想在于拆 \(mk\)。不难证明 \(mk = \frac{m(m - 1)}{2} + \frac{k(k + 1)}{2} - \frac{(m - k)(m - k - 1)}{2}\)。那么:

\[f_m = w^{\frac{m(m - 1)}{2}} = \sum\limits_{k = 0}^{n - 1} (a_k w^{\frac{k(k + 1)}{2}}) w^{-\frac{(m - k)(m - k - 1)}{2}} \]

这样我们把这个东西化成了卷积形式。但是发现 \(m - k\) 可能是负数,所以需要把另外一个多项式平移 \(n\) 位再做卷积。

时间复杂度是 \(O((n + m) \log n)\)。

注意到我们没有用到 \(w\) 是模意义下的单位根的特性,所以这里 \(w\) 其实可以取任意整数,所以 Bluestein's Algorithm 其实就是代入一个等比数列,然后多点求值。

注意有些博客说的 \(mk = \frac{1}{2} (m^2 + k^2 - (m - k)^2)\) 有局限性,因为 \(w\) 可能没有二次剩余。

1. P6800 【模板】Chirp Z-Transform

模板。

标签:frac,Algorithm,limits,sum,mk,Bluestein
From: https://www.cnblogs.com/zltzlt-blog/p/18162648

相关文章

  • Fast Training Algorithms for Deep Convolutional Fuzzy Systems With Application t
    类似深度卷积神经网络DCNN,模糊系统领域有个深度卷积模糊系统deepconvolutionalfuzzysystem(DCFS),每一层都是一个模糊系统,上一层的输出是下一层的输入。这篇论文目的是加速DCFS的计算速度,解决可解释性1990年提出,也用反向传播训练DCFS受困于低维度小数据集,大数据量时计算负担太......
  • 分类算法(Classification Algorithm)需求记录
    [toc]比如说,在WEB扫描器场景中。一个扫描器在扫描过程中,它可以自动识别接口类型并采用相应分类规则进行漏洞检测的算法,这种通常属于一种称为"智能扫描"(IntelligentScanning)或"漏洞扫描引擎"的技术。这些算法利用机器学习、深度学习和模式识别等技术,通过分析网络流量、响应内容......
  • 深入理解MD5:Message Digest Algorithm 5
    title:深入理解MD5:MessageDigestAlgorithm5date:2024/4/2118:10:18updated:2024/4/2118:10:18tags:MD5哈希函数密码学数据完整性碰撞攻击安全性替代算法导论MD5的背景和历史MD5(MessageDigestAlgorithm5)是一种广泛使用的哈希函数,用于产生128位(16字节)......
  • 深度探索:Secure Hash Algorithm(SHA)全景解析
    title:深度探索:SecureHashAlgorithm(SHA)全景解析date:2024/4/1518:33:17updated:2024/4/1518:33:17tags:SHA安全抗碰撞性算法版本实现细节性能优化发展历史应用案例密码学中的哈希函数一、哈希函数的定义哈希函数是一种数学函数,它接受任意长度的输入数据(......
  • Evolutionary many-objective optimization algorithm based on angle and clustering
    Evolutionarymany-objectiveoptimizationalgorithmbasedonangleandclustering本文的工作本文提出了一种新的MaOEA,它使用锐角作为相似度量。通过聚类方法,最终将种群划分为若干个聚类,每个聚类中仅选择一个个体,以保持环境选择的趋同性和多样性。据我们所知,我们首先尝试利......
  • 52 Things: Number 36: Index Calculus Algorithm
    52Things:Number36:IndexCalculusAlgorithm52件事:数字36:指数演算算法 Thisisthelatestinaseriesofblogpoststoaddressthelistof'52ThingsEveryPhDStudentShouldKnowToDoCryptography':asetofquestionscompiledtogivePhDcandidat......
  • 52 Things: Number 24: Describe the binary, m-ary and sliding window exponentiati
    52Things:Number24:Describethebinary,m-aryandslidingwindowexponentiationalgorithms.52件事:第24件:描述二进制、m进制和滑动窗口求幂算法。 Thisisthelatestinaseriesofblogpoststoaddressthelistof '52ThingsEveryPhDStudentShouldKnow......
  • 52 Things: Number 26: Describe the NAF scalar multiplication algorithm.
    52Things:Number26:DescribetheNAFscalarmultiplicationalgorithm.52件事:第26件:描述NAF标量乘法算法。 Thisisthelatestinaseriesofblogpoststoaddressthelistof '52ThingsEveryPhDStudentShouldKnow' todoCryptography:asetofquestion......
  • 52 Things: Number 15: Key generation, encryption and decryption algorithms for R
    52Things:Number15:Keygeneration,encryptionanddecryptionalgorithmsforRSA-OAEPandECIES.52件事:第15件:RSA-OAEP和ECIES的密钥生成、加密和解密算法。 Thisisthelatestinaseriesofblogpoststoaddressthelistof  '52ThingsEveryPhDStuden......
  • 52 Things: Number 16: Describe the key generation, signature and verification al
    52Things:Number16:Describethekeygeneration,signatureandverificationalgorithmsforDSA,SchnorrandRSA-FDH.52件事:第16件:描述DSA、Schnorr和RSA-FDH的密钥生成、签名和验证算法。 Thisisthelatestinaseriesofblogpoststoaddressthelistof'......