高德納箭號表示法

高德納箭號表示法（英語：Knuth's up-arrow notation）是種用來表示很大的整數的方法，由高德納於1976年設計。它的概念來自冪是重複的乘法，乘法是重複的加法。 乘法是重複的加法： a × b = a + a + ⋯ + a {\displaystyle a\times b=a+a+\cdots +a} （有 b {\displaystyle b} 個 a {\displaystyle a} ） 冪是重複的乘法： a b = a ↑ b = a × a × ⋯ × a {\displaystyle a^{b}=a\uparrow b=a\times a\times \cdots \times a} （有 b {\displaystyle b} 個 a {\displaystyle a} ） 於是高德納定義「雙箭號」運算符，作重複的冪運算，或稱迭代冪次： a ↑↑ b = a ↑ a ↑ ⋯ ↑ a ⏟ b = a a . . . a ⏟ b = b a {\displaystyle a\uparrow \uparrow b={\begin{matrix}\underbrace {a\uparrow a\uparrow \cdots \uparrow a} \\b\end{matrix}}={\begin{matrix}\underbrace {a^{a^{.^{.^{.{a}}}}}} \\b\end{matrix}}={^{b}a}} （中文读法為「b个a重幂」） 計算時是由右至左計的。 3 ↑↑ 2 = 2 3 = 3 3 = 27 {\displaystyle 3\uparrow \uparrow 2={^{2}3}=3^{3}=27} 3 ↑↑ 3 = 3 3 = 3 3 3 = 3 27 = 7 , 625 , 597 , 484 , 987 {\displaystyle 3\uparrow \uparrow 3={^{3}3}=3^{3^{3}}=3^{27}=7,625,597,484,987} 3 ↑↑ 4 = 4 3 = 3 3 3 3 = 3 7625597484987 ≈ 1.2580143 × 10 3638334640024 {\displaystyle 3\uparrow \uparrow 4={^{4}3}=3^{3^{3^{3}}}=3^{7625597484987}\approx 1.2580143\times 10^{3638334640024}} 3 ↑↑ 5 = 5 3 = 3 3 3 3 3 = 3 3 7625597484987 ≈ 3 1.2580143 × 10 3638334640024 {\displaystyle 3\uparrow \uparrow 5={^{5}3}=3^{3^{3^{3^{3}}}}=3^{3^{7625597484987}}\approx 3^{1.2580143\times 10^{3638334640024}}} 多於兩個箭號時， 3 ↑↑↑ 2 = 3 ↑↑ 3 = 3 3 = 3 3 3 = 3 27 = 7 , 625 , 597 , 484 , 987 {\displaystyle 3\uparrow \uparrow \uparrow 2=3\uparrow \uparrow 3={^{3}3}=3^{3^{3}}=3^{27}=7,625,597,484,987\,\!} 3 ↑↑↑ 3 = 3 ↑↑ 3 ↑↑ 3 = 3 3 3 = 7625597484987 3 = 3 3 . . . 3 ⏟ 7625597484987 {\displaystyle 3\uparrow \uparrow \uparrow 3=3\uparrow \uparrow 3\uparrow \uparrow 3={^{^{3}3}3}={^{7625597484987}3}={\begin{matrix}\underbrace {3^{3^{.^{.^{.{3}}}}}} \\7625597484987\end{matrix}}} a ↑↑ b {\displaystyle a\uparrow \uparrow b} 代表重複的冪，或迭代冪次，例如： a ↑↑ 4 = a ↑ ( a ↑ ( a ↑ a ) ) = a a a a {\displaystyle a\uparrow \uparrow 4=a\uparrow (a\uparrow (a\uparrow a))=a^{a^{a^{a}}}} 當b為變量或過大時，重複的冪可以如下表示： a ↑↑ b = a a . . . a ⏟ b {\displaystyle a\uparrow \uparrow b=\underbrace {a^{a^{.^{.^{.{a}}}}}} _{b}} 指數不只能解釋兩個箭號的運算，三個箭號也行。 a ↑↑↑ 2 = a ↑↑ a = a a . . . a ⏟ a {\displaystyle a\uparrow \uparrow \uparrow 2=a\uparrow \uparrow a=\underbrace {a^{a^{.^{.^{.{a}}}}}} _{a}} a ↑↑↑ 3 = a ↑↑ ( a ↑↑ a ) = a a . . . a ⏟ a a . . . a ⏟ a {\displaystyle a\uparrow \uparrow \uparrow 3=a\uparrow \uparrow (a\uparrow \uparrow a)=\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{a}}} a ↑↑↑ 4 = a ↑↑ [ a ↑↑ ( a ↑↑ a ) ] = a a . . . a ⏟ a a . . . a ⏟ a a . . . a ⏟ a {\displaystyle a\uparrow \uparrow \uparrow 4=a\uparrow \uparrow [a\uparrow \uparrow (a\uparrow \uparrow a)]=\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{a}}}} 再次的，當b為變量或過大時，三個箭號的運算可以如下表示： a ↑↑↑ b = a a . . . a ⏟ a a . . . a ⏟ ⋮ ⏟ a } b {\displaystyle a\uparrow \uparrow \uparrow b=\left.\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {\vdots } _{a}}}\right\}b} 四個箭號可以如下表示： a ↑↑↑↑ 2 = a ↑↑↑ a = a a . . . a ⏟ a a . . . a ⏟ ⋮ ⏟ a } a {\displaystyle a\uparrow \uparrow \uparrow \uparrow 2=a\uparrow \uparrow \uparrow a=\left.\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {\vdots } _{a}}}\right\}a} a ↑↑↑↑ 3 = a ↑↑↑ ( a ↑↑↑ a ) = a a . . . a ⏟ a a . . . a ⏟ ⋮ ⏟ a } a a . . . a ⏟ a a . . . a ⏟ ⋮ ⏟ a } a {\displaystyle a\uparrow \uparrow \uparrow \uparrow 3=a\uparrow \uparrow \uparrow (a\uparrow \uparrow \uparrow a)=\left.\left.\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {\vdots } _{a}}}\right\}\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {\vdots } _{a}}}\right\}a} a ↑↑↑↑ 4 = a ↑↑↑ [ a ↑↑↑ ( a ↑↑↑ a ) ] = a a . . . a ⏟ a a . . . a ⏟ ⋮ ⏟ a } a a . . . a ⏟ a a . . . a ⏟ ⋮ ⏟ a } a a . . . a ⏟ a a . . . a ⏟ ⋮ ⏟ a } a {\displaystyle a\uparrow \uparrow \uparrow \uparrow 4=a\uparrow \uparrow \uparrow [a\uparrow \uparrow \uparrow (a\uparrow \uparrow \uparrow a)]=\left.\left.\left.\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {\vdots } _{a}}}\right\}\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {\vdots } _{a}}}\right\}\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {\vdots } _{a}}}\right\}a} 再次的一般化： a ↑↑↑↑ b = a a . . . a ⏟ a a . . . a ⏟ ⋮ ⏟ a } a a . . . a ⏟ a a . . . a ⏟ ⋮ ⏟ a } ⋯ } a ⏟ b {\displaystyle a\uparrow \uparrow \uparrow \uparrow b=\underbrace {\left.\left.\left.\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {\vdots } _{a}}}\right\}\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {a^{a^{.^{.^{.{a}}}}}} _{\underbrace {\vdots } _{a}}}\right\}\cdots \right\}a} _{b}} 這種方法可以用來表示任何能夠用高德納箭號表示法表示的數，但是會變得相當麻煩。 若要用多個箭號時，可用↑n表示，但有些數還是大得連這種表示法也不夠用，例如葛立恆數。 這時可能用hyper運算符或康威鏈式箭號表示法方便一點。 a ↑ n b = hyper ( a , n + 2 , b ) = a → b → n (Knuth) (Conway) {\displaystyle {\begin{matrix}a\uparrow ^{n}b&=&{\mbox{hyper}}(a,n+2,b)&=&a\to b\to n\\{\mbox{(Knuth)}}&&&&{\mbox{(Conway)}}\end{matrix}}} 對於整數 a {\displaystyle a} 、非負整數 b {\displaystyle b} 和正整數 n {\displaystyle n} ： 這個表示法符合向右結合律。 Knuth, Donald E., "Coping With Finiteness", Science vol. 194 n. 4271 (Dec 1976), pp. 1235-1242. 埃里克·韦斯坦因. Arrow Notation. MathWorld.  Robert Munafo, Large Numbers （页面存档备份，存于互联网档案馆）