zoukankan      html  css  js  c++  java
  • 利用离散 Fourier 变换解一元二次方程

    设二次方程
    $$
    x^2+bx+c=0
    $$
    的两个根分别为 $x_1,x_2$.则
    $$
    (x-x_1)(x-x_2)=x^2+bx+c.
    $$
    因此
    $$
    egin{cases}
      x_1+x_2=-b\
    x_1x_2=c\
    end{cases}
    $$
    进行离散 Fourier 变换,即
    $$
    egin{pmatrix}
      u_1\
    v_1\
    end{pmatrix}=egin{pmatrix}
      omega^{0}&omega^{1}\
    omega^{0}&omega^{2}\
    end{pmatrix}egin{pmatrix}
      x_1\
    x_2\
    end{pmatrix}.
    $$
    其中 $omega$ 是方程 $x^2=1$ 的不等于1的根,即 $omega=-1$.于是
    $$
    egin{cases}
    u_1=x_1-x_2\
    v_1=x_1+x_2\
    end{cases}
    $$
    也即
    $$
    egin{cases}
    x_1=frac{1}{2}(u_1+v_1)\
    x_2=frac{1}{2}(v_1-u_1)\
    end{cases}.
    $$
    于是
    $$
    egin{cases}
    v_1=-b\
    frac{1}{4}(v_1^2-u_1^2)=c.
    end{cases}
    $$
    解得
    $$
    egin{cases}
      v_1=-b\
    u_1=pmsqrt{b^2-4c}
    end{cases}
    $$
    然后容易得出 $x_1,x_2$ 的值.

  • 相关阅读:
    centos vsftpd
    centos nginx
    linux 修改配色
    面试题讲解
    文件操作
    Python
    Python-linux作业
    python(12.17)笔记
    python周末作业(12.14--16)
    python作业(12.12)
  • 原文地址:https://www.cnblogs.com/yeluqing/p/3827414.html
Copyright © 2011-2022 走看看