前置知识:
1.多项式
定义
形如:
f ( x ) = ∑ 0 n − 1 a i ⋅ x i f(x)=\sum_{0}^{n-1}ai\cdot x^i f(x)=0∑n−1ai⋅xi
多项式表示法:
系数表示法
就是上式的写法
点值表示法
在f(x)上取n个点,就能唯一确定的表示出这个多项式。
证明如下:
∀ \forall ∀n点集合c
定义集合A={
a 0 , a 1 , a 2 , . . . , a n − 1 a_0,a_1,a_2,...,a_{n-1} a0,a1,a2,...,an−1}为某一个的n点的集合c所表示的多项式的系数集合。
反证:
若不然,则 ∃ \exists ∃集合B,B ̸ = \not = ̸=A,并且B也是c所表示多项式的系数集合。
此时,令Ci=Ai-Bi,那么带入c中的每一个元素,C所代表的多项式的值都会是0,也就是说,该n-1次多项式有n个零点,这显然与事实不符,所以证毕。
多项式相乘
如果用系数表示法直接相乘,那么计算的复杂度是O( n 2 n^{2} n2)的。
但是如果用点值表示法相乘,由于函数的相乘是每一个点的两个函数值相乘,所以复杂度是O(n)的。
2.复数相关
1.复数定义
在数学上,我们定义i,满足 i 2 = − 1 i^2=-1 i2=−1也就是说 i = − 1 i=\sqrt{-1} i=−1
定义一个复数为 a + b i a+bi a+bi那么由此我们就把数的定义扩充到了更大的范围。
2.复平面
复数的定义 a + b i a+bi a+bi,我们可以把a看成x轴,b看成y轴,那么每一个复数都可以看做在复平面上的一个点。当然,原本的实数就是复平面中x轴上的点。
3.复平面上的运算法则
复数的运算法则: ( a 1 + b 1 i ) ⋅ ( a 2 + b 2 i ) = (a_1+b_1i)\cdot(a_2+b_2i)= (a1+b1i)⋅(a2+b2i)=
a 1 b 1 + a 1 b 2 i + a 2 b 1 i + b 1 b 2 i 2 = a_1b_1+a_1b_2i+a_2b_1i+b_1b_2i^2= a1b1+a1b2i+a2b1i+b1b2i2=
a 1 b 1 − b 1 b 2 + ( a 1 b 2 + a 2 b 1 ) i a_1b_1-b_1b_2+(a_1b_2+a_2b_1)i a1b1−b1b2+(a1b2+a2b1)i
复平面上的复数可以看做向量,那么复平面上的复数可以表示为(辐角(与x轴的夹角大小),长度)。对于这种表示方法,向量的相加的法则是:长度相乘,辐角相加。
证明:
假设两个复数 a 1 + b 1 i , a 2 + b 2 i a_1+b_1i,a_2+b_2i a1+b1i,a2+b2i
那么两个复数的长度分别为 a 1 2 + b 1 2 , a 2 2 + b 2 2 \sqrt{
{a_1}^2+{b_1}^{2}},\sqrt{
{a_2}^2+{b_2}^{2}} a12+b12,a22+b22
相乘等于
a 1 2 a 2 2 + a 1 2 b 2 2 + b 1 2 a 2 2 + b 1 2 b 2 2 \sqrt{
{a_1}^2{a_2}^2+{a_1}^2{b_2}^2+{b_1}^2{a_2}^2+{b_1}^2{b_2}^2} a12a22+a12b22+b12a22+b12b22
而两个向量相乘后得到的向量 a 1 b 1 − b 1 b 2 + ( a 1 b 2 + a 2 b 1 ) i a_1b_1-b_1b_2+(a_1b_2+a_2b_1)i a1b1−b1b2+(a1b2+a2b1)i的长度也等于上式的值。
辐角相加也类似可证,只不过需要用到定理 tan a + b = tan a + tan b 1 − tan a tan b \tan a+b=\frac{\tan a+\tan b}{1-\tan a\tan b} tana+b=1−tanatanbtana+tanb,这里就省略了。
单位根
定义
定义 ω n \omega_n ωn为在复平面上,以1为半径作圆,把圆等分成n份。
那么 ω n k \omega_n^k ωnk就表示这个n等分圆中,从x轴开始,逆时针数的第k条等分线所表示的复数。
我们规定x轴上的等分线为第0条,同时也是的n条,也就是说 ω n 0 = ω n n = 1 \omega_n^0=\omega_n^n=1 ωn0=ωnn=1,意思就是等分从x轴开始。
那么有一个显然的计算 ω n k \omega_n^k ωnk的方法: ω n k = cos k 2 π n + sin k 2 π n ⋅ i \omega_n^k=\cos k\frac{2\pi}{n}+\sin k\frac{2\pi}{n}\cdot i ωnk=coskn2π+sinkn2π⋅i
性质
性质1
ω 2 n 2 k = ω n k \omega_{2n}^{2k}=\omega_n^k ω2n2k=ωnk
这个可以感性理解一下,一个圆分成n份,取第k份,和一个圆分成2n份,取第2k份,实际上是相同的。
性质2
ω n k + n 2 = − ω n k \omega_{n}^{k+\frac{n}{2}}=-\omega_n^k