星期二, 5月 17, 2016

彗星般的天才數學家 — 拉馬努金, 註記


上文中, 一些數學的註記 (就是太複雜或專業而刪掉的部分)

用無序的正整數湊成 n 的方法數叫 partition number p(n).

Euler 很早就給了 p(n) 的生成函數. 令 P(z) = sum p(n) z^n, 則

          P(z) =  product 1/(1-z^k)

"理論上", p(n) 就是 P(z) 的 z^n 係數 (為方便記為 [z^n] P(z)). 但是這實際上對於算出 p(n) 的精確值是多少, 基本上沒什麼幫助. 比如說, 你怎麼說明

        [z^1000] P(z) = 24061467864032622473692149727991

呢?

在 Hardy-Ramanujan 的突破性進展之前, 關於 p(n) 的精確值最好的結果是 Hardy 的同事 MacMahon 得到的遞迴式

   p(n ) = p(n-1) - p(n-2) + p(n-5) + p(n-7) - p(n-12) - p(n-15) + + - -...

其中括號中 是 "n-五角數". 五角數是 n*(3n-1)/2, 這裡 n 可代非零整數. 這個公式的推導基本上只用到 Euler 的五角數定理與上述的 P(z). 所以, 的確, 在 n 夠小的時候, 是可以用這個方法求出 p(n). (附帶一提, 即便有下幾段的結果, 據我所知目前為止此式仍然是最有效率求 p(n) 精確值的方法.) 但是即便有 MacMahon 的遞迴, 對於一般的n, 連 p(n) "大概有多少" 仍然束手無策, 更遑論精確值了.

換個想法, 既然有 P(z), 那用複變的柯西積分公式 (contour 積分的手法), 把係數取出來不就得了. 是的, Hardy-Ramanujan 就是走這條路.

Hardy-Ramanujan 的突破是用複變, 首度給出 p(n) 的漸近式

           p(n) ~  1/(4*n*sqrt(3)) *exp (pi* sqrt(2n/3))

事實上 Hardy-Ramanujan 給了更精確的漸近展開式. 以上是主要項. 那個更精確的式子誇張到無法形容. BBS 太難打了 可找下列連結網頁搜尋 "asymptotic expansion"
https://en.wikipedia.org/wiki/Partition_(number_theory)

電影 "天才無限家" 中 Ramanujan 在 Hardy 辦公討論這個問題, Ramanujan 在黑板上算的就是 contour 積分.

電影中有一幕相當精采. Hardy 苦心想讓 Ramanujan 被劍橋的同事承認, 於是拿這個還不太有把握作出來的結果去跟 MacMahon 打賭. MacMahon 是組合學的大師, 他用手算算到p(200)=3972999029388, 根本不相信 Ramanujan 能有什麼突破. Hardy-Ramanujan 用他們的漸近公式的主要項就得到非常接近的值. 兩造翻牌對答案, MacMahon 從原本對Ramanujan 嗤之以鼻, 變成大力擁護.

那到底 p(n) 有沒有精確公式? 有的, 有一個 "無窮級數和公式", 直到 1937 年才由 Radamacher 做出來, 他一樣走複變路線, 引進新的方法改進了 Hardy-Ramanujan 的結果. 這個無窮級數和公式也是很微妙, 比如要算 p(200), 要把無窮多項相加, 加完之後就得到答案.

你想, 這是搞什麼, 要 "加無窮多項" 才得到答案, 這公式有用嗎? 有的. 這個無窮級數會收斂, 而且收斂得非常快 (就是說, 只要加了前幾項剩下的都是小數點, 後面微不足道了). 以 p(200) 為例, 這無窮多項只要算到前七項就有

3972998993185.896...
       +36282.978...
          -87.555...
           +5.147...
           +1.424...
           +0.071...
           +0.000...
           +0.043...
= 3972999029388.004...


那公式長怎樣? BBS 上太難打了. 一樣參考下列網址尋找 "Radamacher" https://en.wikipedia.org/wiki/Partition_(number_theory)

而且看完後, 會覺得 MacMahon 的遞迴式子還比較有用一點.

Ramanujan 在 p(n) 的發現不只如此. 比如, 他看出了 p(5k+4) 一定是 5 的倍數, p(7k+5) 一定是 7 的倍數, p(11k+6) 一定是 11 的倍數. (下一個類似的性質是p(17303k+ 237) 一定是 13 的倍數 (!), 要到 40 年後的 1960 年才被找到.)

又比如神秘的 Roger-Ramanujan 等式, 其中一個是"相鄰兩數至少要差 2" 的湊 n 方法數 = "每個數要除以五餘 1 或 4" 的湊 n 方法數這個等式居然和高能物理有關.

p(n) 的研究至今仍非常活躍, 還有非常多神秘的問題未解.

最後推薦一下 "天才無限家" 這部電影. (感謝片商為了寫推薦文先讓我一睹黑白版毛片) 這部電影並不灑狗血, 但是把數學家的一些心路歷程拍得深刻而感人.

唉, "理論上" p(n) 就是慢慢列出來再數一數有幾種就好了不是嗎, 數學家這麼辛苦在追逐什麼呢. 這真是不足為外人道也. 一歎.

2016, 森棚教官