【無限遠点を巡る数理】オイラーの公式と等比数列①その根本的差異について。

正直、この「**発見**」の余波が続いています。おそらく専門家のとっては「**ああ、あれね**」レベルの話と頭では分かってるんですが…
[【無限遠点を巡る数理】オイラー座標系②複素等比数列による整数概念の再構築。](https://qiita.com/ochimusha01/items/5b095114cafafba8428f)
![image.gif](https://camo.qiitausercontent.com/862b46295d228d3090adc9f20ae63fcd58710938/68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303231303130382f32303231303130383038343735312e676966)
![image.gif](https://camo.qiitausercontent.com/536a61b5d3a89f962a9c3121769d2a1d41e4b831/68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303231303130382f32303231303130383038333832312e676966)
![image.gif](https://camo.qiitausercontent.com/536a61b5d3a89f962a9c3121769d2a1d41e4b831/68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303231303130382f32303231303130383038333832312e676966)

とにかく最大の違いは**オイラーの公式**<font color=purple>exp(±1)^θi</font>の描画する円を構成する**Cos波**と**Sin波**が<font color=green>2π周期</font>なのに対し、**等比数列**<font color=purple>-1^x=(0±1i)^2x</font>の描画する円を構成する**Cos波**と**Sin波**が<font color=green>2周期</font>だという事。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/896b1809-1b12-7661-c613-7e6e7e7dbe2a.png)

```R
c0=seq(-pi,pi,length=61)
f0<-function(x)exp(1)^(x*(0+1i))
s0=f0(c0)
plot(s0,type="l",xlim=c(-pi,pi),ylim=c(-pi,pi),main="exp(1)^(x*(0+1i))",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
par(new=T)
plot(c0,Re(s0),type="l",xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(0,0,1))
par(new=T)
plot(c0,Im(s0),type="l",xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(1,0,0))
legend("bottomleft", legend=c("Circle","Cosine Wave","Sine Wave"), lty =c(1,1,1),col=c(rgb(0,1,0),rgb(0,0,1),rgb(1,0,0)))

```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/43d54c45-05c2-7f7e-85ee-5149c352e024.png)

```R
c0=seq(-pi,pi,length=61)
f0<-function(x)exp(1)^(x*(0+1i))
s0=f0(c0)
plot(s0,type="l",xlim=c(-pi,pi),ylim=c(-pi,pi),main="exp(1)^(x*(0-1i))",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
par(new=T)
plot(c0,Re(s0),type="l",xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(0,0,1))
par(new=T)
plot(c0,Im(s0),type="l",xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(1,0,0))
legend("bottomleft", legend=c("Circle","Cosine Wave","Sine Wave"), lty =c(1,1,1),col=c(rgb(0,1,0),rgb(0,0,1),rgb(1,0,0)))
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/d238b555-1a67-3be9-177f-3165bbcbe247.png)

```R

c10<-seq(-1,1,length=41)
f0<-function(x)(0+1i)^(2*x)
s0=f0(c10) 
plot(s0,type="l",xlim=c(-1,1),ylim=c(-1,1),main="(0+1i)^2x",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))

par(new=T)
plot(c10,Re(s0),type="l",xlim=c(-1,1),ylim=c(-1,1),main="",xlab="",ylab="",col=rgb(0,0,1))
par(new=T)
plot(c10,Im(s0),type="l",xlim=c(-1,1),ylim=c(-1,1),main="",xlab="",ylab="",col=rgb(1,0,0))
legend("bottomleft", legend=c("Circle","Cosine Wave","Sine Wave"), lty =c(1,1,1),col=c(rgb(0,1,0),rgb(0,0,1),rgb(1,0,0)))

```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/51bd3638-268d-dc82-2592-268cb2608bc8.png)

```R
c10<-seq(-1,1,length=41)
f0<-function(x)(0-1i)^(2*x)
s0=f0(c10) 
plot(s0,type="l",xlim=c(-1,1),ylim=c(-1,1),main="(0-1i)^2x",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))

