利用离散 Fourier 变换解一元二次方程
设二次方程
$$
x^2+bx+c=0
$$
的两个根分别为 $x_1,x_2$.则
$$
(x-x_1)(x-x_2)=x^2+bx+c.
$$
因此
$$
\begin{cases}
x_1+x_2=-b\\
x_1x_2=c\\
\end{cases}
$$
进行离散 Fourier 变换,即
$$
\begin{pmatrix}
u_1\\
v_1\\
\end{pmatrix}=\begin{pmatrix}
\omega^{0}&\omega^{1}\\
\omega^{0}&\omega^{2}\\
\end{pmatrix}\begin{pmatrix}
x_1\\
x_2\\
\end{pmatrix}.
$$
其中 $\omega$ 是方程 $x^2=1$ 的不等于1的根,即 $\omega=-1$.于是
$$
\begin{cases}
u_1=x_1-x_2\\
v_1=x_1+x_2\\
\end{cases}
$$
也即
$$
\begin{cases}
x_1=\frac{1}{2}(u_1+v_1)\\
x_2=\frac{1}{2}(v_1-u_1)\\
\end{cases}.
$$
于是
$$
\begin{cases}
v_1=-b\\
\frac{1}{4}(v_1^2-u_1^2)=c.
\end{cases}
$$
解得
$$
\begin{cases}
v_1=-b\\
u_1=\pm\sqrt{b^2-4c}
\end{cases}
$$
然后容易得出 $x_1,x_2$ 的值.
利用离散 Fourier 变换解一元二次方程的更多相关文章
- C语言写解一元二次方程程序心得
前言:在网上看到不少解一元二次方程的小程序,在使用时总得出一大堆小数,感觉很不爽,遂自己重新写了一遍. 首先,先回忆一下一元二次方程的求根公式: 分别读取二次项.一次项和常数项系数并且求出delta ...
- java练习题:解一元二次方程、判断闰年、判断标准身材、三个数取最大值
1.解一元二次方程 注:求根公式为(-b+根号德尔塔)/2a,(-b-根号德尔塔)/2a Scanner sc=new Scanner(System.in); System.out.println(& ...
- 【Java例题】2.8 解一元二次方程
8.解一元二次方程. 输入一元二次方程的a,b,c三个系数,解一元二次方程 ax^2+bx+c=0,输出两个根 package study; import java.util.Scanner; pub ...
- c语言解一元二次方程
C语言解一元二次方程,输入系数a,b,c; #include <stdio.h> #include <math.h> int main(int argc, char *argv ...
- 用c++解一元二次方程
解方程 github项目地址 这两天得知初二的表妹学了一元二次方程,听说还不会解,我就想着试试用C语言编写解方程. 一元二次方程 用公式法 这种方法效果很好: #include"funct. ...
- if语句解一元二次方程~
#include<stdio.h>#include<math.h> void main(){ double a,b,c,x1,x2; printf("请输入a&q ...
- 解一元二次方程的C++实现
一元二次方程的根的情况分为实根与虚根两种,代码如下 #include<iostream> #include<cmath> using namespace std; float ...
- if else练习 (解一元二次方程)
public class cccc { /** * @param args */ public static void main(String[] args) { int a=10,b=11,c=12 ...
- HDU 2298(纯物理加解一元二次方程)
Toxophily Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
随机推荐
- chown virtualbox
virtualbox安装 root@cbill-VirtualBox:/# chown --help用法:chown [选项]... [所有者][:[组]] 文件... 或:chown [选项]... ...
- CSS 宽,高,背景设置
width 宽,height 高,background 背景:背景色 background-color:颜色值--英文单词/十六进制/rgb:背景图 background-image:url(‘图片路 ...
- 关于HackerRank的Day 8 的思考——input
Day 8 主要是对字典的一些基本用法做操作. 题干大概是:给定一个 n ,建立一个包含 n 个人的电话簿,然后有一个查询功能.当然,很简单,但是在我对搜索词的输入时,它提示我:EOF when re ...
- GFlags 处理内存越界、野指针问题研究
从官方文档可以看到,从gflags的GUI上,我们是无法判断他打开的是full page heap verification 还是Standard page heap verification, 所以 ...
- python笔记(很乱)、打算抽个时间再好好整理
最近刚开始学python.总结的可能不是很好 print:打印值 input:可以进行等候赋值.进行一个交互 python中 需要两个==才为判断 变量:数字.字母.下划线组成 类型:int整数.st ...
- WinServer--mstsc
部署项目时,远程连接服务器一直提示连接达最大拒绝连接. mstsc /admin 从sp2后,/console参数就改为/admin了,其实就是登陆到远程服务器的控制台,一般加这个参数是为了在远程桌面 ...
- 从Evernote大批顶尖高管离职,看处于漩涡中的笔记应用未来前景
无论是巨头,还是独角兽,甚至是小而美的某些企业,在发生高管离职.裁员等情况时,总会引起业界的广泛关注.究其原因,就在于高管离职.裁员等往往意味着企业内部发生了动荡,甚至还会直接反映出所在行业的发展趋势 ...
- 【PS学习成果】手持雷电
结合网上的教程和素材,试试水. 备注申明:图片和教程 均来自网络PS家园网(www.psjia.com),如有侵权,请联系本人,马上删除.
- Flink(四) —— 数据流编程模型
分层抽象 The lowest level abstraction simply offers stateful streaming. It is embedded into the DataStre ...
- h5-动画小案例-滚动展示
1.html区域 <div> <ul> <li><img src="../img/a.jpg" alt="">& ...