Quantcast
Channel: 円周率近似値の日に生まれて理系じゃないわけないだろ! - knifeのblog
Viewing all articles
Browse latest Browse all 5376

超冪(テトレーション)の不思議

$
0
0

ある数xを無限に冪乗していくとして、値は何になるんだろうか。

そんな疑問がふと浮かんだ。

a+a+a+…+a
のように、aをb個加算したものを、a×bと表し、乗算という演算である。

a×a×a×…×a
のように、aをb回乗算したものを、abと表し、冪乗という演算である。

では、
a^a^a^…^a
のように、aをb回冪乗したものは、なんていうんだろう?

調べてみると、見つけました。

超冪、テトレーション、tetrationと呼ぶようです。

なぜ接頭語にtetra、つまり4を冠しているのか。
それは、加算が1、乗算が2、冪乗が3、超冪が4ということ。

演算記号は、ba、a^^b といったような表現方法があるらしい。
ここでは、面倒なので後者の^^を使うこととする。

a=2
b=∞
a^^b=2
のように収束する。
ということは知っている。

そこで、多倍長演算プログラムLMで、
x=a^^b
という数式に対して、bは∞と言いたいところだが、難しいので、bをある程度大きな値、例えばxの小数点以下50桁が収束する程度の回数行うものとして、適当に作ってみる。

b=10^5;a=x=1/15;for (i=0; i<b; i++) { x=a^x; printf("%.50f\n",x); }

もし、収束していないようならば、bを適当に大きくしてみてください。
収束したのが確認出来たら、プログラムを途中で止めてもよいだろう。

a=x=sqrt(2); のとき、
2.00000000000000000000000000000000000000000000000000
これは下から収束しているのが目に見えてわかった。

a=x=sqrt(3); のとき、
2.58939990226034406227067186889607704267672045627149
4.14695063102756853805382423135480907450510527874832
9.75661446705656641316716963394293832370634847227306
212.59060514674273448159722725686522359476351307791709
519694516711717283420715624716105398020037059825310.36209524253006107493558288109046595654505703359354
となって、オーバーフローした。
つまり、∞に発散したと解釈出来る。
以後、オーバーフローは発散と解釈する。

a=x=1.44; のとき、
2.39381174820294606807859897559679132218485372043439
に下から収束していった。

a=x=1.45; のとき、
∞に発散した。

つまり、1.44<a=x<1.45のレンジ内に、収束と発散の境界線が存在するだろうと予想してみる。


a=x=1/2; のとき、
0.64118574450498598448620048211482366656282095719110
に振動しながら収束していった。

a=x=1/4; のとき、
0.50000000000000000000000000000000000000000000000000
に振動しながら収束していった。

a=x=1/8; のとき、
0.41868621979724841267472248744737790370444567336322
に振動しながら収束していった。

a=x=1/16; のとき、
0.50000000000000000000000000000000000000000000000000
0.25000000000000000000000000000000000000000000000000
0.5は上から、0.25は下から、それぞれの値に収束していった。

やべえ。
なんだこれ。
おもしれーぞ。

a=x=1/17; のとき、
0.56059648531649821117610857037847077230109983152312
0.20427473666551849917569874518644695799166869034842
2つに収束していった。

ならば、

a=x=1/15; のとき、
0.36857342422113574099471620033217688949217602616012
に振動しながら収束していった。

つまり、1/16<a=x<1/15のレンジ内に、2つに収束と、1つに収束の境界線が存在すると予想。

とりあえず、今回はこれくらいに留め、次回もう少しレンジを狭めていこうかと思う。

なお、今回はプログラミングに重きをおくわけではなく、数学として書くので、ジャンルは数楽とします。


ではでは


Viewing all articles
Browse latest Browse all 5376

Trending Articles