【無限遠点を巡る数理】オイラーの公式と等比数列③Cos波とSin波の正体？

(2021.1.15)Rによる投稿
(2021.3.19)Tex導入

以前の投稿では**複素数列**<font color=purple>SVoI</font>(<font color=blue>Simple Vibration of Imaginal=虚数単振動</font>)<font color=green>Αn</font>(<font color=blue>n=1⇄-1</font>)と**複素関数**<font color=purple>e^iθ</font>の関係を探るうちに**虚数共役**(<font color=blue>Imaginary Conjugate</font>)に対応する**実数共役**(<font color=blue>Real Conjugate</font>)の概念に邂逅しました。元来は二つ合わせて**複素共役**(<font color=blue>Complex Conjugate</font>)概念の筈ですが、コンピューターの挙動に怪しい箇所が…
[【無限遠点を巡る数理】オイラーの公式と等比数列①その根本的差異について。](https://qiita.com/ochimusha01/items/acb68f984865c7597ed6)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/825454ca-0a42-34be-a4bc-9f4510c094bd.png)

さすが**複素関数分野**の独習には**参考書導入**が不可欠です。
[高校数学でわかる複素関数　微分からコーシー積分、留数定理まで (ブルーバックス) | 竹内淳 | 数学 | Kindleストア | Amazon](https://www.amazon.co.jp/dp/B07SQQYY3L/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)

>①オイラーの公式を用いると**コサイン波**$\cos(θ)$と**サイン波**$\sin(θ)$を$e^{θi}$と$e^{-θi}$で表せます。

```math
e^{θi}=\cos(θ)+\sin(θ)i(2-0)\\
e^{-θi}=\cos(-θ)+\sin(-θ)i=\cos(-θ)-\sin(θ)i…(2-1)
```

>②**コサイン波**$\cos(θ)$の場合は…

```math
e^{θi}+e^{-θi}=2\cos(θ)=\frac{e^{θi}+e^{-θi}}{2}…(2-2)
```

>③**サイン波**の場合は(2-0)式より(2-1)式を引いて2iで割ります。

```math
\frac{e^{θi}-e^{-θi}}{2i}…(2-3)
```

>④**複素数の極形式**も次の様に指数関数で表せます。

```math
a+bi=r(\cos(θ)+\sin(θi))=re^{iθ}
```

>⑤また**複素共役**は以下となります。

```math
a-bi=r(cos(θ)-sin(θi))=re^{-iθ}
```

>⑥**ピタゴラスの定理**はこう表されます。

```math
cos(θ)^2+sin(θ)^2\\
=\frac{e^{2θ}+2(e^{iθ}×e^{-iθ})+e^{-2θ}}{4}-\frac{e^{2θ}-2(e^{iθ}×e^{-iθ})+e^{-2θ}}{4}\\
=\frac{4(e^{iθ}×e^{-iθ})}{4}=1
```
この**自明の場合**(<font color=blue>Trival Case</font>)の連続による立板に水を流す様な流暢な説明こそが専門家による整理され尽くした解説の魅力ですね。どうやら「<font color=purple>対称的なものと交代的</font>（<font color=blue>反対称的</font>）<font color=purple>なものに分解するための恒等式</font>」$x=\frac{x+y}{2}+\frac{x-y}{2}$と密接な関係にある様です。というより、むしろ逆に上掲の場合こそがこの概念の出発点とも?
[行列・関数・多項式に共通する有名な性質 | 高校数学の美しい物語](https://mathtrain.jp/sym_alt)

>①**任意の行列**は**対称行列**と**交代行列**の和に分解可能である。

```math
A=\frac{A+At}{2}+\frac{A-At}{2}
```

>②**任意の関数**は**偶関数**と**奇関数**の和に分解可能である。

```math
f(x)=\frac{f(x)+f(-x)}{2}+\frac{f(x)-f(-x)}{2}
```

>③**任意の2変数関数**は**対称式**と**交代式**（<font color=blue>反対称式</font>）の和に分解可能である。

```math
f(x,y)=\frac{f(x,y)+f(y,x)}{2}+\frac{f(x)-f(y,x)}{2}
```

>この考え方を援用すれば、**指数関数**<font color=purple>e^x</font>も，**偶関数**と**奇関数**の和で表せます。

```math
e^x=\frac{e^x+e^−x}{2}+\frac{e^x−e^−x}{2}
```


>実は右辺の**偶関数**部分は**カテナリー**(<font color=blue>懸垂線</font>)と呼ばれる有名な曲線です。**偶関数**の部分は$cosh(x)$、**奇関数**の部分は$sinh(x)$とも表され，**双曲線関数**とも呼ばれます。

[双曲線関数 - Wikipedia](https://ja.wikipedia.org/wiki/%E5%8F%8C%E6%9B%B2%E7%B7%9A%E9%96%A2%E6%95%B0)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/60568342-9f4d-8165-8c62-3d392b1bc710.png)

```R

cx0<-seq(-2,2,length=41)
f0<-function(x) {(exp(x)+exp(-x))/2+(exp(x)-exp(-x))/2}
cy0<-f0(cx0)
plot(cx0,cy0,type="l",xlim=c(-2,2),ylim=c(-4,4),main="exp(x)=(exp(x)+exp(-x))/2+(exp(x)-exp(-x))/2",xlab="X",ylab="Y",col=rgb(0,1,0))

par(new=T)
f1<-function(x) {(exp(x)+exp(-x))/2}
cy1<-f1(cx0)
plot(cx0,cy1,type="l",xlim=c(-2,2),ylim=c(-4,4),main="",xlab="",ylab="",col=rgb(0,0,1))

par(new=T)
f2<-function(x) {(exp(x)-exp(-x))/2}
cy2<-f2(cx0)
plot(cx0,cy2,type="l",xlim=c(-2,2),ylim=c(-4,4),main="",xlab="",ylab="",col=rgb(1,0,0))

abline(h=0,col=c(200,200,200))
abline(v=0,col=c(200,200,200))

legend("bottomright", legend=c("y=exp(x)=coshx+sinhx","coshx=(exp(x)+exp(-x))/2","sinhx=(exp(x)-exp(-x))/2"), lty =c(1,1,1),col=c(rgb(0,1,0),rgb(0,0,1),rgb(1,0,0)))
```
さらには、**以下の関数の挙動**も取り込んでいかないといけません。
[【Rで球面幾何学】そもそも複素数Xi（x*(0+1i)）はどう振る舞う？](https://qiita.com/ochimusha01/items/3130ceb4a3500bfeb9d6)

**実数関数**$y=(1+0i)X^n$の場合(<font color=blue>第一象限の虚数部が動かない</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210114/20210114233803.gif)

**複素関数**$y=(0+1i)X^n$の場合(<font color=blue>実数部と虚数部の交代が起こる</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210114/20210114234956.gif)

**実数関数**$y=\log(n,(1+0i)x)$の場合(<font color=blue>第一象限の虚数部が動かない</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210115/20210115000948.gif)

**複素関数**$y=\log(n,(0+1i)x)$の場合(<font color=blue>実数部と虚数部の交代が起こる</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210115/20210115001704.gif)

なるほど、これまで**実数共役**(<font color=blue>Real Conjugate</font>)の概念を私の視野から隠してきたのは、この「<font color=purple>第一象限の実数関数では虚数部が動かない</font>(<font color=blue>第四象限の動きも異なる。第二象限と第三象限の動きは同じ</font>)」なる振る舞いだったのです。そして**指数関数**<font color=purple>Y=X^N</font>の**実数部**の挙動は**マクローリン級数**(<font color=blue>McLaughlin Series</font>)による近似過程</font>そのままです。
[【Rで球面幾何学】オイラーの公式を導出したマクローリン級数の限界？](https://qiita.com/ochimusha01/items/4a484d5759f96abb0ab3)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2F0a9d3bb6-1636-86b7-78f8-c03fef2238a2.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=4976bcb47665da169061a5de03eead5f)
さて、こうした話は何処へ**収束**(<font color=blue>Convergence</font>)していくのでしょう？
#そもそも<font color=green>(0±1i)</font>を掛けるとは?
とりあえず上掲式が処理過程でどう見えるかプログラムでも確認していきましょう。まずは**ガウス平面**(<font color=blue>Gaussian plane</font>) 上で<font color=green>(0±1i)</font>を掛ける事にどういう意味があるか確かめる必要がありますね。

[複素平面(Complex Plane) - Wikipedia](https://ja.wikipedia.org/wiki/%E8%A4%87%E7%B4%A0%E5%B9%B3%E9%9D%A2)

>**複素数**<font color=purple>z=x+iy</font>を**直交座標**<font color=green>(x,y)</font>に対応させた**直交座標平面**のことである。**複素数**の**実部**を表す軸を**実軸**(<font color=blue>Real Axis=実数直線</font>)、**虚部**を表す軸を**虚軸**(<font color=blue>Imaginary Axis)という。
>
><font color=green>1811年頃</font>に**ガウス**によって導入されたため、**ガウス平面**(<font color=blue>Gaussian plane</font>)とも呼ばれる。一方、それに先立つ<font color=green>1806年</font>に<font color=purple>Jean-Robert Argand</font>も同様の手法を用いたため、**アルガン図**(<font color=blue>Argand Diagram</font>)とも呼ばれている。さらに、それ以前の<font color=green>1797年</font>の<font color=purple>Caspar Wessel</font>の書簡にも登場している。このように**複素数の幾何的表示**はガウス以前にも知られていたが、今日用いられているような形式で複素平面を論じたのはガウスである。三者の名前をとって**ガウス・アルガン平面**、**ガウス・ウェッセル平面**などとも言われる。
>
>英称<font color=purple>Complex Plane</font>の訳として複素平面と呼ぶことも少なくなく、大学以上の数学書では『**複素平面**』または『**ガウス平面**』の方が〔<font color=blue>複素数平面よりも</font>〕圧倒的に主流であるとの見解がある。しかし、接頭辞「**複素—**」を「<font color=purple>係数体を複素数体とする</font>」という意味に解釈すると、複素数を成分とする「**平面**」という意味になり、<font color=purple>C^2</font>（<font color=blue>実部と虚部に分けた実4次元線形空間=二次元複素解析空間</font>）を指すので、文脈によってどちらを指しているかは注意が必要である。日本の高等学校の学習指導要領では現在は「**複素数平面**」が用いられている。

これ自体は簡単。**ガウス平面上**において座標を**実部**中心に<font color=green>±90度</font>回転させるのです。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210121/20210121175312.gif)

```R
rol01<-function(Rad){
#Imaginal
i0<-rev(seq(-1,1,length=21))
#(0+1i)→(0-1i)
s0<-complex(re=0,im=i0)
s1<-s0*(0+1i)
s2<-s0*(0-1i)
plot(s0,type="b",xlim=c(-1,1),ylim=c(-1,1),main="(0+1i)×(0±1i)",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
par(new=T) 
plot(s1,type="b",xlim=c(-1,1),ylim=c(-1,1),main="",xlab="",ylab="",col=rgb(0,1,0))
segments(Re(s0[1]),Im(s0[1]),Re(s0[Rad]),Im(s0[Rad]),col=rgb(0,0,0))
segments(Re(s1[1]),Im(s1[1]),Re(s1[Rad]),Im(s1[Rad]),col=rgb(0,0,1))
segments(Re(s2[1]),Im(s2[1]),Re(s2[Rad]),Im(s2[Rad]),col=rgb(1,0,0))
legend("bottomleft",legend=c("s=(0+1i)→(0-1i)","s×(0+1i)","s×(0-1i)"),lty=c(1,1,1),col=c(rgb(0,0,0),rgb(0,0,1),rgb(1,0,0)))
}

#アニメーション表示
library("animation")
Time_Code=c(1:21)
saveGIF({
for (i in Time_Code){
　　rol01(i)
}
}, interval = 0.1, movie.name = "rol01.gif")
```
#Cos波の正体?
まずは<font color=purple>Cos波</font>の計算過程を式そのままに図示してみると、ただでさえ距離が足りてない上(<font color=blue>端が欠ける</font>)、<font color=purple>e^θi+e^-θi</font>に対して「**中心**{<font color=green>0,1</font>},**半径**<font color=green>2</font><font color=purple>の円弧の</font><font color=green>cos(θ)</font>」を、<font color=purple>(e^θi+e^-θi)/2</font>に対して「**中心**{<font color=green>0,1/2</font>},**半径**<font color=green>1</font><font color=purple>の円弧の</font><font color=green>cos(θ)</font>」を返してきます。

<font color=purple>e^θi+e^-θi</font>
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210115/20210115034029.gif)

```R
cos01<-function(Rad){
#Imaginal
i0<-seq(-1,1,length=21)
#(0-1i)→(0+1i)
Imaginal<-complex(re=0,im=i0)
s0<-exp(Imaginal)+Conj(exp(Imaginal))
plot(s0,type="b",xlim=c(0,2),ylim=c(-1/2,1/2),main="e^θi+e^-θi",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
segments(Re(s0[1]),Im(s0[1]),Re(s0[Rad]),Im(s0[Rad]),col=rgb(1,0,0))
legend("bottomleft", legend="e^θi+e^-θi", lty =1,col=rgb(0,1,0))
}

#アニメーション表示
library("animation")
Time_Code=c(1:21)
saveGIF({
for (i in Time_Code){
　　cos01(i)
}
}, interval = 0.1, movie.name = "Cos01.gif")

```
<font color=purple>(e^θi+e^-θi)/2</font>
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210115/20210115034210.gif)

```R
cos01<-function(Rad){

#Imaginal
i0<-seq(-1,1,length=21)
#(0-1i)→(0+1i)
Imaginal<-complex(re=0,im=i0)

s0<-(exp(Imaginal)+Conj(exp(Imaginal)))/2
plot(s0,type="b",xlim=c(0,2),ylim=c(-1/2,1/2),main="(e^θi+e^-θi)/2",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
segments(Re(s0[1]),Im(s0[1]),Re(s0[Rad]),Im(s0[Rad]),col=rgb(1,0,0))
legend("bottomleft", legend="(e^θi+e^-θi)/2", lty =1,col=rgb(0,1,0))
}

#アニメーション表示
library("animation")
Time_Code=c(1:21)
saveGIF({
for (i in Time_Code){
　　cos01(i)
}
}, interval = 0.1, movie.name = "Cos02.gif")
```

**添字**に<font color=green>π/2</font>を掛ける事によって初めて見慣れた**円状分布**(<font color=blue>Circular Distribution</font>)が現れるのです。

<font color=purple>e^(θi×π/2)+e^(-θi×π/2)</font>
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210115/20210115034423.gif)

```R
cos01<-function(Rad){
#Imaginal
i0<-rev(seq(-1,1,length=21))
#(0-1i)→(0+1i)
Imaginal<-complex(re=0,im=i0)
s0<-exp(Imaginal*pi/2)+Conj(exp(Imaginal*pi/2))
plot(s0,type="b",xlim=c(0,2),ylim=c(-1/2,1/2),main="e^(θi×π/2)+e^(-θi×π/2)",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
segments(Re(s0[1]),Im(s0[1]),Re(s0[Rad]),Im(s0[Rad]),col=rgb(1,0,0))
legend("bottomleft", legend="e^(θi×π/2)+e^(-θi×π/2)", lty =1,col=rgb(0,1,0))

}

#アニメーション表示
library("animation")
Time_Code=c(1:21)
saveGIF({
for (i in Time_Code){
　　cos01(i)
}
}, interval = 0.1, movie.name = "Cos11.gif")

```
<font color=purple>(e^(θii×π/2)+e^(-θii×π/2))/2</font>
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210115/20210115034628.gif)

```R
cos01<-function(Rad){
#Imaginal
i0<-rev(seq(-1,1,length=21))
#(0-1i)→(0+1i)
Imaginal<-complex(re=0,im=i0)

s0<-(exp(Imaginal*pi/2)+Conj(exp(Imaginal*pi/2)))/2
plot(s0,type="b",xlim=c(0,2),ylim=c(-1/2,1/2),main="(e^(θii×π/2)+e^(-θii×π/2))/2",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
segments(Re(s0[1]),Im(s0[1]),Re(s0[Rad]),Im(s0[Rad]),col=rgb(1,0,0))
legend("bottomleft", legend="(e^(θii×π/2)+e^(-θii×π/2))/2", lty =1,col=rgb(0,1,0))
}

#アニメーション表示
library("animation")
Time_Code=c(1:21)
saveGIF({
for (i in Time_Code){
　　cos01(i)
}
}, interval = 0.1, movie.name = "Cos12.gif")

```

#Sin波の正体?

<font color=purple>Sin波</font>の場合もやはり、計算過程を式そのままに図示すると距離が足りていません(<font color=blue>端が欠ける</font>)。

<font color=purple>e^θi-e^-θi</font>
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210115/20210115034853.gif)

```R
sin01<-function(Rad){

#Imaginal
i0<-rev(seq(-1,1,length=21))
#(0-1i)→(0+1i)
Imaginal<-complex(re=0,im=i0)

s0<-exp(Imaginal)-Conj(exp(Imaginal))
plot(s0,type="b",xlim=c(-2,2),ylim=c(-2,2),main="e^θi-e^-θi",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
segments(Re(s0[1]),Im(s0[1]),Re(s0[Rad]),Im(s0[Rad]),col=rgb(1,0,0))
legend("bottomleft", legend="e^θi-e^-θi", lty =1,col=rgb(0,1,0))

}

#アニメーション表示
library("animation")
Time_Code=c(1:21)
saveGIF({
for (i in Time_Code){
　　sin01(i)
}
}, interval = 0.1, movie.name = "Sin01.gif")
```
<font color=purple>(e^θi-e^-θi)/2(0±1i)</font>
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210115/20210115035048.gif)

