NTMRの数学メモ

数学について調べたことを書きます。高校数学に毛が生えた内容。

円周率は τ ?

 円周率はいくらと聞かれれば、当然 3.14... や π と答えるでしょう。

 しかし、中には π の代わりに τ を円周率に採用すべきだと考える人もいます。τ とは π を 2 倍した値です。 

f:id:Natsu1014_brog:20210219213325p:plain

 なぜ π より τ がよいのだろうか。それは公式などがより本質的または直感的になるからです。π は「直径に対する円周の比」である一方で τ は「半径に対する円周の比」となりますが、高校数学で普通 直径ではなく半径を r とおくことからも、なんとなく τ がいい気もします。

 

 最大のメリットは一周の角度を τ[ラジアン] と表せられることです。これにより、円周の半分は τ の半分である τ/2、円周の四分の一は τ の四分の一である τ/4 と表すことができます。

 また、同じような話ではありますが半径 r の円周は τr と表すことができ、2πr よりもややシンプルになります。ただし円の面積は (1/2)τr² と、πr² よりもやや複雑になります。しかし物理の公式に (1/2)mv² や (1/2)gt² のような同じ形をした公式もあることがから、そこまで致命的ではないと言われることが多いです。
 簡易的な円の面積の公式の導出で円を扇形に等分して並び替えるものがありますが、それにおいて三角形の面積の公式により (1/2)×τr×r と考えれば、むしろ直感的ともいえるでしょう。

 

 ここまで π より τ が円周率にふさわしいとする有名な根拠を紹介してきました。もちろん教科書が改訂されることはないでしょうが、τ の概念を持っていることで公式が覚えやすくなることもあるでしょう。その例の一つとして、以前紹介した超球の体積があります。

 (下の記事の中で紹介しました。)

 良く知りたい関数たち。 - NTMRの数学メモ

 n 次元空間における半径 R の球の体積は次のように表されます。

f:id:Natsu1014_brog:20210219213329p:plain

 R の指数が次元と一致し、π の指数が 2 つおきに 1 増えることはすぐ気づくでしょう。しかし、残された係数 1, 2, 1, 4/3, 1/2, 8/15, 1/6, 16/105 は無秩序にも見えます。一応、偶数次元だけみると 1 倍、1/2 倍、1/3 倍、…、奇数次元だけ見ると 2/3 倍、2/5 倍、2/7 倍、…となり、規則性は存在します。ただ全体としては整数の逆数倍と奇数分の 2 倍が入り混じって汚く感じます。

 すべての次元は次の 1 つの式で表せます。f:id:Natsu1014_brog:20210219213333p:plain

 しかし、ガンマ関数は馴染みがなく、使いたくないとなれば偶数次元と奇数次元に分けることで、次のように表すことができます。

f:id:Natsu1014_brog:20210219230539p:plain

 偶数次元のときはだいぶシンプルですが、奇数次元は…。あまり覚える気にはなりません。これを何とかできないか。

 ここで二重階乗というものを導入します。これも馴染みがないという人も多いだろうが、普通の階乗を知っていれば簡単です。次のように、2 つ飛ばしで掛けていくだけです。

f:id:Natsu1014_brog:20210219230543p:plain

 念のために計算例を挙げると 6!!=6×4×2=48、9!!=9×7×5×3×1=945 といった具合です。n!! は「n 以下のすべての正の偶数または奇数をかけたもの」と表してもいいでしょう。そして、これらは馴染みのない !! という記号を使わなくても、冪と階乗だけで表すことができます。

f:id:Natsu1014_brog:20210219231059p:plain

 分からなかったら、具体的な値で試してみると納得できるでしょう。

 さて、これを使うことで奇数次元の球の体積がどのように整理できるのか確かめてみましょう。

f:id:Natsu1014_brog:20210219231103p:plain

 だいぶシンプルになったのではないでしょうか!通常ならここで終わりでしょう。しかし、今回のテーマ''τ''を用いれば、もう少しだけシンプルにできます。

