zoukankan      html  css  js  c++  java
  • 多项式学习笔记

     拉格朗日插值

    构造原理:当x=xk时A(xk)=yk;

    快速傅里叶变换 

    复数与复平面

    为了将数域扩大,引入虚数,详情请见数学选修2-2。

    欧拉公式

    这个公式在FFT中会用到。

    多项式:n次多项式,->最高次为n-1,n个点可以确定唯一的n次多项式。

    多项式求值:秦九韶算法,O(n)的时间求出多项式的一个点值表达。

    多项式乘法:可以在n^2的时间内计算,这个比较简单,两个n次多项式可以乘出2n-1次多项式。

    多项式加法:(x1,y1)(x1,y2)-> (x1,y1+y2)这个可以O(n)算。

    如果我们已经知道了A和B的点值表达,我们可以在O(n)的时间算出C的点值表达。

    圆周卷积:不会,留坑代填。

    卷积定理:我们做两个多项式的卷积(乘法)复杂度是n^2,如果我们把多项式转成点值表达,再把点值表达加起来,在把点值表达用插值法转成多项式,如果这三个步骤的复杂度都没有超过n^2,那么我们可以算是优化成功了。

    在一个xi上做点值运算的算法叫DFT(离散傅里叶变换)。

    如果我们快速的完成所有xi的点值表达运算,时间复杂度为nlogn,这就是FFT(快速傅里叶变换)。

    离散傅里叶变换

    n次单位根:满足x^n=1的复数。

    n次单位根恰好有n个,对于它们分别是e^2πki/n,k[0-n-1]。

    理解一下就是把k个圆n等分。

    k=1时的单位根为主n次单位根,记做wn,其他单位根可以看做wn的幂。

    DFT的特殊点指的就是n次单位根。

    一遍DFT可以求出A(wn0),A(wn1).....A(wnn-1)

    设结果为F。

    那么

    我们最终还是需要知道系数表达,所以还需要插值运算。

    可以用矩阵去验证。

    单位根的性质

    第一条和第二条是最基本的,第三条就是根据欧拉公式(可以脑补复平面),第四条和第五条是折半引理。

    这两条是消去引理。

    现在我们有了一个长度为2的整数次幂的多项式。

    然后我们可以把x的下标按照奇偶分组。

    然后再按照上面的性质瞎搞一下。

    我们成功的把问题的规模减小了一半。

    然后我们就可以按照上面的方法一直分治下去。

    注意我们是吧长度为l的区间分成两半,一半为wk,一半为wk+2/n=-wk,所以算的时候加减注意一下。

    蝴蝶操作

    我们发现最后找出来的序列的下标和原来下标有一些神奇的联系。

    于是我们可以O(n)算每个数的二进制翻转,然后可以迭代做了。

    快速数论变换(NTT)

    复数运算常数太大,如果我们找到一个数论上的东西来代替wn,那么我们可以完成在模意义下的FFT了。

    阶与原根

    x的阶x^k=1(%p)。

    p的原根:满足x的阶=p-1的最小的x,即为g。

    g^(p-1)/n可以代替wn。

    多项式全家桶

    多项式求逆

    利用倍增搞。

    首先这个科技只能用于模意义下的,没有模的是一个无解的问题。

    然后我们令B为在模2^(n-1)下的逆,B‘为模2^n下的逆。

    (B-B')=0(%2^(n-1))

    (B-B')^2=0(%2^n)

    B^2-2*B*B'+B'^2=0(%2^n)
    AB^2-2*B+B'=0(%2^n)

    B'=2*B-2*A*B^2(%2^n)

    然后就倍增做

    多项式ln

    也就是我们要求一个G函数

    对两边求导,根据复合函数的求导方法,还有ln的导为1/x。

    然后就求个导求个逆就可以算出G‘

    然后再用求导的逆过程给它还原回去,好像叫什么不定积分。

    多项式exp 

    这个东西还得用到什么牛顿迭代之类的高端玩意,直接放个结论吧。

    多项式开根

    多项式除法 咕咕咕

    多项式多点求值 咕咕咕

     多项式快速插值 咕咕咕

  • 相关阅读:
    绕过验证码登陆的方法(适合只需登陆一次可以记住登陆台的网站)
    Throughput Controller(吞吐量控制器) 感觉就像个线程控制器来的
    时间戳 和 日期 转换的方法 (含获取当前时间戳的方法)
    pip使用笔记
    可以模拟多种浏览器的网站
    浏览器兼容性说明
    测试套件的使用
    python 时间对比大小 和 间隔多少天
    django数据库操作
    mysql连接工具记录
  • 原文地址:https://www.cnblogs.com/ZH-comld/p/10122104.html
Copyright © 2011-2022 走看看