```R
sin01<-function(Rad){

#Imaginal
i0<-seq(-1,1,length=21)
#(0-1i)→(0+1i)
Imaginal<-complex(re=0,im=i0)

s0<-(exp(Imaginal)-Conj(exp(Imaginal)))/(2*(0+1i))
plot(s0,type="b",xlim=c(-1,1),ylim=c(-1/2,1/2),main="(e^θi+e^-θi)/2i",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
segments(Re(s0[1]),Im(s0[1]),Re(s0[Rad]),Im(s0[Rad]),col=rgb(1,0,0))
legend("bottomleft", legend="(e^θi-e^-θi)/2i", lty =1,col=rgb(0,1,0))
}

#アニメーション表示
library("animation")
Time_Code=c(1:21)
saveGIF({
for (i in Time_Code){
　　sin01(i)
}
}, interval = 0.1, movie.name = "Sin04.gif")
```
やはりこちらも添字に<font color=green>π/2</font>を掛ける事によって初めて見慣れた**円状分布**(<font color=blue>Circular Distribution</font>)が現れるのです。

<font color=purple>e^(θi×π/2)-e^(-θi×π/2)</font>
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210115/20210115035420.gif)

```R
sin01<-function(Rad){

#Imaginal
i0<-rev(seq(-1,1,length=21))
#(0-1i)→(0+1i)
Imaginal<-complex(re=0,im=i0)

s0<-exp(Imaginal*pi/2)-Conj(exp(Imaginal*pi/2))
plot(s0,type="b",xlim=c(-2,2),ylim=c(-2,2),main="e^(θi×π/2)-e^(-θi×π/2)",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
segments(Re(s0[1]),Im(s0[1]),Re(s0[Rad]),Im(s0[Rad]),col=rgb(1,0,0))
legend("bottomleft", legend="e^(θi×π/2)-e^(-θi×π/2)", lty =1,col=rgb(0,1,0))

}

#アニメーション表示
library("animation")
Time_Code=c(1:21)
saveGIF({
for (i in Time_Code){
　　sin01(i)
}
}, interval = 0.1, movie.name = "Sin11.gif")
```
<font color=purple>(e^(θi×π/2)-e^(-θi×π/2))/(2*(0±1i))</font>
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210115/20210115035815.gif)