f:id:Natsu1014_brog:20210219233713p:plain

 これなら覚えるのも簡単でしょう。ただ、二重階乗や τ を用いて他方の偶数次元の球の体積の公式と統一感がなくなってしまったので、こちらも似た形にできないか試してみましょう。

f:id:Natsu1014_brog:20210219233733p:plain

 さらに τ=2π を用いると。

f:id:Natsu1014_brog:20210219233751p:plain
 ほぼ 2k+1 が 2k に置き換わっただけの式となりました。奇数次元の方には 2 が掛かっていますが、これは覚えるしかないでしょう。

 さて、τ を用いて n 次元空間の球の体積を表してきましたが、最後に τ を用いた場合の n=0~7 のときの公式を見てみましょう。

f:id:Natsu1014_brog:20210219234102p:plain

 τ と R の指数の規則は変更前の π と変わりませんが、残りの係数を見ると 1, 2, 1/2, 2/3, 1/8, 2/15, 1/16, 2/105, ...となります。これを偶数次元だけ見ると 1/2 倍、1/4 倍, 1/6  倍 ...、奇数次元だけ見ると 1/3倍、1/5 倍、1/7 倍...となります。

 つまり 0 次元は 1、1 次元は 2R というのを覚えれば、あとは偶数次元なら偶数の逆数倍、奇数次元なら奇数の逆数倍をしていくことで求められる、ということになります。キレイですね!

 

 そんなところで今回は終わりに…とするつもりでしたが、蛇足を付け加えます。なにかというと、やはり奇数次元のときの 2 が気になる。そして、その原因はなにかというと 1 次元が 2R となっていること。じゃあ、直径を r=2R とおけば 1 次元空間の球の体積を r として、2 を消すことが出来ます。すると、上の表は次のようになります。

f:id:Natsu1014_brog:20210220000033p:plain

[訂正(2021/02/20)] 5, 6, 7 次元の R は r の誤りです。

 まさにこのためにあったんじゃないか、というほど 2 が綺麗に消えてくれました。これでより統一感のある形で、偶数次元と奇数次元の球の体積を式で表すことができます。でも、せっかくなので統一的に表す方法を考えてみましょう。2k や 2k+1 というのは要するに n のことなので、そのまま置き換えます。問題は τ/4 の指数ですが、床関数(ガウス記号のほうが一般的か)を使うことで解決できます。

f:id:Natsu1014_brog:20210220000417p:plain

 すべてをシンプルに、かつ統一的に表すことが出来ました…!ただ、こうなってしまうと τ である必要はなくないか?むしろ、直径 r を用いているのだから π を用いた方が統一感があるのでは…?
 ……。

f:id:Natsu1014_brog:20210220001623p:plain

 τ の有用性を示すつもりが、直径と π を使ったほうがキレイになるとは皮肉な結果ですね。まあ、点を集めて直径になり、直径を集めて円になり、…という過程を考えれば納得いくかもしれません。

 ということで、今度こそ本当に終わりです。ではまた~。

純虚数の階乗 Γ(ni+1)

 ガンマ関数により階乗を複素数全体に拡張でき、それにより''(1/2)!=√π''を得ることが出来たわけですが、せっかくなら複素数の階乗も計算したいものです。

 ということで、純虚数の階乗を(可能な範囲で)計算してみました。(z)!=Γ(z+1) なので、Γ(ni+1) を計算します。

f:id:Natsu1014_brog:20210219183504p:plain

 恐らくこれ以上は解くことはできません。ただし n=1 のときは Γ(i+1)≒0.498-0.155i といった具合に、個々の近似値を出すことはできそうです。

 そこで 0 から 10 まで 1/2 おきの x  に対して (xi)! の実部と虚部をグラフに描くと、それぞれ赤と青の点のようになりました。

