今日の実験ノート

今日やったことを気ままに綴るノート。

Month: 9月 2017

巨大数の世界〜グラハム数の評価〜

概要

巨大数とは、日常生活では使用しないほど大きな数のことである。 定義は曖昧で、この分野の存在意義は各自に任せるが、この 途方もない数の爆発 に言いようもない魅力を感じるのは間違いない。

途方もない巨大数を生み出したときに、その巨大数はどれほどの大きさなのか「評価」したいという欲求を満たすため、 さらなる巨大数を生み出してしまう。

(数の評価をするということは、その数を 不等号により評価 するということであり、巨大数の評価のために より「強い」 巨大数を生み出す必要がある。)

またこれらの記事はAeton氏によって投稿された、【ゆっくりと学ぶ】グラハム数を解説してみた【再UP版】と、 この動画の中で言及されているふぃっしゅっしゅ氏による巨大数論、有志による巨大数研究 Wikiに大きな影響を受けていることを記述して、先人の研究に感謝したいと思う。

巨大数の導入

「巨大数」と言われてどんな数を想像しただろうか。

とりあえず、こんな数だろうか。

$latex 9999999999 $

しかし私はこの横にこんな数を書いて、この数より大きな数を書いてしまう。

$latex 9999999999 \ll 10^{20} $

この議論は巨大数の世界を最も象徴している。

$latex 9999999999$ という数は把握しにくい数だが、 $latex 10^{20}$ という数より小さいことがわかる。

$latex 10^{20}$ という数は $latex 9999999999$ よりは把握しやすいため、これをもって $latex 9999999999$ という巨大数を把握したことになるのだ。

この記事の目標は「 グラハム数 」という巨大数の代表を評価することである。この「グラハム数」は数学の証明に使われた最大の数としてギネスブックに登録されている。

グラハム数の定義

グラハム数の導かれた過程は扱わない。頭が固い人によって書かれた記事などを参考にするといいだろう。

グラハム数 $LATEX G$ を次のとおりに定義する。

\begin{align} g(n) \triangleq 3 \uparrow ^n 3\\ G \triangleq g^{64}(4) \end{align}

この数を評価するのだが、そもそもが知らない記号がたくさん出ているため、1つずつ解説していきたい。

記法

クヌースの矢印表記

まず既存の記法から捉えなおそう。既存のルールと整合性を守って数を拡張するためには、既存のルールの把握は必要不可欠である。

わかりやすいところから、「冪乗」から議論を始める。 冪乗は 掛け算の繰り返し として捉えることが出来る。

$latex a^b \triangleq \underbrace{a\cdot a \cdot \dots \cdot a}_{b\qq[times]} $

とするとすれば、掛け算は 足し算の繰り返し になり、足し算は「1増やす」という 単項演算の繰り返し として捉えることが出来る。

単項演算子の $latex +$ と二項演算子の $latex +$ は異なる ことに注意しなければならない。

\begin{align} a+ &\triangleq a\text{の次の数}\\ a+b &\triangleq ((((a\underbrace{+)+)\dots)+)}_{b\qq[times]}\\ a\cdot b &\triangleq \underbrace{a+a+\dots+a}_{b\qq[times]}\\ a\verb|^|b = a^b &\triangleq \underbrace{a\cdot a\cdot\dots\cdot a}_{b\qq[times]}\\ \end{align}

こういうふうに捉え直すことで、冪乗を繰り返す演算である「 超冪乗 」なるものを考えることが出来る。ハットの記号を援用して次のように定義する。

$latex a\verb|^^|b \triangleq \underbrace{a\verb|^| a\verb|^| \dots \verb|^| a}_{b\qq[times]} =\underbrace{a^{a^{{}^{.\,^{.\,^{.\,^a}}}}}}_{b\qq[times]}$

超冪乗についてはこれまでの演算と異なり、 結合順により計算結果が異なってしまう。 右から左に向かって計算する( 右結合 )ことになっているので注意したい。 (式 $latex \ref{ne}$ は誤っている!)

\begin{align} 3\verb|^^|3 &\ne ((3\verb|^|3)\verb|^|3) = 27\verb|^|3 = 19683\label{ne}\\ 3\verb|^^|3 &= (3\verb|^|(3\verb|^|3)) = 3\verb|^|27 = 7625597484987 \end{align}

実際に紙に書いてみると分かるが、ハットを横に書き並べる記法はとても書きづらい。そのためハットの頂点から線を出し、(都合、上矢印となるが、)も使用して良いことにする。