par(new=T)
plot(c10,Re(s0),type="l",xlim=c(-1,1),ylim=c(-1,1),main="",xlab="",ylab="",col=rgb(0,0,1))
par(new=T)
plot(c10,Im(s0),type="l",xlim=c(-1,1),ylim=c(-1,1),main="",xlab="",ylab="",col=rgb(1,0,0))
legend("bottomleft", legend=c("Circle","Cosine Wave","Sine Wave"), lty =c(1,1,1),col=c(rgb(0,1,0),rgb(0,0,1),rgb(1,0,0)))
```

そして**オイラーの公式**<font color=green>exp(±1)^θi</font>自体について、これまでの投稿ではこう指摘しています。

* **円分布**自体の生成に関わっているのは<font color=purple>i=(0±1i)^2</font>の部分。これ以外の**複素数**は**無限**に拡散してしまうか<font color=green>0</font>に収束してしまう。<br>[【無限遠点を巡る数理】オイラー座標系②複素等比数列による整数概念の再構築。](https://qiita.com/ochimusha01/items/5b095114cafafba8428f)
* **複素関数**<font color=purple>(0±1i)^2x</font>の<font color=green>x</font>には**単位円**の<font color=purple>SVoR</font>(<font color=blue>Simple vibration on Radius</font>)(<font color=green>-1→0→1</font>)が入る。これを<font color=green>2</font>で割って<font color=green>π</font>を掛ける事でSin波</font>やCos波</font>への対応を準備しているものと推測される。見え方としては「<font color=purple>半径をπ/2倍する</font>」イメージ?<br>[【初心者向け】指数・対数関数の発見とそれ以降の発展について。](https://qiita.com/ochimusha01/items/3e28f4f06abd8cef0af1)
* **自然指数関数**<font color=green>e^x</font>自体の機能は**Y軸**{<font color=green>-Inf,0,Inf</font>}の{<font color=green>0,1,Inf</font>}への射影のみ。<br>[【初心者向け】指数・対数関数の発見とそれ以降の発展について。](https://qiita.com/ochimusha01/items/3e28f4f06abd8cef0af1)

このうち**複素関数**<font color=green>(0±1i)^2x</font>についての情報が決定的に不足している訳です。そして最初に気になるのが以下の対比。

#オイラーの公式「<font color=purple>exp(±1)^θi</font>」の場合。
[【Rで球面幾何学】指数関数や対数関数における「ネイピア数周期」の意味について。](https://qiita.com/ochimusha01/items/bebb9eb56346f57ff651)
**オイラーの公式**<font color=purple>exp(±1)^θi</font>では、<font color=green>-π/2~π/2</font>を範囲として与えられた場合、および根が<font color=green>exp(1/2)</font>の時に**半円**しか描画されません(<font color=blue>片道</font>)。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210108/20210108204726.gif)

```R
Src01<-function(Rad){
c0=rev(seq(-pi/2,pi/2,length=61))
f0<-function(x)exp(1)^(x*(0+1i))
f1<-function(x)exp(1)^(x*(0-1i))
s0=f0(c0)
s1=f1(c0)
plot(s0,type="l",xlim=c(-1,1),ylim=c(-1,1),main="exp^(x*(0±1i))",xlab="Real",ylab="Imaginal",col=rgb(0,0,1))
segments(0,0,Re(s0[Rad]),Im(s0[Rad]),col=rgb(0,1,0))
segments(0,0,Re(s1[Rad]),Im(s1[Rad]),col=rgb(1,0,0))
crc01<-paste("exp(1)^(x*(0+1i) Rad=",Rad)
crc02<-paste("exp(1)^(x*(0-1i) Rad=",Rad)
legend("bottomleft", legend=c(crc01,crc02), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

#アニメーション
library("animation")
Time_Code=seq(1,59, length=30)
saveGIF({
for (i in Time_Code){
　Src01(i)
}
}, interval = 0.1, movie.name = "Src10.gif")

```
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210108/20210108204507.gif)

```R
Src01<-function(Rad){
c0=seq(-pi,pi,length=61)
f0<-function(x)exp(1/2)^(x*(0+1i))
f1<-function(x)exp(1/2)^(x*(0-1i))
s0=f0(c0)
s1=f1(c0)
plot(s0,type="l",xlim=c(-1,1),ylim=c(-1,1),main="exp(1/2)^(x*(0+1i))",xlab="Real",ylab="Imaginal",col=rgb(0,0,1))
segments(0,0,Re(s0[Rad]),Im(s0[Rad]),col=rgb(0,1,0))
segments(0,0,Re(s1[Rad]),Im(s1[Rad]),col=rgb(1,0,0))
crc01<-paste("exp(1/2)^(x*(0+1i) Rad=",Rad)
crc02<-paste("exp(1/2)^(x*(0+1i) Rad=",Rad)
legend("bottomleft", legend=c(crc01,crc02), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

#アニメーション
library("animation")
Time_Code=seq(1,59, length=30)
saveGIF({
for (i in Time_Code){
　Src01(i)
}
}, interval = 0.1, movie.name = "Src11.gif")
```
それでは<font color=purple>exp(1/2)^θi</font>に<font color=green>-2π~2π</font>を範囲として与えるとどうなるかというと、ちゃんと<font color=green>丁度1周</font>してしまうのです。
![image.png](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210109/20210109064633.gif)

```R
Src01<-function(Rad){
c0=rev(seq(-2*pi,2*pi,length=61))
f0<-function(x)exp(1/2)^(x*(0+1i))
f1<-function(x)exp(1/2)^(x*(0-1i))
s0=f0(c0)
s1=f1(c0)
plot(s0,type="l",xlim=c(-1,1),ylim=c(-1,1),main="exp^(x*(0±1i))",xlab="Real",ylab="Imaginal",col=rgb(0,0,1))
segments(0,0,Re(s0[Rad]),Im(s0[Rad]),col=rgb(0,1,0))
segments(0,0,Re(s1[Rad]),Im(s1[Rad]),col=rgb(1,0,0))
crc01<-paste("exp(1)^(x*(0+1i) Rad=",Rad)
crc02<-paste("exp(1)^(x*(0-1i) Rad=",Rad)
legend("bottomleft", legend=c(crc01,crc02), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

#アニメーション
library("animation")
Time_Code=seq(1,59, length=30)
saveGIF({
for (i in Time_Code){
　Src01(i)
}
}, interval = 0.1, movie.name = "Src15.gif")
```
**根**の値が<font color=green>exp(1)</font>以下または<font color=green>exp(-1)</font>の場合はこれを繰り返します。
![image.png](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210108/20210108152226.gif)

* おそらくこれは**リーマン面**(<font color=blue>Riemann Surface</font>)に対応する。<br>[リーマン面 - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E3%83%9E%E3%83%B3%E9%9D%A2)

#等比数列「<font color=purple>-1^x=(0±1i)^2x</font>」の場合。
一方、**等比数列**<font color=purple>-1^x</font>は<font color=purple>i^2=-1</font>なので**自明の場合**(<font color=blue>Trivial Case</font>)として<font color=purple>(0±1i)^2x</font>となり、<font color=green>-1→1</font>の範囲を与えられた関数<font color=purple>(0±1i)^x</font>は半円しか描画しません(<font color=blue>片道</font>)。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210108/20210108200649.gif)

```R

Src01<-function(Rad){
c0=rev(seq(-1,1,length=61))
f0<-function(x)(0+1i)^x
f1<-function(x)(0-1i)^x
s0=f0(c0)
s1=f1(c0)
plot(s0,type="l",xlim=c(-1,1),ylim=c(-1,1),main="(0+1i)^x",xlab="Real",ylab="Imaginal",col=rgb(0,0,1))
segments(0,0,Re(s0[Rad]),Im(s0[Rad]),col=rgb(0,1,0))
segments(0,0,Re(s1[Rad]),Im(s1[Rad]),col=rgb(1,0,0))
crc01<-paste("(0+1i)^x Rad=",Rad)
crc02<-paste("(0^-1i)^x Rad=",Rad)
legend("bottomleft", legend=c(crc01,crc02), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

#アニメーション
library("animation")
Time_Code=seq(1,59, length=30)
saveGIF({
for (i in Time_Code){
Src01(i)
}
}, interval = 0.1, movie.name = "Src07.gif")
```
①二倍の**振幅範囲**(<font color=blue>1→-1→1</font>)を与えても**半円の範囲**を往復するのみ。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210108/20210108201710.gif)

```R
Src01<-function(Rad){
c01=seq(-1,1,length=21)
c02=rev(c01)
c10<-c(c02,c01[2:21])
f0<-function(x)(0+1i)^x
f1<-function(x)(0-1i)^x
s0=f0(c10)
s1=f1(c10) 
plot(s0,type="l",xlim=c(-1,1),ylim=c(-1,1),main="(0+1i)^x",xlab="Real",ylab="Imaginal",col=rgb(0,0,1))
segments(0,0,Re(s0[Rad]),Im(s0[Rad]),col=rgb(0,1,0))
segments(0,0,Re(s1[Rad]),Im(s1[Rad]),col=rgb(1,0,0))
crc01<-paste("(0+1i)^x Rad=",Rad)
crc02<-paste("(0^-1i)^x Rad=",Rad)
legend("bottomleft", legend=c(crc01,crc02), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

#アニメーション
library("animation")
Time_Code=seq(1,40, length=40)
saveGIF({
for (i in Time_Code){
　Src01(i)
}
}, interval = 0.1, movie.name = "Src08.gif")
```

②**等比数列**<font color=purple>(0±1i)^ax</font>の<font color=green>a</font>の値を<font color=green>1/2</font>にすると(<font color=blue>添字なので1/8になりそうだが</font>)素直に<font color=green>1/4</font>になってその範囲を往復する。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210108/20210108211616.gif)

```R
Src01<-function(Rad){
c01=seq(-1,1,length=21)
c02=rev(c01)
c10<-rev(c(c02,c01[2:21]))
f0<-function(x)(0+1i)^(x/2)
f1<-function(x)(0-1i)^(x/2)
s0=f0(c10)
s1=f1(c10) 
plot(s0,type="l",xlim=c(-1,1),ylim=c(-1,1),main="(0+1i)^(x/2)",xlab="Real",ylab="Imaginal",col=rgb(0,0,1))
segments(0,0,Re(s0[Rad]),Im(s0[Rad]),col=rgb(0,1,0))
segments(0,0,Re(s1[Rad]),Im(s1[Rad]),col=rgb(1,0,0))
crc01<-paste("(0+1i)^x Rad=",Rad)
crc02<-paste("(0^-1i)^x Rad=",Rad)
legend("bottomleft", legend=c(crc01,crc02), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

#アニメーション
library("animation")
Time_Code=seq(1,40, length=40)
saveGIF({
for (i in Time_Code){
　Src01(i)
}
}, interval = 0.1, movie.name = "Src09.gif")
```
③円を完全に描くのは**等比数列**<font color=purple>(0±1i)^2x</font>で<font color=green>1~-1</font>の範囲を与えられた場合。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210108/20210108214627.gif)

```R
Src10<-function(Rad){
c10<-seq(-1,1,length=41)
f0<-function(x)(0+1i)^(2*x)
f1<-function(x)(0-1i)^(2*x)
s0=f0(c10)
s1=f1(c10) 
plot(s0,type="l",xlim=c(-1,1),ylim=c(-1,1),main="(0+1i)^2x",xlab="Real",ylab="Imaginal",col=rgb(0,0,1))
segments(0,0,Re(s0[Rad]),Im(s0[Rad]),col=rgb(0,1,0))
segments(0,0,Re(s1[Rad]),Im(s1[Rad]),col=rgb(1,0,0))
crc01<-paste("(0+1i)^2x Rad=",Rad)
crc02<-paste("(0^-1i)^2x Rad=",Rad)
legend("bottomleft", legend=c(crc01,crc02), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

#アニメーション
library("animation")
Time_Code=seq(1,40, length=40)
saveGIF({
for (i in Time_Code){
　Src10(i)
}
}, interval = 0.1, movie.name = "Src14.gif")
```
④距離が半分に思えるが<font color=green>1→-1→1→-1</font>を範囲として与えると何故かピッチが半分になってしまう(<font color=blue>この場合、40角形から20角形に劣化</font>)。距離をいくら増やしても状況は同じ。また距離をいくら増やしても<font color=green>1回転</font>しかしない(<font color=blue>いや、正確には(0+1i)と(0-1i)の値が入れ替わる？</font>)。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210108/20210108212805.gif)

```R
Src10<-function(Rad){
c01=seq(-1,1,length=21)
c02=rev(c01)
c10<-c(c02,c01[2:21],c02[2:21],c01[2:21])
f0<-function(x)(0+1i)^(2*x)
f1<-function(x)(0-1i)^(2*x)
s0=f0(c10)
s1=f1(c10) 
plot(s0,type="l",xlim=c(-1,1),ylim=c(-1,1),main="(0+1i)^2x",xlab="Real",ylab="Imaginal",col=rgb(0,0,1))
segments(0,0,Re(s0[Rad]),Im(s0[Rad]),col=rgb(0,1,0))
segments(0,0,Re(s1[Rad]),Im(s1[Rad]),col=rgb(1,0,0))
crc01<-paste("(0+1i)^2x Rad=",Rad)
crc02<-paste("(0^-1i)^2x Rad=",Rad)
legend("bottomleft", legend=c(crc01,crc02), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,0,0)))
}

#アニメーション
library("animation")
Time_Code=seq(1,40, length=40)
saveGIF({
for (i in Time_Code){
　Src10(i)
}
}, interval = 0.1, movie.name = "Src13.gif")
```

#結局、どういう事？
完全に行き詰まってしまった時点で新しい知見を得たのです。
[偏微分方程式の初期値問題 - 理学のキーワード - 東京大学 大学院理学系研究科・理学部](https://www.s.u-tokyo.ac.jp/ja/story/newsletter/keywords/35/01.html)

>自然現象を記述する偏微分方程式に対して，現象を記述するのは**方程式そのもの**ではなく**その解**である。

そう、注目すべきは**オイラーの公式**<font color=purple>exp(±1)^θ(0±1i)</font>と**複素等比数列**<font color=purple>-1^x=(0±1i)^2x</font>の特徴比較でなく、それぞれの出力結果が<font color=green>Cos(θ)+Sin(θ)i</font>である事と<font color=green>Cos(πθ)+Sin(πθ)i</font>である事の摺り合わせだったのです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/fb86a1db-8d7a-d6fc-22e6-e2bc00b9aec5.png)

```R
f0<-function(x)cos(x*pi)
plot(f0,xlim=c(-pi,pi),ylim=c(-pi,pi),main="Cos(θ)&Cos(πθ)",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
par(new=T)
plot(cos,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(0,0,1))
legend("bottomleft", legend=c("Cos(θ)","Cos(πθ)"), lty =c(1,1),col=c(rgb(0,0,1),rgb(0,1,0)))
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/7e524ee3-4c5d-bc7b-9fa6-5c7560c5c528.png)

```R
f0<-function(x)sin(x*pi)
f1<-function(x)-sin(x*pi)
plot(f0,xlim=c(-pi,pi),ylim=c(-pi,pi),main="Sin(θ)&Sin(πθ)&-Sin(πθ)",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
par(new=T)
plot(f1,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(1,0,0))
par(new=T)
plot(sin,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(0,0,1))
legend("bottomleft", legend=c("Sin(θ)","Sin(πθ)","-Sin(πθ)"), lty =c(1,1,1),col=c(rgb(0,0,1),rgb(0,1,0),rgb(1,0,0)))
```
式に従えば<font color=green>(0±1i)</font>に<font color=green>π</font>を掛けています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/f41c2faf-44ea-b01b-122f-693e975f9f46.png)

```R
f0<-function(x)pi*cos(x*pi)
plot(f0,xlim=c(-pi,pi),ylim=c(-pi,pi),main="Cos(θ)&π×Cos(πθ)",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
par(new=T)
plot(cos,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(0,0,1))
legend("bottomleft", legend=c("Cos(θ)","π×Cos(πθ)"), lty =c(1,1),col=c(rgb(0,0,1),rgb(0,1,0)))
```
考えてみれば当たり前の話なのですが、<font color=green>Sin(θ)</font>と<font color=green>-Sin(θ)</font>が別波形である事によって「<font color=purple>回転の向き</font>」が生じるのです。だからここでは両波形を見ていかないといけません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/32da35ed-00b1-fb0f-d89f-7bebc4c9d566.png)

```R
f0<-function(x)pi*sin(x*pi)
f1<-function(x)pi*-sin(x*pi)
plot(f0,xlim=c(-pi,pi),ylim=c(-pi,pi),main="Sin(θ)&-Sin(θ)&π×Sin(πθ)&π×-Sin(πθ)",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
par(new=T)
plot(f1,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(1,0,0))
par(new=T)
plot(sin,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(0,0,1))
legend("bottomleft", legend=c("Sin(θ)","π×Sin(πθ)","π×-Sin(πθ)"), lty =c(1,1,1),col=c(rgb(0,0,1),rgb(0,1,0),rgb(1,0,0),rgb(1,1,0)))
par(new=T)
f2<-function(x)-sin(x)
plot(f2,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(1,1,0))
legend("bottomleft", legend=c("Sin(θ)","-Sin(θ)","π×Sin(πθ)","π×-Sin(πθ)"), lty =c(1,1,1,1),col=c(rgb(0,0,1),rgb(1,1,0),rgb(0,1,0),rgb(1,0,0)))
```
合算するとこう見えます(<font color=blue>Plot関数は複素数関数を引数としても実数部しかPlotしないのでデータを渡し複素数集合を引数とする必要がある</font>)。<font color=green>Cos(θ)+Sin(θ×(0+1i))</font>と<font color=green>Cos(θ)+Sin(θ×(0-1i))</font>、<font color=green>π×(0+1i)^θ</font>と<font color=green>π×(0-1i)^θ</font>は描画方向が逆なだけで同じ円を描くので重なって見える訳ですね。
![Rplot86.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/47ad5eb6-aa23-8fa8-fddd-02c33ddc7b36.png)

```R
c0<-seq(-pi,pi,length=61)
c1<-seq(-1,1,length=61)
f0<-function(x)complex(re=cos(x), im=sin(x))
f1<-function(x)pi*(0+1i)^(2*x)
s0<-f0(c0)
s1<-f1(c1)
plot(s0,type="l",asp=1,xlim=c(-pi,pi),ylim=c(-pi,pi),main="Cos(θ)+Sin(θ)i&π×(0+1i)^θ",xlab="Real",ylab="Imaginal",col=rgb(0,0,1))
par(new=T)
plot(s1,type="l",asp=1,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(0,1,0))
abline(h=0,col=c(200,200,200))
abline(v=0,col=c(200,200,200))
segments(0,-pi,0,pi,col=rgb(1,1,0))
legend("bottomleft", legend=c("Cos(θ)+Sin(θ×(0±1i))","π×(0±1i)^θ","π×(0±1i)"), lty =c(1,1,1),col=c(rgb(0,0,1),rgb(0,1,0),rgb(1,1,0)))
```
あれ？　もしかしたらここは逆に考えないといけない？ **複素数**を**自然指数関数**(<font color=blue>Natural Exponential Function</font>)の添字に与えるという事は、その**実数部**が示唆する<font color=green>X軸</font>と**虚数部**が示唆する<font color=green>Y軸</font>に同時に**対数尺**を与える事。そして**オイラーの公式**を素直に解釈すると与えられる対象は<font color=green>θ</font>(<font color=blue>-π→π</font>)<font color=green>×(0±1i)</font>…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/af70f2af-b733-7a1d-db9e-0345d6e3c779.png)

```R
c0<-seq(-pi,pi,length=61)
s1<-(0+1i)*c0
s0<-exp^s1
plot(s1,type="l",asp=1,xlim=c(-pi,pi),ylim=c(-pi,pi),main="θ(-π→π)×(0±1i)&exp(1)^(θ×(0±1i))",xlab="Real",ylab="Imaginal",col=rgb(1,1,0))
par(new=T)
plot(s0,type="l",asp=1,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(0,1,0))
par(new=T)
plot(c0,Re(s0),type="l",asp=1,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(0,0,1))
par(new=T)
plot(c0,Im(s0),type="l",asp=1,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(1,0,0))
legend("bottomleft", legend=c("exp(1)^(θ×(0±1i))","θ×(0±1i)","Cos(θ)","Sin(θ)"), lty =c(1,1),col=c(rgb(0,1,0),rgb(1,1,0),rgb(0,0,1),rgb(1,0,0)))
```
つまり実はオイラーの公式は<font color=purple>SVoI</font>(<font color=blue>Simple Vibration on Imaginal,複素数0+1iと0+1iの等速往復</font>)を共有しつつ**複素等差数列**<font color=purple>(0±1i)^2x</font>も<font color=green>-1→1</font>の範囲を与えれば円を描く事と式上の直接の関係はなかったのです(<font color=blue>直接π倍して対数尺で潰していた</font>)。もちろん同じ数理を利用はしてるのでしょうが…ああ、早くこういう事が式を見ただけで閃く様になりたいです。

と思ったら(<font color=blue>何せ(0±1i)^2axはa=1の時しか丁度1周分の円を描かないので</font>)どうやらあくまで「**複素数列**<font color=green>i</font>(<font color=blue>(0±1i)⇄(0∓1i)</font>)<font color=purple>が</font>**演算**<font color=green>±exp(i×π/2)</font><font color=purple>を経て半円2つを重ね1周分の円を描く</font>」とか、そういう風に考えねばならない様です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/64876bb0-8af1-a6cb-b98a-bffe428bb45f.png)

```R
#Imaginal
i0<-seq(-1,1,length=21)
#(0+1i)→(0-1i)
Imaginal<-complex(re=0,im=rev(i0))
plot(Imaginal,type="b",asp=1,xlim=c(-1,1),ylim=c(-1,1),main="±exp(Imaginal*π/2)",xlab="Real",ylab="Imaginal",col=rgb(0,1,0))
par(new=T)
plot(exp(Imaginal*pi/2),asp=1,type="b",xlim=c(-1,1),ylim=c(-1,1),main="",xlab="",ylab="",col=rgb(0,0,1))
par(new=T)
plot(-exp(Imaginal*pi/2),type="b",asp=1,xlim=c(-1,1),ylim=c(-1,1),main="",xlab="",ylab="",col=rgb(1,0,0))
legend("bottomleft", legend=c("Imaginal=(0+1i)→(0-1i)","exp(Imaginal×π/2)","-exp(Imaginal×π/2)"), lty =c(1,1,1),col=c(rgb(0,1,0),rgb(0,0,1),rgb(1,0,0)))
```
これでも「**半分は逆から描く**」ズルをしています。

```R
> Imaginal
 [1] 0+1.0i 0+0.9i 0+0.8i 0+0.7i 0+0.6i 0+0.5i 0+0.4i 0+0.3i
 [9] 0+0.2i 0+0.1i 0+0.0i 0-0.1i 0-0.2i 0-0.3i 0-0.4i 0-0.5i
[17] 0-0.6i 0-0.7i 0-0.8i 0-0.9i 0-1.0i
> exp(Imaginal*pi/2)
 [1] 0.0000000+1.0000000i 0.1564345+0.9876883i
 [3] 0.3090170+0.9510565i 0.4539905+0.8910065i
 [5] 0.5877853+0.8090170i 0.7071068+0.7071068i
 [7] 0.8090170+0.5877853i 0.8910065+0.4539905i
 [9] 0.9510565+0.3090170i 0.9876883+0.1564345i
[11] 1.0000000+0.0000000i 0.9876883-0.1564345i
[13] 0.9510565-0.3090170i 0.8910065-0.4539905i
[15] 0.8090170-0.5877853i 0.7071068-0.7071068i
[17] 0.5877853-0.8090170i 0.4539905-0.8910065i
[19] 0.3090170-0.9510565i 0.1564345-0.9876883i
[21] 0.0000000-1.0000000i
> -exp(Imaginal*pi/2)
 [1]  0.0000000-1.0000000i -0.1564345-0.9876883i
 [3] -0.3090170-0.9510565i -0.4539905-0.8910065i
 [5] -0.5877853-0.8090170i -0.7071068-0.7071068i
 [7] -0.8090170-0.5877853i -0.8910065-0.4539905i
 [9] -0.9510565-0.3090170i -0.9876883-0.1564345i
[11] -1.0000000+0.0000000i -0.9876883+0.1564345i
[13] -0.9510565+0.3090170i -0.8910065+0.4539905i
[15] -0.8090170+0.5877853i -0.7071068+0.7071068i
[17] -0.5877853+0.8090170i -0.4539905+0.8910065i
[19] -0.3090170+0.9510565i -0.1564345+0.9876883i
[21]  0.0000000+1.0000000i 
```
考えてみれば当たり前の話ですが、**共役複素数を求める演算**(<font color=blue>統計言語RだとConj(i)</font>)を導入してもこの問題は解決しません(<font color=blue>やはり逆から描くだけ</font>)。

```R
> Imaginal
 [1] 0+1.0i 0+0.9i 0+0.8i 0+0.7i 0+0.6i 0+0.5i 0+0.4i 0+0.3i
 [9] 0+0.2i 0+0.1i 0+0.0i 0-0.1i 0-0.2i 0-0.3i 0-0.4i 0-0.5i
[17] 0-0.6i 0-0.7i 0-0.8i 0-0.9i 0-1.0i
> Conj(Imaginal)
 [1] 0-1.0i 0-0.9i 0-0.8i 0-0.7i 0-0.6i 0-0.5i 0-0.4i 0-0.3i
 [9] 0-0.2i 0-0.1i 0+0.0i 0+0.1i 0+0.2i 0+0.3i 0+0.4i 0+0.5i
[17] 0+0.6i 0+0.7i 0+0.8i 0+0.9i 0+1.0i
> exp(Conj(Imaginal)/2*pi)
 [1] 0.0000000-1.0000000i 0.1564345-0.9876883i
 [3] 0.3090170-0.9510565i 0.4539905-0.8910065i
 [5] 0.5877853-0.8090170i 0.7071068-0.7071068i
 [7] 0.8090170-0.5877853i 0.8910065-0.4539905i
 [9] 0.9510565-0.3090170i 0.9876883-0.1564345i
[11] 1.0000000+0.0000000i 0.9876883+0.1564345i
[13] 0.9510565+0.3090170i 0.8910065+0.4539905i
[15] 0.8090170+0.5877853i 0.7071068+0.7071068i
[17] 0.5877853+0.8090170i 0.4539905+0.8910065i
[19] 0.3090170+0.9510565i 0.1564345+0.9876883i
[21] 0.0000000+1.0000000i
```

* あくまで<font color=green>Y軸</font>上の<font color=purple>SVoI</font>(<font color=blue>Simple Vibration of Imaginal=虚数単振動</font>)と<font color=green>X軸</font>上の<font color=purple>SVoR</font>(<font color=blue>Simple Vibration of Real=実数単振動</font>)が対応しているイメージ、すなわち<font color=green>(1+0i)~(-1+0i)</font>と<font color=green>(-1+0i)~(1+0i)</font>が**虚数共役**(<font color=blue>Imaginary Conjugate</font>)ならぬ**実数共役**(<font color=blue>Real Conjugate</font>)の関係にあるという意識が重要なのですね。「<font color=purple>人間の脳</font>」なる粗雑な代数構造を許容するハード上では<font color=green>exp(iθ)</font>や<font color=green>exp(-iθ)</font>のイメージが多少曖昧でも問題は生じませんが、コンピューター上で走るプログラムはこう厳格に意識しないとちゃんと動作してくれないのです。しかもこの場合、どう考えてもコンピューターの方が正しい…そういえばこの数理自体は**演算**<font color=purple>(a×exp)^aθi</font>の<font color=green>a</font>の値を<font color=green>-1~0~1</font>の範囲で動かした以下の投稿の時点で既に明らかになっていたのですね。完全に見逃してました。<br>[【Rで球面幾何学】指数関数や対数関数における「ネイピア数周期」の意味について。](https://qiita.com/ochimusha01/items/bebb9eb56346f57ff651)<br>![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2F1204f224-00ed-745d-d403-3d928e689354.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=a0e4fd22b3917356fec7c3fe0b0f6d39)
<br>![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2F17183052-29c7-20cc-2e31-67cb248665b8.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=1f5402a625562fc9426f5c68c893c7a9)

そういえば「<font color=purple>πiの棒</font>」は**オイラーの公式**のもう一つの形<font color=purple>(1±πi/N)^N</font>にも登場しますね。こちらは河童巻き状に側面から巻き付くイメージ。
[【Rで球面幾何学】「世界で一番美しい公式」オイラーの等式の罠？](https://qiita.com/ochimusha01/items/7fa9d091f7ba9414dfc3)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2F95fb9843-af74-501a-aac7-b394f60c8cb4.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=6bcd98f44e3994203d785daffd972f0b)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2Fa43e3609-8af6-e2ea-b565-40282ae276f7.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=6bb9884db9f2c0129848c0a618062d4c)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2F63690749-6cd6-561c-4540-59eb1021d45d.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=cf998d24c565c4f13b8246c595ef891b)
**零元**を有し、**スカラー倍**で増減し、かつ線状なので<font color=purple>|x+y|=|x|+|y|</font>が成立する為、これも**ノルム**(<font color=blue>Norm</font>)成立条件を満たす**距離関数**(<font color=blue>Metric Function</font>)の一種と考えられます。
[【初心者向け】方形描画関数②距離空間との関係。 - Qiita](https://qiita.com/ochimusha01/items/06e49a35dffbd12b35aa)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/82c26fda-cc2d-ec48-6eab-6c7d67e5708c.png)
そして**1次元ベクトル**上の**外積**(<font color=blue>Outer Product</font>)は常に<font color=green>0</font>なので、この場合の**外積**も<font color=green>0</font>と考えます。「**半径**<font color=green>r</font><font color=purple>を</font>**スカラー積**(<font color=blue>内積</font>)<font color=purple>、残りを</font>**ベクトル積**(<font color=blue>外積</font>)<font color=purple>と考える</font>」思考様式の導入…
[【Rで球面幾何学】そもそも「内積」とは「外積」とは何か？ - Qiita](https://qiita.com/ochimusha01/items/b34f73d13eef785365cd)

ところで試行錯誤の過程で思いついた「<font color=green>exp(1)^πi</font><font color=purple>のマクローリン展開</font>」。あれ？　よく見るとこの<font color=green>Cos波</font>と<font color=green>Sin波</font>は…
[【Rで球面幾何学】オイラーの公式を導出したマクローリン級数の限界？](https://qiita.com/ochimusha01/items/4a484d5759f96abb0ab3)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210110/20210110223101.gif)

```R
Macrolin_expansion_exp<-function(x,s0){

#グラフのスケール決定
Graph_scale_x<-c(-6,6)
Graph_scale_y<-c(-1,6)
#関数と凡例の決定
switch(x,
"0"= f0<-function(x) {x/x},
"1"= f0<-function(x) {1+x},
"2"= f0<-function(x) {1+x+x^2/2},
"3"= f0<-function(x) {1+x+x^2/2+x^3/6},
"4"= f0<-function(x) {1+x+x^2/2+x^3/6+x^4/24},
"5"= f0<-function(x) {1 + x + x^2/2 + x^3/6+ x^4/24+ x^5/120},
"6"= f0<-function(x) {1 + x + x^2/2 + x^3/6+ x^4/24+ x^5/120+ x^6/720},
"7"= f0<-function(x) {1 + x + x^2/2 + x^3/6+ x^4/24+ x^5/120+ x^6/720+ x^7/5040},
"8"= f0<-function(x) {1 + x + x^2/2 + x^3/6+ x^4/24+ x^5/120+ x^6/720+ x^7/5040+ x^8/40320},
"9"= f0<-function(x) {1 + x + x^2/2 + x^3/6+ x^4/24 + x^5/120 + x^6/720 + x^7/5040 + x^8/40320 + x^9/362880 }
)

switch(x,
"0"=text<-c("1"),
"1"=text<-c("1+x"),
"2"=text<-c("1+x+x^2/2!"),
"3"=text<-c("1+x+x^2/2!+x^3/3!"),
"4"=text<-c("1+x+x^2/2!+x^3/3!+x^4/4!"),
"5"=text<-c("1+x+x^2/2!+x^3/3!+x^4/4!+x^5/5!"),
"6"=text<-c("1+x+x^2/2!+x^3/3!+x^4/4!+x^5/5!+x^6/6!"),
"7"=text<-c("1+x+x^2/2!+x^3/3!+x^4/4!+x^5/5!+x^6/6!+x^7/7!"),
"8"=text<-c("1+x+x^2/2!+x^3/3!+x^4/4!+x^5/5!+x^6/6!+x^7/7!+x^8/8!"),
"9"=text<-c("1+x+x^2/2!+x^3/3!+x^4/4!+x^5/5!+x^6/6!+x^7/7!+x^8/8!+x^9/9!")
)

s1<-f0(s0)
plot(s1,type="l",asp=1,xlim=c(-pi,pi),ylim=c(-pi,pi),main="Macrolin Expansion of EXP(1)^πi",xlab="Real",ylab="Imaginal",col=rgb(0,0,1))
par(new=T)
plot(c1,Re(s1),type="l",asp=1,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(0,1,0))
par(new=T)
plot(c1,Im(s1),type="l",asp=1,xlim=c(-pi,pi),ylim=c(-pi,pi),main="",xlab="",ylab="",col=rgb(1,0,0))

legend("bottomleft", legend=c("e^πi","Cos(θ)","Sin(θ)",text),lty=c(1,1,1,1),col=c(rgb(0,1,0),rgb(0,0,1),rgb(1,0,0),rgb(0,0,0)))
}

#アニメーション描画

library("animation")

c0<-seq(-pi,pi,length=61)
s0<-(0+1i)*c0

Time_Code=c("0","0","0","1","1","1","2","2","2","3","3","3","4","4","4","5","5","5","6","6","6","7","7","7","8","8","8","9","9","9")
saveGIF({
for (i in Time_Code){
　　Macrolin_expansion_exp(i,s0)
}
}, interval = 0.1, movie.name = "TEST02.gif")
```
これではむしろ**物理学的観察結果**から導出される「<font color=green>2π長</font>(<font color=blue>-π→π</font>)<font color=purple>を</font><font color=green>X軸</font><font color=purple>の</font><font color=green>Cos(θ)</font><font color=purple>と</font><font color=green>Y軸</font><font color=purple>の</font><font color=green>Sin(θ)</font><font color=purple>に与える円の描き方</font>」との間に互換性がない事になってしまう？ いやむしろ「**半径**<font color=green>r</font><font color=purple>を</font>**スカラー積**(<font color=blue>内積</font>)<font color=purple>、残りを</font>**ベクトル積**(<font color=blue>外積</font>)<font color=purple>と考える</font>」思考様式の導入によって**数学的円把握**と**物理的円把握**が統合されるとも考えられそうです。
[【初心者向け】物理学における「単位円筒(Unit Cylinder)」の概念について。](https://qiita.com/ochimusha01/items/ced1c21b4411e79cdcbe)
**XY軸**（<font color="blue">円弧</font>）
![20191029133633.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/0e55e673-d89e-6d33-6e33-9edf6fecdbdd.gif)
**XZ軸**（<font color="blue">Cos波</font>）
![20191029193635.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/529cc2b1-3476-4eba-1c07-a79cc8ba16d7.gif)
**YZ軸**（<font color="blue">Sin波</font>）
![20191029194000.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/fa66cf1a-291e-8e76-8ea7-c586efcb1e21.gif)
数学はそれ自体の魅力に加え、こういう「<font color=purple>未知の対象に出会した時の対処方法</font>」を磨く面白さがあります。解決に向けて地道な努力を続けていくうちに**精神的に鍛えられる**というか…そんな感じで以下続報…