f:id:Natsu1014_brog:20210219184019p:plain

 十分に大きい x では実部も虚部も 0 に近づいているようですが、符号は何度も変わっているようです。(途中で抜けている点もありますが、これはグラフ描写に使ったサイトであるDesmosの計算能力の都合によるものだと思います。)

 しかし、n!=n×(n-1)! のような分かりやすい関係性は見つけることはできませんでした。これだけで終わるのは残念なので、同じ x に対して (xi)! を複素数平面上にプロットし、各点を結んでみました。

f:id:Natsu1014_brog:20210219184609p:plain

 ずいぶんキレイな曲線になりました。最後の方は渦を巻いています。また、負の x に対しても同様にすると、これと x 軸に関して対称な曲線が現れました。 

 また、今回は Γ(i+1) や Γ(2i+1) などを対象にしましたが、Γ(z+1)=zΓ(z) が成り立つので例えば Γ(i+2) は Γ(i+2)=(i+1)Γ(i+1)≒0.653+0.343i のようにして求めることが出来ます。だからこそ Γ(ni+1) を一般化することができれば嬉しかったのですが、そんなうまい話はないのかも知れません。

 今回はこのへんで(ーωー)ノシ

cos(z)=1+i と黄金比 φ

 cos(z)=1+i の解をしばらく前に計算したことをふと思い出したので、改めて計算してみました。計算結果に黄金比 φ が現れるのがお気に入りです。

 なお、z の実部を x, 虚部を y とし、0≦x<2π としています。

f:id:Natsu1014_brog:20211127234701p:plain

 WolframAlphaで計算すると、arccos(1/φ)=0.9045568943...≒0.288π、arccosh(φ)=1.0612750619... となりました。また、sin(z)=1+i を計算すると cosh(y)=φ は同じですが、cos(x)=1/φ の代わりに sin(x)=1/φ となりました。

 今回はこの辺で(ーωー)ノシ

良く知りたい関数たち。

 今回はガンマ関数リーマンゼータ関数、そして素数計数関数について軽くまとめました。ただ、また想定以上に長くなり、画像の準備が大変になったので、画像に直接説明を書きました。

 まずガンマ関数です。これは、非負整数に定義される階乗を複素数の範囲に拡張したものです。

f:id:Natsu1014_brog:20210218002407p:plain

 補足するとΓ(3/2)=(1/2)×Γ(1/2)=sqrt(π)/2 であり、適切な表現ではありませんが (1/2)!=sqrt(π)/2 ということになります。また、これも適切な表現ではありませんが、Γ(i+1)≒0.498-0.155i は i!≒0.498-0.155i ということになります。

 次にリーマンゼータ関数です。これは有名なリーマン予想に直接かかわる関数です。f:id:Natsu1014_brog:20210218002421p:plain

 1+2+3+…=-1/12 というのは僕の認識では解析接続というもので、実数関数 f(x) に対してある区間における値が完全に一致するような複素関数 g(z) はただ一つ存在して、g(z) により f(x) では定義されない x に対する f(x) を求めることが出来る、といった具合だと思います。複素関数についてはよく知らないので、興味がある人は自分で調べてください。

 最後に素数計数関数です。あまり聞きなれませんが、定義はシンプルです。f:id:Natsu1014_brog:20210218002432p:plain

 π(x)>Li(x) となるような x の存在は、ガウスやリーマンですら予想していなかったというので驚きです。また、以前紹介した巨大数ほどではありませんが、スキューズ数は数学的に意味のある数としては最も大きいものの1つです。

 

 以上で今回は終わりです。ここ数日の更新で、紹介したいことは書き尽くしたので、次に何を書くか、次の更新がいつになるか、は未定です。が、また書きたくなるようなネタが見つかることを願います。ではまた。

加法から始める巨大数・後編(下) コンウェイのチェーン表記, 4変数BEAF

 前回はこちら。