これが クヌースの矢印表記 である。拡張して、n本の矢印も扱うことも出来る。 n本の矢印はn-1本の矢印に展開され、最終的に一本の矢印(冪乗)に展開される。

\begin{align} a^b = a\uparrow b &\triangleq \underbrace{a\cdot a\cdot\dots\cdot a}_{b\qq[times]}\\ a\uparrow\uparrow b &\triangleq \underbrace{a\uparrow a\uparrow\dots\uparrow a}_{b\qq[times]}\\ a\uparrow^n b &\triangleq a \underbrace{\uparrow\cdots\uparrow}_{b\qq{times}} a = \underbrace{a\uparrow^{n-1}a\uparrow^{n-1}\dots\uparrow^{n-1}a}_{b\qq[times]} \end{align}

ここで、面白い性質を紹介する。 $latex 2 \uparrow^n 2$ の場合だ。例として $latex 2 \uparrow^4 2$ を扱う。

\begin{align} 2 \uparrow\uparrow\uparrow\uparrow 2 &= \underbrace{2 \uparrow\uparrow\uparrow 2}_{2\qq[times]}\\ &= \underbrace{2 \uparrow\uparrow 2}_{2\qq[times]}\\ &= \underbrace{2 \uparrow 2}_{2\qq[times]}\\ &= 2^2 = 4 \end{align}

つまり、矢印が何本重なっても 最終的に $latex 2^2$ になってしまう ということだ。このため、クヌースの矢印表記では最も基本的な数として、3を扱うことに注意したい。

3の場合、無事に(?)数の爆発が発生する。

\begin{align} 3 \uparrow 3 &= 3^3 = 27\\\\ 3 \uparrow\uparrow 3 &= \underbrace{3 \uparrow (3 \uparrow 3)}_{3\qq[times]}\\ &= 3^{27} = 7625597484987 \simeq 7 \cdot 10^{12}\\\\ 3 \uparrow\uparrow\uparrow 3 &= \underbrace{3 \uparrow\uparrow (3 \uparrow\uparrow 3)}_{3\qq[times]}\\ &= \underbrace{3 \uparrow 3 \uparrow \cdots \uparrow 3}_{3 \uparrow\uparrow 3\qq[times]} = \underbrace{3 \uparrow 3 \uparrow \cdots \uparrow 3}_{7625597484987\qq[times]}\\\\ g(4) = 3 \uparrow\uparrow\uparrow\uparrow 3 &= \underbrace{3 \uparrow\uparrow\uparrow (3 \uparrow\uparrow\uparrow 3)}_{3\qq[times]}\\ &= \underbrace{3 \uparrow\uparrow 3 \uparrow\uparrow \cdots \uparrow\uparrow 3}_{3 \uparrow\uparrow\uparrow 3\qq[times]}\\ &= \underbrace{3 \uparrow 3 \uparrow \cdots \uparrow 3} _{\underbrace{3 \uparrow\uparrow 3 \uparrow\uparrow \cdots \uparrow\uparrow 3}_{3 \uparrow\uparrow\uparrow 3\qq[times]}} \end{align}

そしてようやくグラハム数に関連する $latex g(4)$ を説明することが出来た。「こんな途方もない数。。。」と思うかもしれない。

しかし例えば、私たちは $latex 3^{100}$ という数を正確に認識できているのだろうか。「ああ、 3を100回掛けた数 ね」という風に認識するだけではないだろうか。

$latex g(4)$ もこういう捉え方が出来ないだろうか。数を正確に捉えようとするのではなく、数の 生成方法 を味わうと言うだろうか。。。おっと駄文はこのくらいにしておこう。

合成関数

高校の数学でこのような定義を習ったことを覚えているだろうか。

$latex f^m(x) = (\underbrace{f \circ f \circ\dots\circ f}_{m\qq[times]}) = \underbrace{f(f(\dots(f}_{m\qq[times]}(x))))$

ここで、 $latex f^m(x)$ という記法には表記ゆれがあるため合成関数なのか、ただの関数値の冪乗なのかは文章の前後から読み取る必要がある。

グラハム数の定義に用いる、 $latex g^{64}(4)$ に関しては合成関数となる。

合成関数を簡単に復習する。

\begin{align} f(x) &\triangleq x^2+1\\\\ f^2(x) = f(f(x)) &= f(x^2+1)\\ &= (x^2+1)^2 + 1\\ &= x^4+2x^2+2\\\\ f^3(x) = f(f(f(x))) &= f(f(x^2+1))\\ &= f(x^4+2x+2)\\ &= (x^4+2x+2)^2 + 1\\ &= x^8 + 4x^6 + 8x^4 + 8x^2 + 5 \end{align}

