单位根 入门

Posted megatrio

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单位根 入门相关的知识,希望对你有一定的参考价值。

基本参考照抄AKrry‘s blog

建议先阅读复数入门


引理:欧拉公式

[e^{i heta}=cos heta +i sin heta ]

证明:

(e^{i heta})泰勒展开:

[e^{i heta}=sum limits_{j=0}^{infty} dfrac{(i heta)^j}{j!} ]

分组

[egin{aligned}e^{i heta} & =sum limits_{j=0}^{infty} dfrac{(i heta)^{2j}}{(2j)!} + sum limits_{j=0}^{infty} dfrac{(i heta)^{2j+1}}{(2j+1)!} & = sum limits_{j=0}^{infty} (-1)^j dfrac{ heta^{2j}}{(2j)!} + sum limits_{j=0}^{infty} (-1)^j dfrac{i heta^{2j+1}}{(2j+1)!} & = sum limits_{j=0}^{infty} (-1)^j dfrac{ heta^{2j}}{(2j)!} + i sum limits_{j=0}^{infty} (-1)^j dfrac{ heta^{2j+1}}{(2j+1)!} end{aligned}]

(sum limits_{j=0}^{infty} (-1)^j dfrac{ heta^{2j}}{(2j)!})(cos heta)的麦克劳林级数,(sum limits_{j=0}^{infty} (-1)^j dfrac{ heta^{2j+1}}{(2j+1)!})(sin heta)的麦克劳林级数。

证毕。


我们称(x^n=1)的解为(n)次单位根

我们用(omega_n^i)代表(i)(n)次单位根

那么它有什么特殊之处呢?

比如我们用(z=a+bi)表示(n)次单位根其中之一。

显然(|z|=sqrt{a^2+b^2})

所以(|z^n|=(sqrt{a^2+b^2})^n=1)

所以(|z|=1)

所以单位根一定在以原点为圆心,半径为1的圆上

我们又发现,形如(z=cos heta + i sin heta)的复数也在以原点为圆心,半径为1的圆上!

证明:

[|z|=sqrt{cos^2 heta+ sin^2 heta}=sqrt{1}=1 ]

附:

如果您连(cos^2 heta+ sin^2 heta =1)都不懂,我再来说明一下。

( heta)对边为(a),邻边为(b),斜边(c)

由三角函数定义可知,

[egin{aligned}cos^2 heta+ sin^2 heta & = left( dfrac{a}{c} ight) ^2+ left( dfrac{b}{c} ight) ^2 \\ &= dfrac{a^2+b^2}{c^2} end{aligned} ]

由勾股定理可知,(a^2+b^2=c^2)

所以(dfrac{a^2+b^2}{c^2}=1)

Q.E.D.

如果这都看不懂,说明您的领悟能力已经超乎凡人,建议去测测生辰八字。

所以设(omega_n^k=cos heta+ i sin heta)

我们可以得到

[(omega_n^k)^n=(cos heta+ i sin heta)^n ]

然后我们又知道

[(cos heta+ i sin heta)^n = cos (n heta)+ i sin (n heta) ]

对不起我自己也不会证明

于是

[(omega_n^k)^n=cos (n heta)+ i sin (n heta) = 1+0i ]

所以

[egin{cases}cos(n heta)=1\\ sin(n heta)=0 end{cases} ]

根据三角函数的性质可知,(n heta=2k pi)

所以

[omega_{n}^{k}=cos left( dfrac{2kpi}{n} ight) + i sin left( dfrac{2kpi}{n} ight) (0 le k le n-1) ]

探索一下它的性质:

  • (omega_n^0 =1)

显然有(omega_n^0=cos 0 +i sin 0 =0)

  • (omega_n^k=(omega_n^1)^k)

显然

[omega_n^k=cos left( dfrac{2kpi}{n} ight) + i sin left( dfrac{2kpi}{n} ight)= e^{frac{2pi}{n} k} = left(e^{frac{2pi}{n}} ight) ^k = (omega_n^1)^k ]

证毕。

  • (omega_{dn}^{dk}=omega_n^k)

显然

[omega_{dn}^{dk}=cos left( dfrac{2dkpi}{dn} ight) + i sin left( dfrac{2dkpi}{dn} ight)= cos left( dfrac{2kpi}{n} ight) + i sin left( dfrac{2kpi}{n} ight) = omega_n^k ]

证毕。

  • (omega_n^{k+frac{n}{2}} = -omega_n^k)

显然

[egin{aligned} omega_n^{k+frac{n}{2}} & =cos left( dfrac{2left(k+frac{n}{2} ight)pi}{n} ight) + i sin left( dfrac{2left(k+frac{n}{2} ight)pi}{n} ight) & = cos left( dfrac{2kpi+npi}{n} ight) + i sin left( dfrac{2kpi+npi}{n} ight) & = cos left( dfrac{2kpi}{n} +pi ight) + i sin left( dfrac{2kpi}{n} +pi ight) & = -cos left( dfrac{2kpi}{n} ight) - i sin left( dfrac{2kpi}{n} ight) & = -omega_n^k end{aligned}]

证毕。

  • (sum limits_{k=0}^{n-1} omega_n^k = 0)

显然

[egin{aligned} sum limits_{k=0}^{n-1} omega_n^k & = (omega_n^1)^k &= dfrac{omega_n^n -1}{omega_n^1 -1} &= dfrac{omega_n^0 -1}{omega_n^1 -1} &= 0 end{aligned}]


至此全剧终。

大家可能会很惊讶这有什么用呢?但事实就是他能做FFT,小编也感到非常惊讶。

以上是关于单位根 入门的主要内容,如果未能解决你的问题,请参考以下文章

JavaFX 入门

JavaScript--快速入门 & 数据存储单位

二叉树入门学习

《C#零基础入门之百识百例》(四十四)静态类 -- 温度单位转换

二分答案经典入门题:)

CPU入门