natsu1014-brog.hatenablog.com

 

 今回は前回紹介したクヌースの矢印表記やアッカーマン関数よりも強い表記法・関数を紹介します。

 最初に紹介するのはコンウェイのチェーン表記と呼ばれるもので、次のようなものです。

f:id:Natsu1014_brog:20210217122357p:plain

 (1)' は a→b→1 の →1 を省略していると解釈すればよいと思います。なお、定義としては(1)と(1)'のどちらか一方だけ採用すればよいそうです。

 しかし、これだけだと本質的にクヌースの矢印表記と変わりません。ここからがチェーン表記の強いところで、「チェーン」というだけあって4つ以上の自然数を → を介して繋ぐことができるのです。そしてその場合、次のように定義されます。

f:id:Natsu1014_brog:20210217122735p:plain

 (2)と(2)'は途中に 1 があれば、それ自身と(もし続きがあるならば)1 以降のチェーンを消去できることを表しています。そして(3)はやや複雑ですが、ここまでのどれにも当てはまらない場合、最後尾の数字を 1 減らし、最後尾から二番目の数字を「最後尾から二番目の数字を 1 減らしたチェーン全体」に置き換えます。

 計算例を見てみましょう。

f:id:Natsu1014_brog:20210217131819p:plain

 3→2→2→2 はまだクヌースの矢印表記で表されますが、チェーンを一つ伸ばした 3→2→2→2→2 はもはやクヌースの矢印表記では表せません。便宜上 M₂₅ という文字をおいてますが、これは M₂₄ を含むチェーンから巨大数であり、M₂₄ も…といった具合なので、クヌースの矢印表記やアッカーマン関数と比較できないほど大きいことが分かります。

 ただ、チェーンを長くするほど爆発的に大きくなることは分かりましたが、長く伸ばすには広いスペースが必要になります。そのため cg(n) を次の定義することで、この問題も解決できます。計算例として cg(3) も載せておきます。

f:id:Natsu1014_brog:20210217132449p:plain

 非常に大きいコンウェイのチェーン表記ですが、これは拡張することでさらに強力にすることができます。拡張には二通りあるようですが、今回はピーター・ハーウォード氏によるものを紹介します。

f:id:Natsu1014_brog:20210217132736p:plain

 僕も始め混乱したので注意しなければなりませんが、これはチェーンの長さ(変数の数)が2になったときにはじめて成り立ちます。長さが3以上のときは → の下付き文字を無視して、拡張前と同様に計算します。

 計算例を載せておきます。とはいえ、大きすぎて途中までしか計算できませんが…。

f:id:Natsu1014_brog:20210217133149p:plain

 赤と紫の部分で、→ の下付き文字が効力を発揮しています。コンウェイのチェーン表きですら表せないことからも、一段階上の巨大数であることが分かります。

 

 しかし、今回はこれよりもさらに強力な関数を紹介します。それはBEAFと呼ばれるものです。beef みたいで変わった名前ですが、Bowers Exploding Array Function の頭文字をとっているようです。(日本語訳するなら「バウアーズの爆発配列関数」でしょうか?)

 a{c}b=a(↑^c)b というのが BEAF の基本的な定義ですが、それではクヌースの矢印表記と変わらない。そこで {} を二重にすることで (2.1) のように定義し、爆発させることができます。f:id:Natsu1014_brog:20210217140753p:plain

 しかし、二重ができるなら三重以降も存在します。

f:id:Natsu1014_brog:20210217141354p:plain

 そして、d重のとき (3) のように表記し、そのとき (2.1),(2.2) は (2) のように一般化できます。

f:id:Natsu1014_brog:20210217141457p:plain

 3重以上の BEAF に関しては非常に大きいことは分かると思うので、ゴチャゴチャするし省略します。

 また、これらは次のように定義することで {a,b,c,d} とシンプルにまとめることができます。