という風に関数の結果を関数に渡すことで、簡単に関数を複雑にすることが出来る。

グラハム数に戻ると、

\begin{align} g(4) &\triangleq 3 \uparrow\uparrow\uparrow\uparrow 3\\\\ g^2(4) = g(g(4)) &= g(3 \uparrow\uparrow\uparrow\uparrow 3)\\ &= \left. \begin{matrix} 3 \underbrace{\uparrow\uparrow \cdots\cdots \uparrow} 3\\ 3 \uparrow\uparrow\uparrow\uparrow 3 \end{matrix} \right\}2\qq[layers]\\\\ g^3(4) = g(g(g(4))) &= g(g(3 \uparrow\uparrow\uparrow\uparrow 3))\\ &= g(3\underbrace{\uparrow\cdots\uparrow}_{3 \uparrow\uparrow\uparrow\uparrow 3} 3)\\ &= \left. \begin{matrix} 3 \underbrace{\uparrow\uparrow \cdots\cdots\cdots \uparrow} 3\\ 3 \underbrace{\uparrow\uparrow \cdots\cdots \uparrow} 3\\ 3 \uparrow\uparrow\uparrow\uparrow 3 \end{matrix} \right\}3\qq[layers]\\\\ g^4(4) = g(g(g(g(4)))) &= g(3 \underbrace{\uparrow\cdots\uparrow} _{3 \underbrace{\uparrow\cdots\uparrow} _{3 \uparrow\uparrow\uparrow\uparrow 3} 3} 3)\\ &= \left. \begin{matrix} 3 \underbrace{\uparrow\uparrow \cdots\cdots\cdots\cdots \uparrow} 3\\ 3 \underbrace{\uparrow\uparrow \cdots\cdots\cdots \uparrow} 3\\ 3 \underbrace{\uparrow\uparrow \cdots\cdots \uparrow} 3\\ 3 \uparrow\uparrow\uparrow\uparrow 3 \end{matrix} \right\}4\qq[layers] \end{align}

つまり、 $latex g(x)$ を繰り返すたびに一段ずつ深くなっているのだ。

注意するべきなのは、 $latex g(x)$ の繰り返しによって、 クヌースの矢印が 増えていっているため、それはそれは膨大な数になっている。

これでグラハム数の定義に戻ってみよう。

もう一度グラハム数

グラハム数の定義は次のとおりであった。

\begin{align} g(n) \triangleq 3 \uparrow ^n 3\\ G \triangleq g^{64}(4) \end{align}

g(4)の合成関数については既に考察を終えているので、つまり書き下すとこのようになる。

\begin{align} G = \left. \begin{matrix} 3 \underbrace{\uparrow\uparrow \cdots\cdots\cdots\cdots\cdots \uparrow} 3\\ 3 \underbrace{\uparrow\uparrow \cdots\cdots\cdots\cdots \uparrow} 3\\ \underbrace{\quad\quad \vdots \quad\quad}\\ 3 \underbrace{\uparrow\uparrow \cdots\cdots \uparrow} 3\\ 3 \uparrow\uparrow\uparrow\uparrow 3 \end{matrix} \right\}64\qq[layers] \end{align}

簡単に書いているが、この数は膨大な数である。例えば、 $LATEX G$ の最上段における 矢印の数が $latex g^{63}(4)$ 本ということからもその膨大さが伺えるだろう。

\begin{align} G = \left. \begin{matrix} 3 \overbrace{ \underbrace{\uparrow\uparrow \cdots\cdots\cdots\cdots\cdots \uparrow} }^{g^{63}(4)} 3\\ 3 \underbrace{\uparrow\uparrow \cdots\cdots\cdots\cdots \uparrow} 3\\ \underbrace{\quad\quad \vdots \quad\quad}\\ 3 \underbrace{\uparrow\uparrow \cdots\cdots \uparrow} 3\\ 3 \uparrow\uparrow\uparrow\uparrow 3 \end{matrix} \right\}64\qq[layers] \end{align}

ベクトルの導入

概要

ベクトルは「力」を表すことにとても優れており、物理を学習するにあたって外すことのできない知識である。 また一つの文字で、複数の量を扱っていると考えることもでき、式を見通しを良くすることにも寄与する。

ベクトルの導入

ベクトルは見た目として 矢印 である。ベクトルにおいては、平行移動したものを 全て同一視 する。

矢印は 始点終点 で構成される。視点を変えれば、 方向長さ で構成されるともいえる。

成分でベクトルを表示する際は、始点が減点にあると考えると終点の座標と一致する。

