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

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

【自然対数eとの邂逅】指数関数・対数関数における「過去」と「未来」の交換について。

ところで、ここでいう指数関数と対数関数の「現在」を基準点とする「過去」と「未来」の峻別は、底(root)の値を逆転させると完全に逆転してしまうのです。しかもその過程で指数関数のroot^0,対数関数のlog(0,base=root)段階で傾きの完全消失状態が観測されます。

統計言語Rによる実証例

#指数関数root^x
if01<-f0<-function(n){
f0<-function(x){2^x}
plot(f0,xlim=c(-5,5),ylim=c(0,5),type="l",col=rgb(0,0,1), main="Days of Future Past",xlab="x",ylab="2^x ~ (1/2)^x")
par(new=T)#上書き指定
f1<-function(x){1/2^x}
plot(f1,xlim=c(-5,5),ylim=c(0,5),type="l",col=rgb(0,1,0), main="",xlab="",ylab="")
par(new=T)#上書き指定
f2<-function(x){n^x}
plot(f2,xlim=c(-5,5),ylim=c(0,5),type="l",col=rgb(1,0,0), main="",xlab="",ylab="")

abline(h=1)
abline(v=0)

tc <- seq(-6, 6, length=60) #-6から6までを60等分
tcvals <- f2(tc) #それぞれの縦軸の値

polygon(c(-6,tc,6), #x
c(-1,tcvals,-1), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(1,0,0))  #塗りつぶす色

legend("topleft", legend=c("y=2^x","y=1/2^x","x=0,y=1"),lty=c(1,1),col=c(rgb(0,1,0),rgb(0,0,1),rgb(0,0,0)))
}
library("animation")
Time_Code=c(0.5,0.6,0.7,0.8,0.9,1.0,1.2,1.4,1.6,1.8,2.0,1.8,1.6,1.4,1.2,1.0,0.9,0.8,0.7,0.6)
saveGIF({
for (i in Time_Code){
  if01(i)
}
}, interval = 0.1, movie.name = "TEST01.gif")

f:id:ochimusha01:20190520175934g:plain

対数関数 log(x,base=root)
if02<-f0<-function(n){
f0<-function(x){log(x,base=2)}
plot(f0,xlim=c(0,5),ylim=c(-5,5),type="l",col=rgb(0,0,1), main="Days of Future Past",xlab="x",ylab="log(x,base=2~1/2)")
par(new=T)#上書き指定
f1<-function(x){log(x,base=1/2)}
plot(f1,xlim=c(0,5),ylim=c(-5,5),type="l",col=rgb(0,1,0), main="",xlab="",ylab="")
par(new=T)#上書き指定
f2<-function(x){log(x,base=n)}
plot(f2,xlim=c(0,5),ylim=c(-5,5),type="l",col=rgb(1,0,0), main="",xlab="",ylab="")
abline(h=0)
abline(v=1)

f3<-function(x){n^x}
tc <- seq(-6, 6, length=60) #-6から6までを60等分
tcvals <- f3(tc) #それぞれの縦軸の値

polygon(c(-1,tcvals,-1), #x
c(-6,tc,6), #y
density=c(30), #塗りつぶす濃度
angle=c(45),     #塗りつぶす斜線の角度
col=rgb(1,0,0))  #塗りつぶす色


legend("topleft", legend=c("y=log(x,base=2)","y=log(x,base=1/2)","x=1,y=0"),lty=c(1,1),col=c(rgb(0,1,0),rgb(0,0,1),rgb(0,0,0)))
}
library("animation")
Time_Code=c(0.5,0.6,0.7,0.8,0.9,1.0,1.2,1.4,1.6,1.8,2.0,1.8,1.6,1.4,1.2,1.0,0.9,0.8,0.7,0.6)
saveGIF({
for (i in Time_Code){
if02(i)
}
}, interval = 0.1, movie.name = "TEST02.gif")

f:id:ochimusha01:20190520141823g:plain

  • 対数グラフの塗りつぶし部分、そのままだと「x=1」処理でエラーが出て動かないので指数関数a^xのX軸とY軸を入れ替えて流用している。逆関数なので出来る事。

  • 推移がスムーズに見えるが、実は指数-1から0の区間と0から1の区間でピッチを機切り替えている。このグラフを見ても分かる通り、実際には直交座標系の様に等間隔の連続尺度が成立するのは指数関数だとY=1,対数関数だとX=1が成立する1点に過ぎない。

これは一体何を意味してるのでしょうね?