「諸概念の迷宮(Things got frantic)」用語集

本編で頻繁に使うロジックと関連用語のまとめ。

【円関数としてのe^XiとLog(Xi)】オイラーの公式によるピタゴラスの定理の限界の超越。

ヤコブ・ベルヌーイ(Jakob Bernoulli、1654年〜1705年)が導出した指数関数e^xに複素数πiを代入すると、所謂「世界で一番美しい方程式オイラーの等式Eulers identitye^πi=(1+πi/N)^N=-1となって半円を描きます。ちなみにそういう具合に式を拡張したの自体は弟子のレオンハルト・オイラーLeonhard Euler, 1707年〜1783年)の功績。

#オイラーの等式ヤコブ・ベルヌーイ方式による作図)

Eulers_identity<-function(n){
rim01<-pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)

Eulers_identity00_plot<-function(n){
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(0,4),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
par(new=T) # 上書き指定

plot(Re(Eulers_identity(n)),Im(Eulers_identity(n)),xlim=c(-2,1),ylim=c(0,4),type="l",main="", xlab="", ylab="")

text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。
library("animation")
Time_Code=c(1,2,4,8,16,32,64,128)
saveGIF({
for (i in Time_Code){
  Eulers_identity00_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190419000412g:plain

オイラー自身はジョン・ネイピアJohn Napier, 1550年〜1617年)の対数表の底「0.9999999」と師匠ベルヌーイの考案したベルヌーイ試行の概念を組み合わせた式(1-1/N)^Nより出発してe^Xi=(1-Xi/N)^Nへと到達したと考えられています。e^πi=(1-πi/N)^N=-1で、反対側の半円を描きます。

#オイラーの等式オイラー方式による作図)

Eulers_identity<-function(n){
rim01<-pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a-a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)

Eulers_identity00_plot<-function(n){
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,0),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
par(new=T) # 上書き指定

plot(Re(Eulers_identity(n)),Im(Eulers_identity(n)),xlim=c(-2,1),ylim=c(-4,0),type="l",main="", xlab="", ylab="")

text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。
library("animation")
Time_Code=c(1,2,4,8,16,32,64,128)
saveGIF({
for (i in Time_Code){
  Eulers_identity00_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190419001208g:plain

この2つの計算結果は複素図表上において共役関係にあり、両方あわせてe^πi=(1±πi/N)^N=-1と表記し、三平方の定理ピタゴラスの定理)を応用した円関数x^2+y^2=1を単位円描写に援用した±sqrt(1-x^2)と並べて論じられる事もあったりします。
f:id:ochimusha01:20190522062425g:plain

#オイラーの等式(全周分)

Eulers_identity<-function(n){
rim01<-pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)
#グラフを描画してみる。
Eulers_identity01_plot<-function(n){
ei01<-Eulers_identity(n)
ei02<-Conj(ei01)
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,4),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
par(new=T) # 上書き指定
plot(Re(ei01),Im(ei01),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
par(new=T) # 上書き指定
plot(Re(ei02),Im(ei02),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
text(0, -1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,2,4,8,16,32,64,128)
saveGIF({
for (i in Time_Code){
  Eulers_identity01_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190418235412g:plain

 実は、かかる見せ方こそが罠。何故ならオイラーの等式Euler's identitye^πi=(1±1/N)^N=-1なる式はあくまでオイラーの公式Euler's fomulae^θi=Cos(θ)+Sin(θi)(1+θi/N)^N=-(1-θi/N)^Nの特別解に過ぎず、こちらには「半円しか描けない」なんて制約は全く存在しないからなのです… 
f:id:ochimusha01:20190512232958g:plain

オイラーの公式(1/4周分)

Eulers_identity<-function(n){
rim01<-0.5*pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)
#グラフを描画してみる。
Eulers_identity01_plot<-function(n){
ei01<-Eulers_identity(n)
ei02<-Conj(ei01)
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,4),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
par(new=T) # 上書き指定
plot(Re(ei01),Im(ei01),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
#par(new=T) # 上書き指定
#plot(Re(ei02),Im(ei02),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
text(0, -1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,2,4,8,16,32,64,128)
saveGIF({
for (i in Time_Code){
  Eulers_identity01_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190630063059g:plain

オイラーの公式(半周分)

Eulers_identity<-function(n){
rim01<-pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)
#グラフを描画してみる。
Eulers_identity01_plot<-function(n){
ei01<-Eulers_identity(n)
ei02<-Conj(ei01)
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,4),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
par(new=T) # 上書き指定
plot(Re(ei01),Im(ei01),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
#par(new=T) # 上書き指定
#plot(Re(ei02),Im(ei02),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
text(0, -1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,2,4,8,16,32,64,128)
saveGIF({
for (i in Time_Code){
  Eulers_identity01_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190630062354g:plain

オイラーの公式(3/4周分)

Eulers_identity<-function(n){
rim01<-1.5*pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)
#グラフを描画してみる。
Eulers_identity01_plot<-function(n){
ei01<-Eulers_identity(n)
ei02<-Conj(ei01)
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,4),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
par(new=T) # 上書き指定
plot(Re(ei01),Im(ei01),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
#par(new=T) # 上書き指定
#plot(Re(ei02),Im(ei02),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
text(0, -1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,2,4,8,16,32,64,128)
saveGIF({
for (i in Time_Code){
  Eulers_identity01_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190630063252g:plain

 

 

オイラーの公式(1周分)

Eulers_identity<-function(n){
rim01<-2*pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)
#グラフを描画してみる。
Eulers_identity01_plot<-function(n){
ei01<-Eulers_identity(n)
ei02<-Conj(ei01)
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,4),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
par(new=T) # 上書き指定
plot(Re(ei01),Im(ei01),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
#par(new=T) # 上書き指定
#plot(Re(ei02),Im(ei02),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
text(0, -1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,2,4,8,16,32,64,128)
saveGIF({
for (i in Time_Code){
  Eulers_identity01_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190630062745g:plain

オイラーの公式(2周分)

Eulers_identity<-function(n){
rim01<-4*pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)
#グラフを描画してみる。
Eulers_identity01_plot<-function(n){
ei01<-Eulers_identity(n)
ei02<-Conj(ei01)
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,4),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
par(new=T) # 上書き指定
plot(Re(ei01),Im(ei01),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
#par(new=T) # 上書き指定
#plot(Re(ei02),Im(ei02),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
text(0, -1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,2,4,8,16,32,64,128,256,512,1024)
saveGIF({
for (i in Time_Code){
  Eulers_identity01_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190701065405g:plain

正反対方向に展開しても同じ結果となります。

オイラーの公式(1/4周分)

Eulers_identity<-function(n){
rim01<-0.5*pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)
#グラフを描画してみる。
Eulers_identity01_plot<-function(n){
ei01<-Eulers_identity(n)
ei02<-Conj(ei01)
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,4),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
#par(new=T) # 上書き指定
#plot(Re(ei01),Im(ei01),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
par(new=T) # 上書き指定
plot(Re(ei02),Im(ei02),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
text(0, -1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,2,4,8,16,32,64,128)
saveGIF({
for (i in Time_Code){
  Eulers_identity01_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190701070059g:plain

オイラーの公式(半周分)

Eulers_identity<-function(n){
rim01<-pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)
#グラフを描画してみる。
Eulers_identity01_plot<-function(n){
ei01<-Eulers_identity(n)
ei02<-Conj(ei01)
#plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,4),type="l",col=rgb(0,1,0), #main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
par(new=T) # 上書き指定
plot(Re(ei01),Im(ei01),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
par(new=T) # 上書き指定
plot(Re(ei02),Im(ei02),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
text(0, -1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,2,4,8,16,32,64,128)
saveGIF({
for (i in Time_Code){
  Eulers_identity01_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190701065842g:plain

オイラーの公式(3/4周分)

Eulers_identity<-function(n){
rim01<-1.5*pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)
#グラフを描画してみる。
Eulers_identity01_plot<-function(n){
ei01<-Eulers_identity(n)
ei02<-Conj(ei01)
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,4),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
#par(new=T) # 上書き指定
#plot(Re(ei01),Im(ei01),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
par(new=T) # 上書き指定
plot(Re(ei02),Im(ei02),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
text(0, -1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,2,4,8,16,32,64,128)
saveGIF({
for (i in Time_Code){
  Eulers_identity01_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190701070248g:plain

オイラーの公式(1周分)

Eulers_identity<-function(n){
rim01<-2*pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)
#グラフを描画してみる。
Eulers_identity01_plot<-function(n){
ei01<-Eulers_identity(n)
ei02<-Conj(ei01)
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,4),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
#par(new=T) # 上書き指定
#plot(Re(ei01),Im(ei01),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
par(new=T) # 上書き指定
plot(Re(ei02),Im(ei02),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
text(0, -1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,2,4,8,16,32,64,128)
saveGIF({
for (i in Time_Code){
  Eulers_identity01_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190701070403g:plain

オイラーの公式(2周分)

Eulers_identity<-function(n){
rim01<-4*pi*complex(real=0,imaginary=1)
Tarm=c(complex(real=1,imaginary=0),seq(rim01/n,rim01/n,length=n))
Reduce(function(a,b) {a+a*b}, Tarm, accumulate = T)

}
theta <- seq(pi, -pi, length=360) #円周率(ラジアン表記)
#グラフを描画してみる。
Eulers_identity01_plot<-function(n){
ei01<-Eulers_identity(n)
ei02<-Conj(ei01)
plot(cos(theta), sin(theta), xlim=c(-2,1),ylim=c(-4,4),type="l",col=rgb(0,1,0), main="Euler’s identity", xlab="Real Expanse", ylab="Imaginary Expanse")
#par(new=T) # 上書き指定
#plot(Re(ei01),Im(ei01),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
par(new=T) # 上書き指定
plot(Re(ei02),Im(ei02),xlim=c(-2,1),ylim=c(-4,4),type="l",main="", xlab="", ylab="")
text(0, 0, "0",col=rgb(0,0,0))
text(1, 0, "1",col=rgb(0,0,1))
text(-1, 0, "-1",col=rgb(1,0,0))
text(0, 1, "π",col=rgb(0,1,0))
text(0, -1, "π",col=rgb(0,1,0))
segments(0,0,1,0,col=rgb(0,0,1))
segments(0,0,-1,0,col=rgb(1,0,0))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,2,4,8,16,32,64,128,256,512,1024)
saveGIF({
for (i in Time_Code){
  Eulers_identity01_plot(i)
}
}, interval = 0.1, movie.name = "TEST.gif")

f:id:ochimusha01:20190701070834g:plain


この自然指数関数・自然対数関数における「現在指数が-1から1にかけての範囲)」の区間内では完全な単位円が出現せず、それを超えた「過去」「未来」の領域ではそれが幾重にも重ね書きされる感じは複素数空間上におけるe^Xi関数の振る舞いとぴったり重なりますね。

f:id:ochimusha01:20190628102302g:plain

f:id:ochimusha01:20190628102545g:plain