またこれまで扱ってきた「普通の」数をベクトルと区別して スカラー と呼ぶ。

ko-physics-vector-01.png

ベクトルとスカラーの加減算

ベクトルとスカラーの加減算は、次元が異なるため定義できない。

ベクトルとスカラーの掛け算

ベクトルとスカラーの掛け算を定義する。

ベクトルとスカラーの掛け算はベクトルを成分表示した後、すべての成分についてスカラーを掛け算する。

平面座標で見ると、方向を保存しながら長さがスカラー倍になっていることが分かる。

ベクトルとベクトルの加減算

ベクトル同士の次元が一致していることが条件である。 例えば、平面ベクトル同士は計算できるが、平面ベクトルと空間ベクトルは計算できない。

その場合、平面ベクトルを空間ベクトルとして捉え直せば計算することが出来る( $latex z = 0$ とする)

ko-physics-vector-02.png

加算の場合、 始点から平行四辺形の対頂角まで のベクトルになる。

減算の場合、 引いた数の終点から引かれた数の終点まで のベクトルになる。

減算はイメージすることが難しいので、最初は $latex -\vb{b}$ を書いてから計算しても良いが、将来的に書かずに求められるようになりたい。

成分で計算するのは簡単で、それぞれの成分をそれぞれで計算すればよい。

\begin{align} \vb{a} &\triangleq \mqty{4\\3}\qc \vb{b} \triangleq \mqty{5\\-1}\\ \vb{a}+\vb{b} &= \mqty{4\\3}+\mqty{5\\-1} = \mqty{4+5\\3-1} = \mqty{9\\3}\\ \vb{a}+\vb{b} &= \mqty{4\\3}-\mqty{5\\-1} = \mqty{4-5\\3-(-1)} = \mqty{-1\\4} \end{align}

数学 – 必要最小限の知識で学ぶ高校物理

概要

高校物理において利用する数学の知識は「ベクトル」と「三角関数」(と「微分積分」)です。

物理と数学は学校でも独自に学習が進むため、必要な応用ができないことがありますが、 ネットでは、ハイパーリンクという便利な技術を使用できるため、必要になった際に参照できるよう記述します。

目次

ベクトル

ベクトルの導入と四則演算

ベクトルの内積

ベクトルの外積

三角関数

ラジアン

三角関数の導入と計算方法

三角関数の加法定理

微分積分

$latex x^n$ の微分積分

三角関数の微分積分

必要最小限の知識で学ぶ高校物理

全般について

必要最小限の知識で学ぶ高校物理について

この記事群は「今日の実験ノート」の一コーナーです。

アルバイトで受験生の物理を見ていますが、何分とっつきにくい科目のようで、 毎年多くの受験生を苦しめているようです。

しかし物理は基本法則を抑えれば、時間対効果の非常に高い科目だと思っています。 学校の先生は網羅性を重視するあまり、応用性の低い教え方を採用してしまっているようです。

例えば、ジュールの法則について $latex Q = VIt = RI^2t = \frac{V^2}{R}t$ という3式を扱うことに意味はほとんどありません。 式変形に用いられているのはオイラーの公式であり、 $latex Q = VIt$ を学習した時点で、他の式の形式は自明です。

また例としてジュールの法則を用いましたが、物理の発展によりジュールの法則も適切な推論によって導くことができます。

数学の知識も随所で活用しますが、数学の知識の良い活用場所だと思えば、物理と数学は両輪の役割を担ってくれると思います。 (数学の発展は物理の発展とともに行われ、物理の概念を数学に導入した例も多い)

ぜひこの記事を見てほんとうに必要な知識と、推論で導くべき知識の分別をして「軽い」物理を学びましょう!

参考図書について

「第一学習社 セミナー 物理基礎+物理」を用います。

ただ基本的に筆者が網羅性の確認、物理基礎/物理の判別のために用いるものであり、 記事内で特に言及することはあまりないと思われます。

また章立てを参考にさせていただいています。

目次

数学

  • 概要
  • ベクトルの演算
  • ベクトルの内積/外積

力学

  • 概要
  • 力のはたらかない運動
  • 力のはたらく運動
  • 力のつりあい
  • 円運動
  • 万有引力

熱力学

  • 熱とエネルギー
  • 気体の法則と分子運動

波動

  • 波の性質
  • 音波
  • 光波

電磁気

  • 電場と電位
  • 抵抗
  • コンデンサー
  • コイル
  • 電流と磁場
  • 交流と電磁場

原子

  • 電子と光
  • 原子の構造
  • 原子核と素粒子