國小時,老師說,由於生活中經常需要把同一個數加很多很多次,因此人們發明了乘法。 a × b 就表示 b 個 a 相加。國中時,老師說,由於生活中經常需要把同一個數乘很多很多次,因此人們發明了乘方。 a ^ b 就表示 b 個 a 相乘。令人失望的是,到了高中時,我們並沒有學到更牛 B 的運算符號;大學都快學完了,似乎也沒見到乘方升級的苗頭。乘方之上究竟是什麼?下面,有請今天的主角——超級冪——登場!
很容易想到,比乘方更大一級的運算就是把 b 個 “a 次方” 重疊起來。不過,這裡我們卻遇到了一個之前不曾遇到的問題: a ^ a ^ a 究竟應該等於 (a ^ a) ^ a ,還是 a ^ (a ^ a) ?。我們不妨來算一算,不同算法得到的結果相差多遠:
人類的想像力是無止境的。即使超級冪已經大到無法用言語描述的地步,大家還是會問,再把 “a 次超級冪” 疊代 b 層(注意運算順序仍是從最深那一層開始),又會得到什麼?是否就得到了第五級的運算呢?或許你馬上就意識到了,這樣擴展上去是沒有盡頭的,每一級運算疊代之後都能產生更高一級的運算。雖然此時腦子已經有點亂了,但是數學語言的嚴格性和理想性告訴我們,利用某種清晰的數學符號和遞歸法則,我們一定有辦法定義出等級越來越高的運算來。 Goodstein 牛就牛在這兒。他定義了 Goodstein 記號 G(n, a, b) ,來表示 a 與 b 之間的第 n 級運算。當 n = 0 時,規定 G(0, a, b) = b + 1 。也就是說,第零級運算是一個一元運算——自然數的後繼。當 n = 1 時,規定邊界值 G(1, a, 0) = a ,並規定 G(1, a, b) 表示對 G(1, a, 0) 的值進行上一級操作(後繼操作),並重複疊代 b 次,其結果也就是 a 加上 b 。⼀般地,有:
G(n, a, b) = G(n – 1, a, G(n, a, b – 1))
其中邊界值為
G(1, a, 0) = a G(2, a, 0) = 0 G(3, a, 0) = 1 G(4, a, 0) = 1 G(5, a, 0) = 1 …
這就形式化地給出了第 n 級運算的意思。
類似的東西不止一次地被提出過。兩年前給大家介紹過世界上最大的數,當時就用到了 Knuth 箭頭記號。這也是一種表示大數的方法,其思想與 Goodstein 記號幾乎完全一樣。 Ackermann 函式也是一個神速增長的函式,它的定義也有異曲同工之處。很多外文數學論壇則用 a [n] b 來表示 a 與 b 之間的第 n 級運算,是我比較喜歡的一種符號。
當然,有 a [n] b ,必然會有 a [a [n] b] b ,從而又會有 a [a [a [n] b] b] b ⋯⋯沒有最大的數,只有更大的數。人腦和數學是兩個神奇的東西,沒有什麼數大到人腦想不出來,也沒有什麼數大到數學表示不出來。僅僅在腦中試想一下 100 [100] 100 ,你的思想就已經超越了整個宇宙的大小了。