f:id:Natsu1014_brog:20210217141805p:plain

 以上で書きたいことは大体書きましたが、BEAF の本領はまだまだこんなものではありません。{a,b,c,d} はコンウェイのチェーン表記に似た定義により、5 個以上の変数 {a,b,c,...,y,z} に拡張することができます。このような表記は線形配列と呼ばれるもので、前回存在だけ紹介した多変数アッカーマン関数と同程度になります。

 しかし、BEAF はまだまだこんなものでは終わりません。さらに多次元配列、テトレーション配列と、より強力な表記が存在します。ここまでくると、もはや多変数アッカーマン関数すら超えてきます。実はこれより先の表記もあるようですが、その定義はまだ不完全と言われていますが、もし適切に定義されればここまで紹介してきたものとも比較できないほど大きくなるそうです。

 

 ちなみに、あるサイトでは巨大数をランク分けとして、指数を重ねる表記(10^10^10^10 など)の上に、「テトレーション」「矢印表記」「チェーン表記」「多変数アッカーマン」のようにランク分けされているようです。当然、その上のランクも存在するようで有名な例としては「ふぃっしゅ数バージョン3」があります。

 ここまで長々と巨大数の紹介をしてきて今更ですが、僕もしっかりと勉強したわけではないです。そのため様々なサイトを参考にしたので、それらを紹介して終わりにします。

巨大数研究 Wiki | Fandom

巨大数資料wiki - atwiki(アットウィキ)

  他にもWikipediaやaster氏のニコニコ動画の解説動画も参考にしました。

 

 これより先も個人的に勉強すると思いますが、不正確な情報を提供する可能性も高い(ここまでの正確性も不明ですが…)ので、ブログにはかかないんじゃないかなーと思います。

 以上で「加法から始める巨大数」は終了します。次回も理解してるとは言えないような知識の紹介になりますが、「ガンマ関数」のようなもう少し有名な話題を扱っていこうと思います。ではまた。

加法から始める巨大数・後編(上) クヌースの矢印表記, アッカーマン関数

 前回はこちら。

natsu1014-brog.hatenablog.com

 前回までは巨大数詐欺だったので、今回からしっかり巨大数を紹介していきます。まずは既に登場したクヌースの矢印表記について話します。クヌースの矢印表記とは、ハイパー演算子と次のような関係にありました。

f:id:Natsu1014_brog:20210216173004p:plain

 つまり、a↑b は馴染みのある冪のことであり、a↑↑b はこのシリーズで扱ってきたテトレーションを表します。しかし、テトレーションはハイパー演算子の4番目に過ぎません。つまり、5番目以降も考えることができ、次のように定義されます。

f:id:Natsu1014_brog:20210216173638p:plain

 これをペンテーションといいます。重なる指数の数がえらいことにことになってることから、テトレーションよりもずっと大きい値を返すような関数だと分かります。(右から計算することに注意してください。)そして、クヌースの矢印表記を用いると次のように表されます。

f:id:Natsu1014_brog:20210216173928p:plain

 では、実際に計算をしてみましょう。

f:id:Natsu1014_brog:20210216174002p:plain

f:id:Natsu1014_brog:20210216174023p:plain

 参考にテトレーションは 2↑↑4=65536、 2↑↑5=2↑65536(=2↑2↑2↑2↑2) となります。2↑↑↑3 までは大して変わらないように感じますが、2↑↑↑4 以降は比べ物にならないくらい大きくなることが分かります。

 しかしこれでも5番目のハイパー演算子。6番目になると、さらに凶悪です。

f:id:Natsu1014_brog:20210216174923p:plain

 クヌースの矢印表記は当然、上矢印が一本増えて a↑↑↑↑b となっています。これをヘキセーションといいます。計算例も挙げておきます。