```R
sin01<-function(Rad){

#Imaginal
i0<-rev(seq(-1,1,length=21))
#(0-1i)→(0+1i)
Imaginal<-complex(re=0,im=i0)

s0<-(exp(Imaginal*pi/2)-Conj(exp(Imaginal*pi/2)))/(2*(0+1i))
plot(s0,type="b",xlim=c(-1,1),ylim=c(-1/2,1/2),main="(e^(θii×π/2)-e^(-θii×π/2))/2(2*(0±1i))",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
segments(Re(s0[1]),Im(s0[1]),Re(s0[Rad]),Im(s0[Rad]),col=rgb(1,0,0))
legend("bottomleft", legend="(e^(θi×π/2)-e^(-θi×π/2))/(2*(0±1i))", lty =1,col=rgb(0,1,0))

}

#アニメーション表示
library("animation")
Time_Code=c(1:21)
saveGIF({
for (i in Time_Code){
　　sin01(i)
}
}, interval = 0.1, movie.name = "Sin12.gif")
```

#オイラーの定理<font color=purple>e^πi=cos(θ)+sin(θ)i</font>から円状分布(<font color=blue>Circular Distribution</font>)の世界へ

どうやら**四元数**計算で**外積**や**内積**だけ抽出する演算と関係ありそうです。
[四元数を作ろう](https://qiita.com/7shi/items/2036e7a739c2a9e04025)

とはいえ、こうして得られた**円状分布**(<font color=blue>Circular Distribution</font>)は、<font color=purple>cos(θ)</font>の場合に<font color=green>0→1→0</font>、<font color=purple>sin(θ)</font>の場合に<font color=green>-1→0→1</font>と推移してしまいます(<font color=blue>見慣れたcos(θ)/sin(θ)の振る舞いだと第四象限から第二象限に掛けての振る舞い</font>)、とはいえ両波形は位相が<font color=green>90度</font>(<font color=blue>π/2ラジアン</font>)ズレてさえいればセットで無限周期で円を描き続けるので、どうとでも調整が効く次第。

* <font color=green>cos(θ)=±(1-abs(sin(θ))</font>
* <font color=green>sin(θ)=±(1-abs(cos(θ))</font>

こういう対応関係も利用可能です。
[【初心者向け】方形描画関数①三角関数との関係。](https://qiita.com/ochimusha01/items/9183360c0009cfac5b04)

むしろ気になるのは、これだけ選択肢があり、かつ明らかに語源的には**正弦波**(<font color=blue>Sine Wave</font>)あっての**余弦波**(<font color=blue>Cosine Wave</font>)だったにも関わらず、歴史的にはいつの間にか立場が逆転しまった流れ。

* 最初の契機として想定されるのが、**マクローリン級数**による近似を出発点としての**オイラーの定理**<font color=purple>e^πi=cos(θ)+sin(θ)i</font>の発見。以降<font color=purple>cos(θ)</font>は偶関数、<font color=purple>sin(θ)</font>は奇関数の代表例と目されていくが、**マクローリン級数による近似**ではまず**偶関数**が最初に現れるのである。<br>[【Rで球面幾何学】オイラーの公式を導出したマクローリン級数の限界？](https://qiita.com/ochimusha01/items/4a484d5759f96abb0ab3)
* 次の重要な契機として想定されるのが**ガウス平面**(<font color=blue>Gaussian Plane</font>)の制定で、この時点までに既に完全に(<font color=blue>Cos(θ)によって表される</font>)<font color=green>X軸</font>上の**実数部**が主、(<font color=blue>Sin(θ)iによって表される</font>)<font color=green>Y軸</font>上の**虚数部**が従として動くイメージが樹立していたと想定される。<br>[複素平面 - Wikipedia](https://ja.wikipedia.org/wiki/%E8%A4%87%E7%B4%A0%E5%B9%B3%E9%9D%A2)

脱線が過ぎました。それはそれとして、透視図法に対応する**自然指数関数**(<font color=blue>Natural Exponential function</font>)や**自然対数関数**(<font color=blue>Natural Logarithmic function</font>)の概念、すなわち「<font color=green>xy=1</font>(<font color=blue>面積</font>)<font color=purple>となる数列の積の極限</font>」が**ピタゴラスの定理**(<font color=blue>Pythagorean Theorem</font>)<font color=green>z^2=sqrt(x^2+y^2)</font>と関係してくるのが、なんとも不思議な感じがします。
[【無限遠点を巡る数理】オイラーの公式と等比数列②線形性ならぬ円形性について](https://qiita.com/ochimusha01/items/93fed1b5d3009032833d)

さらに奇異に感じるのが「<font color=purple>X軸が奇数系でY軸が偶数系</font>」の以下の方眼。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/50d94038-7a14-18ef-be17-2318bd388d74.png)

```R
c0<-seq(-pi,pi,length=61)
cx<-cos(c0)
cy<-sin(c0)
plot(cx,cy,type="l",asp=1,xlim=c(-1,1),ylim=c(-1,1),main="Cos(θ) & Sin(θ)",xlab="Cos(θ)",ylab="Sin(θ)",col=rgb(0,1,0))

c2<-seq(-pi,pi,length=31)

for (i in c2){
　　abline(h=sin(i),col=c(200,200,200))
}

for (i in c2){
　　abline(v=cos(i),col=c(200,200,200))
}
c1<-c(3/4,1/2,1/4)

for (i in c1){
par(new=T)
plot(cx*i,cy*i,type="l",asp=1,xlim=c(-1,1),ylim=c(-1,1),main="",xlab="",ylab="",col=rgb(0,1,0))
}
c3<-c(cos(c2[3]),cos(c2[5]),cos(c2[7]),cos(c2[9]))
for (i in c3){
par(new=T)
plot(cx*i,cy*i,type="l",asp=1,xlim=c(-1,1),ylim=c(-1,1),main="",xlab="",ylab="",col=rgb(1,1,0))
}

abline(h=0,col=rgb(1,0,0))
abline(v=0,col=rgb(1,0,0))

legend("bottomleft", legend=c("1,4/3,cos(π/3)=1/2,4/1","cos(π*14/15),cos(π*12/15),cos(π*6/15),cos(π*7/15)"), cex=0.75,lty =c(1,1),col=c(rgb(0,1,0),rgb(1,1,0)))
```
で、とっさに思いついたのが(<font color=blue>しばらく前から使い始めた、角度の概念を放棄した</font>)**円状対数尺**(<font color=blue>Circular Logarithmic Scale</font>)だったという次第。要するに**共役**(<font color=blue>Conjugate</font>)概念の全周化…もはや<font color=purple>Cos(θ)</font>と<font color=purple>Sin(θ)</font>を区別する必要がありません。
[【初心者向け】複素共役のアニメーション表示について。](https://qiita.com/ochimusha01/items/e0bb2789a420d3317cf1)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn-ak.f.st-hatena.com%252Fimages%252Ffotolife%252Fo%252Fochimusha01%252F20201116%252F20201116230848.gif%3Fixlib%3Drb-1.2.2%26auto%3Dformat%26gif-q%3D60%26q%3D75%26w%3D1400%26fit%3Dmax%26s%3D0489492d3b778bcf1b6c8b3886af31c4?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=b1273a9440db7db91f80a947bffa0204)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20201113%2F20201113204552.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=b46be23e211ab7df85a44ed1887614b9)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20201113%2F20201113205243.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=89f7c0b4a4df01f04f8e790faa13df98)
どうやら<font color=purple>e^x</font>が幾ら**微分**しても、幾ら**積分**しても<font color=purple>e^x</font>のままである事と何か関係がありそうです。
[【無限遠点を巡る数理】オイラーの公式と等比数列④「中学生には難しいが高校生なら気付くレベル」？](https://qiita.com/ochimusha01/items/10f0276f9850bea6c993)

```math
e^{x}\frac{d^n}{dθ^n}=(e^{x},e^{x},e^{x},…)\\
\int \int \int … \int e^{x}(dθ)=(e^{x},e^{x},e^{x},…)
```
#python導入による全体像のまとめ。
**Rの場合**(2021年1月15日時点での挑戦)

[【無限遠点を巡る数理】オイラーの公式と等比数列③Cos波とSin波の正体？](https://qiita.com/ochimusha01/items/9014922c8aeff3dd9670)
$i_n$を**複素数座標系**(Real,Imaginal)上における(0,-1)から(0,1)にかけて連続する数列と想定すると$\pm e^{\frac{πi_n}{2}}$の結果は以下となる。

```math
i_{n}(n=-1→1)=（0,…,0）\\
\pm e^{\frac{πi_n}{2}}= \pm π
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/e1f43974-5252-8964-d289-61b233fe588c.png)
これが共役関係で、$i_n × \pm i$は数列$i_n$を±90度($\frac{π}{2}$)回転させる。
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20210121%2F20210121175312.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=229631f74bd8450a37b7234d13b67a24)
この基本に従うと$\cos(θ)$や$\sin(θ)$の導出過程は以下となる。

```math
I_{n}(n=-π→+π)=（-π,…,+π）\\
i_n=I_{n}×i\\
\cos(θ)=\frac{e^{+i_{n}}+e^{-i_{n}}}{2}
```
①共益関係から、$e^{+θi}+e^{-θi}$に該当する演算で「**2倍の横棒**」が出来る。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210313/20210313042129.gif)
②この「**2倍の横棒**」を2で割って平均を求めると$\cos(θ)$になる。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210313/20210313042557.gif)

```math
I_{n}(n=-π→+π)=（-π,…,+π）\\
i_n=I_{n}×i\\
\sin(θ)=\frac{e^{+i_{n}}-e^{-i_{n}}}{2i}
```
①共役関係から、$e^{+θi}-e^{-θi}$に該当する演算で「**2倍の縦棒**」が出来る。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210313/20210313043147.gif)

②この「**2倍の縦棒**」を2で割って平均を求め、90度回転させると$\sin(θ)$となる。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210313/20210313043545.gif)

<font color=red>画像の処理ではは$\cos(θ)$と$\sin(θ)$の内容が逆転しています。実際にはこの処理をさらに90度回転させてイメージしないといけません。</font>

**pythonの場合**((2021年3月19日時点の再挑戦))
[等速円運動についての物理学と数学の立場の違い?](https://qiita.com/ochimusha01/items/d5526764c7d1199671df)
上掲の過程をより厳密に見ていこう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/45789436-f1f8-9f14-9733-0b720ffed3d5.png)

```python
import math as m
import cmath as c
import numpy as num
from matplotlib import pyplot as plt

#単位円データ作成
zp=num.linspace(1,-1,31,endpoint = True)*(0+1j)
p0=[]
for nm in range(len(zp)):
    p0.append(c.exp(zp[nm]*m.pi/2))
p1=num.array(p0)
#共役複素数列(-)
m1=-p1

#グラフ表示準備
plt.style.use('default')
fig = plt.figure()

plt.plot(zp.real,zp.imag,color="green",marker=".", label="SV(1→-1)")
plt.plot(p1.real,p1.imag,color="blue",marker=".",  label="e^iπ")
plt.plot(m1.real,m1.imag,color="red",marker=".",  label="e^-iπ")
plt.ylim([-1.1,1.1])
plt.xlim([-1.1,1.1])
plt.title("Conjugate Complex")
plt.xlabel("Real")
plt.ylabel("Imaginal")

ax = fig.add_subplot(111)
ax.set_aspect('equal', adjustable='box')
ax.legend(loc='lower right')

plt.show()
```
$θ_n(n=1→-1)$と置いた場合、 $e^{θ_nπi}$と$e^{-θ_nπi}$が共役関係を構成する。$(n=1→-1)$の条件を満たすのは$θ_n*(0-1i)$の位相。
![output68.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/ece56b83-1a0c-cc20-481a-90fd91a3357e.gif)
そして$e^{θ_nπi}+e^{-θ_nπi}$は幅2倍の横棒、$e^{θ_nπi}-e^{-θ_nπi}$は高さ2倍の縦棒となる。
![output91.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/860a6461-6df5-cec4-401b-29543201af05.gif)

```python
import math as m
import cmath as c
import numpy as num
from matplotlib import pyplot as plt
import matplotlib.animation as animation

#単位円データ作成
z=num.linspace(1,-1,31,endpoint = True)*(1+0j)
zp=z*(0-1j)
p0=[]
for nm in range(len(zp)):
    p0.append(c.exp(zp[nm]*m.pi/2)*(0+1j))
p1=num.array(p0)
#共役複素数列(-)
m1=-p1[::-1]
lx=p1+m1
ly=p1-m1

#グラフ表示準備
plt.style.use('default')
fig = plt.figure()

#関数定義
def Conjugate_Complex(n):
    plt.cla()
    plt.plot(z.real,z.imag,color="green", marker=".")
    plt.plot(p1.real,p1.imag,color="green", marker=".")
    plt.plot(m1.real,m1.imag,color="green", marker=".")
    plt.fill_between(p1.real,p1.imag,facecolor='blue',alpha=0.5)
    plt.fill_between(m1.real,m1.imag,facecolor='red',alpha=0.5)
    plt.plot(lx.real,lx.imag,color="black", marker=".")
    plt.plot(ly.real,ly.imag,color="black", marker=".")
    plt.ylim([-2.1,2.1])
    plt.xlim([-2.1,2.1])
    plt.title("Conjugate Complex")
    plt.xlabel("Real")
    plt.ylabel("Imaginal")
    ax = fig.add_subplot(111)
    ax.set_aspect('equal', adjustable='box')
    #exp(+θi)±exp(-θi)
    plt.plot(lx[0:n].real,lx[0:n].imag,color="cyan", marker=".", label="exp(+θi)+exp(-θi)")
    plt.plot([0,ly[n].real],[0,ly[n].imag],color="magenta", marker=".", label="exp(+θi)-exp(-θi)")
    ax.legend(loc='upper right')

ani = animation.FuncAnimation(fig, Conjugate_Complex, interval=50,frames=len(z))
ani.save("output91.gif", writer="pillow")
```
これを2で割って平均を求めると幅も高さも1に戻る。$\cos(θ)$の導出式は$\frac{e^{θ_nπi}+e^{-θ_nπi}}{2}$なのでこちらの答えはこの時点で得られる。
![output93.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/1ac2d97b-2978-4b06-b118-90672a56f589.gif)

```python
import math as m
import cmath as c
import numpy as num
from matplotlib import pyplot as plt
import matplotlib.animation as animation

#単位円データ作成
z=num.linspace(1,-1,31,endpoint = True)*(1+0j)
zp=z*(0-1j)
p0=[]
for nm in range(len(zp)):
    p0.append(c.exp(zp[nm]*m.pi/2)*(0+1j))
p1=num.array(p0)
#共役複素数列(-)
m1=-p1[::-1]
lx=(p1+m1)/2
ly=(p1-m1)/2

#グラフ表示準備
plt.style.use('default')
fig = plt.figure()

#関数定義
def Conjugate_Complex(n):
    plt.cla()
    plt.plot(z.real,z.imag,color="green", marker=".")
    plt.plot(p1.real,p1.imag,color="green", marker=".")
    plt.plot(m1.real,m1.imag,color="green", marker=".")
    plt.fill_between(p1.real,p1.imag,facecolor='blue',alpha=0.5)
    plt.fill_between(m1.real,m1.imag,facecolor='red',alpha=0.5)
    plt.plot(lx.real,lx.imag,color="black", marker=".")
    plt.plot(ly.real,ly.imag,color="black", marker=".")
    plt.ylim([-1.1,1.1])
    plt.xlim([-1.1,1.1])
    plt.title("Conjugate Complex")
    plt.xlabel("Real")
    plt.ylabel("Imaginal")
    ax = fig.add_subplot(111)
    ax.set_aspect('equal', adjustable='box')
    #exp(+θi)±exp(-θi)
    plt.plot(lx[0:n].real,lx[0:n].imag,color="cyan", marker=".", label="exp(+θi)+exp(-θi)/2")
    plt.plot([0,ly[n].real],[0,ly[n].imag],color="magenta", marker=".", label="exp(+θi)-exp(-θi)/2")
    ax.legend(loc='lower right')

ani = animation.FuncAnimation(fig, Conjugate_Complex, interval=50,frames=len(z))
ani.save("output93.gif", writer="pillow")
```
そしてさらにこれを+90度($+\frac{π}{2}$ラジアン)回転させた$\frac{e^{+θ_n πi}-e^{-θ_nπi}}{2(0+1i)}$の結果が$\sin(0→π)$と一致する。

```python
import math as m
import cmath as c
import numpy as num
from matplotlib import pyplot as plt
import matplotlib.animation as animation

#単位円データ作成
z=num.linspace(1,-1,31,endpoint = True)*(1+0j)
zp=z*(0+1j)
p0=[]
for nm in range(len(zp)):
    p0.append(c.exp(zp[nm]*m.pi/2)*(0+1j))
p1=num.array(p0)
#共役複素数列(-)
m1=-p1[::-1]
lx=(p1+m1)/2
ly1=(p1-m1)/2
ly2=(p1-m1)/(2*(0+1j))
u0=num.linspace(m.pi,0,31,endpoint = True)
u1=[]
for nm in range(len(u0)):
    u1.append(m.sin(u0[nm]))
u2=num.array(u1)
print("Imaginal of $\frac{exp(+θ_nπ(0+1i))-exp(-θ_nπ(0+1i)))}{2}$=",num.round(ly1.imag,8))
print("Real of $\frac{exp(+θ_nπ(0+1i))-exp(-θ_nπ(0+1i))}{2*(0-1i)}=",num.round(ly2.real,8))
print("$\sin(0→π)$=",num.round(u2,8))
```
Imaginal of $\frac{exp(+θ_nπ(0+1i))-exp(-θ_nπ(0+1i)))}{2}$
[0.         0.10452846 0.20791169 0.30901699 0.40673664 0.5
 0.58778525 0.66913061 0.74314483 0.80901699 0.8660254  0.91354546
 0.95105652 0.9781476  0.9945219  1.         0.9945219  0.9781476
 0.95105652 0.91354546 0.8660254  0.80901699 0.74314483 0.66913061
 0.58778525 0.5        0.40673664 0.30901699 0.20791169 0.10452846
 0.        ]
Real of $\frac{exp(+θ_nπ(0+1i))-exp(-θ_nπ(0+1i))}{2*(0+1i)}$
[0.         0.10452846 0.20791169 0.30901699 0.40673664 0.5
 0.58778525 0.66913061 0.74314483 0.80901699 0.8660254  0.91354546
 0.95105652 0.9781476  0.9945219  1.         0.9945219  0.9781476
 0.95105652 0.91354546 0.8660254  0.80901699 0.74314483 0.66913061
 0.58778525 0.5        0.40673664 0.30901699 0.20791169 0.10452846
 0.        ]
$\sin(0→π)$
[0.         0.10452846 0.20791169 0.30901699 0.40673664 0.5
 0.58778525 0.66913061 0.74314483 0.80901699 0.8660254  0.91354546
 0.95105652 0.9781476  0.9945219  1.         0.9945219  0.9781476
 0.95105652 0.91354546 0.8660254  0.80901699 0.74314483 0.66913061
 0.58778525 0.5        0.40673664 0.30901699 0.20791169 0.10452846
 0.        ]

かかる共役関係は$-e^{θ_nπi}$と$-e^{-θ_nπi}$の場合も維持され、この場合$(n=1→-1)$の条件が継承されるのは$θ_n*(0+1i)$の位相となる。
![output73.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/63fef680-56b1-4478-acc5-9f19bd6b303a.gif)
この場合ももちろん$-(e^{θ_nπi}+e^{-θ_nπi})$は幅2倍の横棒、$e^{-θ_nπi}-e^{+θ_nπi}$は高さ2倍の縦棒となる。
![output94.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/96f2147e-0444-5428-6837-2badba3a31ac.gif)

```python
import math as m
import cmath as c
import numpy as num
from matplotlib import pyplot as plt
import matplotlib.animation as animation

#単位円データ作成
z=num.linspace(1,-1,31,endpoint = True)*(1+0j)
zp=z*(0+1j)
p0=[]
for nm in range(len(zp)):
    p0.append(-c.exp(zp[nm]*m.pi/2)*(0+1j))
p1=num.array(p0)
#共役複素数列(-)
m1=-p1[::-1]
lx=p1+m1
ly=p1-m1

#グラフ表示準備
plt.style.use('default')
fig = plt.figure()

#関数定義
def Conjugate_Complex(n):
    plt.cla()
    plt.plot(z.real,z.imag,color="green", marker=".")
    plt.plot(p1.real,p1.imag,color="green", marker=".")
    plt.plot(m1.real,m1.imag,color="green", marker=".")
    plt.fill_between(p1.real,p1.imag,facecolor='blue',alpha=0.5)
    plt.fill_between(m1.real,m1.imag,facecolor='red',alpha=0.5)
    plt.plot(lx.real,lx.imag,color="black", marker=".")
    plt.plot(ly.real,ly.imag,color="black", marker=".")
    plt.ylim([-2.1,2.1])
    plt.xlim([-2.1,2.1])
    plt.title("Conjugate Complex")
    plt.xlabel("Real")
    plt.ylabel("Imaginal")
    ax = fig.add_subplot(111)
    ax.set_aspect('equal', adjustable='box')
    #exp(+θi)±exp(-θi)
    plt.plot(lx[0:n].real,lx[0:n].imag,color="cyan", marker=".", label="exp(+θi)+exp(-θi)")
    plt.plot([0,ly[n].real],[0,ly[n].imag],color="magenta", marker=".", label="exp(+θi)-exp(-θi)")
    ax.legend(loc='upper right')

ani = animation.FuncAnimation(fig, Conjugate_Complex, interval=50,frames=len(z))
ani.save("output94.gif", writer="pillow")
```
2で割って平均を求めた結果が幅も高さも1に戻るのも同じ。$\cos(θ)$の導出式は$\frac{e^{θ_nπi}+e^{-θ_nπi}}{2}$なのでこちらの答えはこの時点で得られる。符号が逆だが結果は同じ。そう、$\cos(θ)$は「**回転の方向がない**(逆関数を備えない)」偶関数なのである。
![output95.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/e3d0ffb3-1c30-cbfc-888b-eab1646555ee.gif)

```python
import math as m
import cmath as c
import numpy as num
from matplotlib import pyplot as plt
import matplotlib.animation as animation

#単位円データ作成
z=num.linspace(1,-1,31,endpoint = True)*(1+0j)
zp=z*(0+1j)
p0=[]
for nm in range(len(zp)):
    p0.append(-c.exp(zp[nm]*m.pi/2)*(0+1j))
p1=num.array(p0)
#共役複素数列(-)
m1=-p1[::-1]
lx=(p1+m1)/2
ly=(p1-m1)/2

#グラフ表示準備
plt.style.use('default')
fig = plt.figure()

#関数定義
def Conjugate_Complex(n):
    plt.cla()
    plt.plot(z.real,z.imag,color="green", marker=".")
    plt.plot(p1.real,p1.imag,color="green", marker=".")
    plt.plot(m1.real,m1.imag,color="green", marker=".")
    plt.fill_between(p1.real,p1.imag,facecolor='blue',alpha=0.5)
    plt.fill_between(m1.real,m1.imag,facecolor='red',alpha=0.5)
    plt.plot(lx.real,lx.imag,color="black", marker=".")
    plt.plot(ly.real,ly.imag,color="black", marker=".")
    plt.ylim([-1.1,1.1])
    plt.xlim([-1.1,1.1])
    plt.title("Conjugate Complex")
    plt.xlabel("Real")
    plt.ylabel("Imaginal")
    ax = fig.add_subplot(111)
    ax.set_aspect('equal', adjustable='box')
    #exp(+θi)±exp(-θi)
    plt.plot(lx[0:n].real,lx[0:n].imag,color="cyan", marker=".", label="exp(+θi)+exp(-θi)/2")
    plt.plot([0,ly[n].real],[0,ly[n].imag],color="magenta", marker=".", label="exp(+θi)-exp(-θi)/2")
    ax.legend(loc='upper right')

ani = animation.FuncAnimation(fig, Conjugate_Complex, interval=50,frames=len(z))
ani.save("output95.gif", writer="pillow")
```
この場合には-90度($\frac{π}{2}$ラジアン)回転させた$\frac{e^{-θ_n πi}-e^{+θ_nπi}}{2(0-1i)}$の結果が$\sin(0→π)$と一致する。そう、$\sin(θ)$は「**回転の方向がある**(逆関数を備える)」奇関数なのである。

```python
import math as m
import cmath as c
import numpy as num
from matplotlib import pyplot as plt
import matplotlib.animation as animation

#単位円データ作成
z=num.linspace(1,-1,31,endpoint = True)*(1+0j)
zp=z*(0+1j)
p0=[]
for nm in range(len(zp)):
    p0.append(-c.exp(zp[nm]*m.pi/2)*(0+1j))
p1=num.array(p0)
#共役複素数列(-)
m1=-p1[::-1]
lx=(p1+m1)/2
ly1=(p1-m1)/2
ly2=(p1-m1)/(2*(0-1j))
u0=num.linspace(m.pi,0,31,endpoint = True)
u1=[]
for nm in range(len(u0)):
    u1.append(m.sin(u0[nm]))
u2=num.array(u1)
print("Imaginal of $\frac{exp(-θ_nπ(0+1i))-exp(+θ_nπ(0+1i)))}{2}$=",num.round(ly1.imag,8))
print("Real of $\frac{exp(-θ_nπ(0+1i))-exp(+θ_nπ(0+1i))}{2*(0-1i)}=",num.round(ly2.real,8))
print("$\sin(0→π)$=",num.round(u2,8))
```
Imaginal of $\frac{exp(-θ_nπ(0+1i))-exp(+θ_nπ(0+1i)))}{2}$
[-0.         -0.10452846 -0.20791169 -0.30901699 -0.40673664 -0.5
 -0.58778525 -0.66913061 -0.74314483 -0.80901699 -0.8660254  -0.91354546
 -0.95105652 -0.9781476  -0.9945219  -1.         -0.9945219  -0.9781476
 -0.95105652 -0.91354546 -0.8660254  -0.80901699 -0.74314483 -0.66913061
 -0.58778525 -0.5        -0.40673664 -0.30901699 -0.20791169 -0.10452846
 -0.        ]
Real of $\frac{exp(-θ_nπ(0+1i))-exp(+θ_nπ(0+1i))}{2*(0-1i)}$
[0.         0.10452846 0.20791169 0.30901699 0.40673664 0.5
 0.58778525 0.66913061 0.74314483 0.80901699 0.8660254  0.91354546
 0.95105652 0.9781476  0.9945219  1.         0.9945219  0.9781476
 0.95105652 0.91354546 0.8660254  0.80901699 0.74314483 0.66913061
 0.58778525 0.5        0.40673664 0.30901699 0.20791169 0.10452846
 0.        ]
$\sin(0→π)$
[0.         0.10452846 0.20791169 0.30901699 0.40673664 0.5
 0.58778525 0.66913061 0.74314483 0.80901699 0.8660254  0.91354546
 0.95105652 0.9781476  0.9945219  1.         0.9945219  0.9781476
 0.95105652 0.91354546 0.8660254  0.80901699 0.74314483 0.66913061
 0.58778525 0.5        0.40673664 0.30901699 0.20791169 0.10452846
 0.        ]


そんな感じで以下続報…