f:id:Natsu1014_brog:20210216175122p:plain

 今度は 2↑↑↑↑3 から既にエグい数字になりました。2↑↑↑↑4 も書こうかと思いましたが、これがこれ以上計算できない以上、2↑↑↑↑4=2↑↑↑(2↑↑65536) と書くしかないので省略しました。とにかくエグいことは分かったと思います。

 しかし、この先にはさらに7番目、8番目…と続いていきます。名前は恐らくヘプテーション、オクテーション…となるのでしょう。

 ただ、今のクヌースの矢印表記には弱点が1つあります。それは ↑ を書く(または数える)のが大変だということです。しかし、これも簡単に解決できます。

 次のように、↑ の個数を添えることにするのです。

f:id:Natsu1014_brog:20210216180215p:plain

 これにより、例えば a↑↑...(100個の↑)…↑b なんていうトンデモナイ演算(ヘクテーションとでもいうのだろうか [追記(2021/02/16)] 違いました。ヘクテーションはH₁₀₀(a,b) なので、クヌースの矢印表記では  a↑⁹⁸b です。)も a↑¹⁰⁰b と書くだけで表せてしまいます。

  [追記(2021/02/16)]  ちなみに n がどんな値であっても、2(↑^n)2=4 となります。これは数学的帰納法で簡単に示せます。

 

 さて、今回はもう一つ紹介します。それはアッカーマン関数と呼ばれるものです。定義は次の通り。

f:id:Natsu1014_brog:20210216180835p:plain

 なんじゃこりゃーとなりますが、実際に計算してみたら慣れてくると思います。ただ、m,n の値は慎重に選ばないとなりません。
 実はこの関数、大きさとしてはクヌースの矢印表記と大して変わらないのですが、計算量がひどく多いのが特徴なのです。実際に Ack(2,2) を計算した例を紹介します。

f:id:Natsu1014_brog:20210216181137p:plain

 こんだけ計算して値はたったの 7 かよ、って感じですが、適当に変数を選ぶとちゃんと大きい値がでます。その場合、計算量も人の手では書けないくらい膨大になりますが…。

 そしてクヌースの矢印表記と同じくらいの大きさだと言いましたが、実際、次のような等式が成り立ちます。

f:id:Natsu1014_brog:20210216181756p:plain
 クヌースの矢印表記で表せるのは m≧3 のときとしていますが、↑⁰ を無理やり乗法と解釈してあげれば実際に Ack(2,2)=2×(2+3)-3=7 となることが確かめられます。

 ちなみに、アッカーマン関数を拡張した多変数アッカーマン関数というものもあり、それはクヌースの矢印表記や次回紹介するコンウェイのチェーン表記よりもずっと大きい数を表すことができます。ただ、僕自身が理解ができていないため、今回は存在の紹介に留めます。理解できたら、いつか記事にするかもです。

 

 今回の内容は以上です。前中後の3編で構成するつもりでしたが、後編が意外と書きたいことが多かったので、さらに上下に分けることにしました。次回はさらに巨大な数を2つ紹介します。ではまた。

i^i^i^…の値

加法から始める巨大数・中編 i↑↑∞、2^x=x^2の解 - NTMRの数学メモ

 上の記事で扱った i↑↑∞ すなわち i^i^i^… の値について、もう少し考えてみます。

 i↑↑∞=W((-π/2)i)/(-π/2)i であることは分かったので、その値を x+iy (x, y は実数) とおきます。

f:id:Natsu1014_brog:20210216140717p:plain

 すると、z の実部・虚部とW(z) の実部・虚部の関係式も分かっているので、まず実部についての等式を変形すると、y を x で表すことが出来ます。

f:id:Natsu1014_brog:20210216140713p:plain

 さらに虚部についての等式にコレを代入すると、x についての方程式が得られます。

f:id:Natsu1014_brog:20210216141005p:plain

 これを満たす x が i↑↑∞ の実部となります。そして、それを y=xtan((π/2)x) に代入すると虚部が求まります。

 最後から二行目がかなりランベルトのW関数が使える形に近いのですが、惜しかったです。ではまた。