登阿里山一一搭小火車或是直昇機 ?
沈淵源
摘要: 設 n, k 為正整數 (k > 1)。 令 Sn(k) 為前 k − 1 個自然數的 n 次方和。 我們試著 以最原始的方法 (其觀念源自 Jacques Bernoulli), 用數學的套裝軟體 Mathematica 為 實驗的工具, 透過其符號計算的功能來引導我們探討 Sn(k) 的一個公式:
Sn(k) = 1 n+ 1
n
X
i=0
n+ 1 i
!
Bikn+1−i,
此處 Bi 為 Bernoulli 數。
1. 引言
請計算前一千個自然數的十次方和:
110+ 210+ 310+ · · · + 100010 當你遇到這樣問題的時候, 你會有怎麼樣的 反應呢? 可能你的第一個反應是期待 Math- ematica 幫幫忙! 那麼就讓我們趕快進入 Mathematica 的世界中吧。(本文所採用的 版本為 Mathematica 3.0)
MATHEMATICA
其指令如下:Sum[a^10,{a,1,1000}]
十分之一秒鐘不到, Mathematica 就告訴你 答案是:
91409924241424243424241924242500 實在太美了, 太令人興奮了! 興奮之餘可能 你期待有個公式來算, 免得每次勞駕 Math-
ematica 。 三百多年前 Jacques Bernoulli (1654–1705) 說他可以在半刻鐘之內算出這 個和, 你呢? 除了上面兩個期待之外, 還有其 他的妙計嗎?
我們都很熟悉, 前 k − 1 個自然數的和、
平方和及其立方和之公式為:
1 + 2 + 3 + · · · + (k − 1)
= 1
2 k2 −1 2 k,
12+ 22+ 32+ · · · + (k − 1)2
= 1
3 k3 −1
2 k2+ 1 6 k, 13+ 23+ 33+ · · · + (k − 1)3
= 1
4 k4 −1
2 k3+ 1 4 k2
還記得當初你是怎麼導出這些公式的嗎? 當 你在國中的時候, 不費吹灰之力的, 就可以導 出一次方和的公式。 令
S1 = 1 + 2 + 3 + · · · + (k − 1),
78
將此和之次序倒過來書寫, 我們就有
S1 = (k − 1) + (k − 2) + (k − 3) + · · · + 1, 再把這兩種寫法按序將對應項相加得到 k, 所 以就有下面的等式
2S1 = k + k + k + · · · + k
這裡共有 k − 1 個 k, 因此 S1 的公式馬上 就在我們眼前。
怎麼樣把這個方法推廣到平方和呢? 這 下子你可就灰頭土臉的了。 怎麼辦呢? 山不 轉, 但路可以轉, 所以人生的經歷告訴我們, 是路轉的時候了。 所謂路轉者也, 就是方法 要變囉。 一次方來自兩個連續整數的平方差
· · ·,
(j + 1)2−j2 = 2j + 1
若將對應於 j = 0, 1, 2, . . . , k − 1 的 k 個等 式相加, 等式的左方對消之後只剩 k2, 而等 式的右方有兩倍的一次方和加上 k 個 1。 所 以我們有
k2 = 2[1 + 2 + 3 + · · · + (k − 1)] + k · 1, 整理後可得到
1 + 2 + 3 + · · · + (k − 1) = 1
2 k2−1 2 k 山路崎嶇, 或許你會覺得太浪費時間, 但這是 確定可以抵達山頂的一個方法 (當你搭上阿 里山的登山鐵道時, 必有同感)。 如法泡製, 我 們可以處理平方和的問題:
(j + 1)3−j3 = 3j2+ 3j + 1
同樣地, 將對應於 j = 0, 1, 2, . . . , k − 1 的 k 個等式相加, 可得
k3= 3[12+ 22+ 32+ · · · + (k − 1)2] +3[1+2+3+· · ·+(k−1)]+k · 1, 代入前面一次方和的公式, 化簡後, 我們有 12+22+32+· · ·+(k−1)2=1
3 k3−1 2 k2+1
6 k 重複此法, 十次之後我們就可以得到 110 + 210 + 310 + · · · + (k − 1)10 的公式, 令 k = 1001, 即可得到結果。 但不管你速度多 快, 也無法在半刻鐘之內完成, 你還是輸給了 Jacques Bernoulli。 為什麼呢? 因為我們的 方法是登山鐵道的辦法, 到第二階, 得先經過 第一階; 是可以抵達山頂, 但太不經濟了! 是 否真的如此呢? 最後我們再作評論。
Jacques Bernoulli 之所以與眾不同, 在於他用分析的方法來解決代數的問題, 他 不搭火車而是搭直昇機!他聲稱有唯一的一個 首項係數為 1 之 n 次多項式 Bn(x) 使得 1n+2n+3n+· · ·+(k−1)n=
Z
k 0Bn(x)dx。
其實 Jacques Bernoulli 的慧眼, 只需 要微積分的知識與訓練就可具有的。 還沒有 作實驗之前, 請先思考下面兩個問題:
(a) 可否設計一個實驗來證明你也可以當 Jacques Bernoulli 呢?
(b) 很自然的, 上面所定義的這些多項式 Bn(x) 我們就稱為 Bernoulli 多項式。
你能用 Mathematica 設計一個實驗 來計算這些多項式 Bn(x) 嗎?
令 Sn(k) 為前 k − 1 個自然數的 n 次方和。
我們的目標是:
找出 Sn(k) 的公式 (不單單是遞 回公式而已)
由前面三個 Sn(k) 的公式, 不難猜出其形式 為
Sn(k) = 1
n+1 kn+1−1
2 kn+k(· · ·), (1) 此處 Bn 為一常數, 而這就是 Jacques Bernoulli 的慧眼所看到的。 為了確認其形式 的確如此, 而非由於我們的想像力太過豐富 (才觀察三個例子就知道一般的公式), 所以讓 我們多觀察幾個 Sn(k) 的公式吧!
2. 實驗一 ( Jacques Bernoulli 的慧眼 )
Mathematica 不單單能做數值計算, 並且也能做符號計算。
(a) 首先在 Mathematica 中定義函數 Sn(k) = S[n, k], 然後列出 S[n, k], n= 1, 2, 3, . . . , 9。
MATHEMATICA
其指令如下:S[n_,k_]:=Expand[Sum[a^n,{a,1,k-1}]];
MatrixForm[Table[{n,S[n,k]]},{n,1,9}]
(b)
觀察其形式可得到怎麼 樣的規則呢
?(c)
若將
S[n, k]對
k來微分
,觀 察其形式又如何呢
?MATHEMATICA 其指令如下
: Table[{n,D[S[n,k],k]]},{n,1,9}]//MatrixForm
(d)
你也可以當
Jacques Bernoulli嗎
?3. 實驗一之結果與分析
實驗一 (a) 的輸出結果如下:
1 −k
2 + k22 2 k6 − k
2
2 +k33 3 k42 − k
3
2 +k44
4 −k
30 +k33 − k
4
2 +k55
5 −k
2
12 +512k4 − k
5
2 +k66 6 42k − k
3
6 +k25 − k
6
2 +k77 7 k122 − 7k
4
24 + 7k126 − k
7
2 +k88 8 −k
30 +2k93 − 7k
5
15 + 2k37 − k
8
2 +k99 9 −320k2 + k24 − 7k
6
10 +3k48 −k
9
2 + k1010 由此實驗, 我們有下面三個猜測 (此即 (1) 式 所要表達的內容):
(a) Sn(k) 為一 k 的 n + 1 次多項式, 其首 項係數為 n+11 ,
(b) Sn(k) 的常數項為 0, 亦即 Sn(0) = 0 , (c) Sn(k) 的 kn 項之係數為 −12 。
很顯然的, (a) 與 (b) 可合併而成下面的猜 測: 如上所言這就是 Jacques Bernoulli 的 慧眼所觀察出來的。
猜測: 存在唯一的一個首項係數為 1 之 n 次 多項式 Bn(x) 使得
Sn(k) = 1n+ 2n+ 3n+ · · · + (k − 1)n
=
Z
k 0Bn(x)dx (2) 怎麼證明這個猜測呢? 其實在前面所提 到的登山鐵道之辦法裏已暗藏著證明的玄機。
且看:
(j + 1)n−jn =
n−1
X
i=0
n i
!
ji 將對應於 j = 0, 1, 2, . . . , k − 1 的 k 個等 式相加, 等式的左方對消之後只剩 kn, 而等 式的右方則為 Si(k)的線性組合, 如下所示:
kn=
n−1
X
i=0
n i
!
Si(k) 將上式的 n 取代為 n + 1, 可得
kn+1=
n
X
i=0
n+1 i
!
Si(k)
=
n−1
X
i=0
n+1 i
!
Si(k)+(n+1)Sn(k) 所以我們有 Sn(k) 的遞迴公式如下:
Sn(k)= 1 n+1kn+1
− 1 n+1
n−1
X
i=0
n+ 1 i
!
Si(k) (3) 透過這個遞迴公式, 利用數學歸納法, 很容易 的我們就可以證明上面的猜測都是對的 (請 動手證明看看吧!), 換句話說這些猜測其實都 是定理。 所以我們的目標現在已變成:
找出 Bn(k) 的公式
當然由 (2) 及 (3) 式, 我們馬上可得到一個 Bn(k) 的遞迴公式如下:
Bn(k) = kn− 1 n+ 1
n−1
X
i=0
n+ 1 i
!
Bi(k) 然而這並不是我們所要的, 所以我們必須另 起爐灶。 很顯然的, (2) 式是此處一切思考的 來源, 且看下面的實驗:
4. 實驗二 (Bernoulli 多項式 B
n(x))
由定義馬上可以看出 Bernoulli 多項式 必定會滿足下面的等式:
Z
k+1 kBn(x)dx = kn (4) 事實上, 對任何正整數 n, 存在唯一的一個首 項係數為 1 之 n 次多項式滿足這個方程式, 而其中的 k 可以是任何的數 (不僅限於正整 數而已)。
(a) 用 Mathematica 中符號計算的功能, 透 過公式 (4) 計算 Bn(x), n = 1, 2, 3, . . . , 9。
MATHEMATICA
其指令如下:B[n_,x_]:=Sum[B[i]*x^i,{i,0,n-1}]+x^n poly[n_]:=Series[Integrate[B[n,x],
{x,k,k+1}]-k^n,{k,0,n}]
m=MatrixForm[Table[{sols
=Solve[LogicalExpand[poly[i]==0]], B[i,x]/.sols[[1]]}, {i,1,9}]]
(b) 請畫出 Bn(x), n = 1, 2, 3, . . . , 9 的圖 形。
MATHEMATICA
其指令如下 (注意 Bn(x) =m[[1,n]][[2]]) :Plot[m[[1,1]][[2]],{x,-3,3}]
Plot[m[[1,2]][[2]],{x,-3,4}]
Plot[m[[1,3]][[2]],{x,-3,3}]
Plot[m[[1,4]][[2]],{x,-3,3}]
Plot[m[[1,5]][[2]],{x,-3,3}]
Plot[m[[1,6]][[2]],{x,-3,3}]
Plot[m[[1,7]][[2]],{x,-3,3}]
Plot[m[[1,8]][[2]],{x,-3,3}]
Plot[m[[1,9]][[2]],{x,-3,3}]
或是放在同一座標平面上
Plot[{m[[1,1]][[2]],m[[1,2]][[2]], m[[1,3]][[2]],m[[1,4]][[2]], m[[1,5]][[2]],m[[1,6]][[2]], m[[1,7]][[2]],m[[1,8]][[2]], m[[1,9]][[2]]},{x,-3,4}, PlotStyle->{GrayLevel[0],
GrayLevel[.5],RGBColor[0.5,0,0], RGBColor[1,0,0],RGBColor[0,0.5,0], RGBColor[0,1,0],RGBColor[0,0,0.5], RGBColor[0,0,1],RGBColor[1,1,0]}]
(c) 由這些計算或圖形, 你能看出一般 Bn(x) 的公式嗎? 困難何在?
5. 實驗二之結果與分析
在實驗二中, 我們試著要由前面幾個多 項式 Bn(x), n = 1, 2, . . . , 9 及其圖形來預 測其一般的公式。 且看:
B1(x)=x−1 2, B2(x)=x2−x+1
6, B3(x)=x3−3
2x2+1 2x, B4(x)=x4−2x3+x2− 1
30, B5(x)=x5−5
2x4+5 3x3−1
6x, B6(x)=x6−3x5+5
2x4− 1 2x2+ 1
42, B7(x)=x7−7
2x6+7 2x5−7
6x3+1 6x, B8(x)=x8−4x7+14
3 x6−7 3x4+2
3x2−1 30,
B9(x)=x9−9
2x8+6x7−21
5 x5+2x3− 3 10x。
-3 -2 -1 1 2 3
-3 -2 -1 1 2
圖1. B1(x) = x − 12
-3 -2 -1 1 2 3 4
2 4 6 8 10 12
圖2. B2(x) = x2−x+ 16
-3 -2 -1 1 2 3
-0.4 -0.2 0.2
圖3. B3(x) = x3− 3
2x2+12x
-3 -2 -1 1 2 3
1 2 3 4 5 6
圖4. B4(x) = x4−2x3+ x2− 1
30
-3 -2 -1 1 2 3
-0.6 -0.4 -0.2 0.2 0.4
圖5. B5(x) = x5− 5
2x4+ 53 −1
6x
-3 -2 -1 1 2 3
2.5 5 7.5 10 12.5 15 17.5
圖6. B6(x) = x6−3x5 +52x4−1
2x2+421
-3 -2 -1 1 2 3
-2 -1 1
圖7. B7(x) = x7− 7
2x6+72x5−7
6x3+16x
-3 -2 -1 1 2 3
50 100 150 200 250
圖8. B8(x) = x8 −4x7+ 143x6− 7
3x4 +23x2− 1
30
-3 -2 -1 1 2 3
-15 -10 -5 5 10
圖9. B9(x) = x9− 9
2x8+ 6x7 −21
5x5 +2x3− 3
10x。
但不管由其形式或圖形 (見圖 1 至圖 9), 實在是歸納不出什麼東西來。 目前我們還沒 有用到任何分析中較重要的結果, 所以我們 不妨先詳細觀察一下公式 (4), 其左邊是 Bn(x)在區間 [k, k + 1] 的定積分, 右邊則 是 kn; 所以可看成是 k 的函數。 根據微積分 基本定理, 我們有
Bn(k + 1) − Bn(k) = nkn−1, (5) 因此可得
[Bn(1) − Bn(0)] + [Bn(2) − Bn(1)]
+ · · · + [Bn(k) − Bn(k − 1)]
= n[0n−1+1n−1+2n−1+· · ·+(k−1)n−1], 化簡之後我們有
Bn(k) − Bn(0)
n = Sn−1(k)
=
Z
k 0Bn−1(x)dx。 (6) 所以得到相鄰兩個 Bernoulli 多項式的關係 如下:
Bn(x) = n
Z
x 0Bn−1(t)dt + Bn(0), (7) 這幾乎是 Bn(x) 的一個一階遞迴公式。 另一 方面, 方程式 (6) 中的第一個等式告訴我們 下面的公式:
Sn(k) = Bn+1(k) − Bn+1(0)
n+ 1 . (8)
由實驗二我們知道 B9(x) = x9−9
2x8+6x7−21
5 x5+2x3− 3 10x, 如果我們得知 B10(0) = 665, 那麼要找 B10(x) 只需將 B9(x) 積分後乘以 10, 再 加上 665 :
B10(x) = 10
110x10−1 2x9+3
4x8− 7 10x6 +1
2x4− 3 20x2
+ 5 66
= x10−5x9+ 15
2 x8−7x6+ 5x4
−3
2x2 + 5 66。
所以如果我們知道每個多項式 Bn(x) 的常數 項:
B1(0) = −1
2, B2(0) =1
6, B3(0) = 0, . . . , 公式 (7) 就提供了一個管道, 可以依次求出 你所需要的 Bernoulli 多項式。 這些常數項 Bn(0) 我們就稱為 Bernoulli 數, 以符號 Bn
表示之:
B1=−1
2, B2=1
6, B3= 0, B4=−1 30, B5= 0, B6= 1
42, B7= 0, . . . 。
其實, 上面的計算與觀察有點把我們引導到 一個錯誤的方向。 假如我們先不去管 Ber- noulli 數的值, 反而使我們更容易得到 Ber- noulli 多項式 Bn(x) 的公式。 請看下面的實 驗:
6. 實驗三 ( Bernoulli 多項式 B
n(x) 的公式)
還記得我們的 B1(x) 等於 x + B1 嗎?
將公式 (7) 寫成 Bn(x) = n
Z
x 0Bn−1(t)dt + Bn (9)
(a) 透過公式 (9), 請用 Mathematica 由 B1(x) = x + B1 開始, 依次算出 Bn(x), n = 1, 2, 3, 4, 5, 係數請用 Bernoulli 數表示之。
MATHEMATICA
其指令如下:B1[x_]:=x+B1
B2[x_]:=Expand[2*Integrate[B1[t], {t,0,x}]+B2]
B3[x_]:=Expand[3*Integrate[B2[t], {t,0,x}]+B3]
B4[x_]:=Expand[4*Integrate[B3[t], {t,0,x}]+B4]
B5[x_]:=Expand[5*Integrate[B4[t], {t,0,x}]+B5]
Print["B1(x) = ", B1[x]]
Print["B2(x) = ", B2[x]]
Print["B3(x) = ", B3[x]]
Print["B4(x) = ", B4[x]]
Print["B5(x) = ", B5[x]]
(b) 由這些計算, 你能看出一般 Bn(x) 的公 式嗎?
(c) 若用 Bn 來代替 Bn , 你有什麼新發現 呢?
7. 實驗三之結果與分析
現在終於撥開雲霧看見青天了, 上面的 實驗告訴我們前五個 Bernoulli 多項式為:
B1(x) = x + B1,
B2(x) = x2+ 2B1x+ B2,
B3(x) = x3+ 3B1x2+ 3B2x+ B3, B4(x) = x4+ 4B1x3+ 6B2x2+ 4B3x
+B4,
B5(x) = x5+ 5B1x4+ 10B2x3+ 10B3x2 +5B4x+ B5
這些形式乍看之下不就是二項式定理嗎? 仔 細觀察則不然, 就差那麼一點點而已, 若將式 中的 Bi 換成 Bi 那就完美無缺了。 透過公 式 (9), 利用數學歸納法可得 Bn(x) 的公式 如下:
Bn(x) =
n
X
i=0
n i
!
Bixn−i (10) 將公式 (8) 與公式 (10) 合在一起, 我們終於 得到一個 Sn(k) 的公式:
Sn(k) = n+11
P
ni=0
n+ 1 i
!
Bikn+1−i 此公式亦可由公式 (2) 與公式 (10) 導出來, 如下所示:
Sn(k) =
Z
k 0Bn(x) dx
=
Z
k 0n
X
i=0
n i
!
Bixn−idx
=
n
X
i=0
n i
!
Bikn+1−i n+ 1 − i= 1 n+ 1
n
X
i=0
n+ 1 i
!
Bikn+1−i
剩下的問題就是怎麼樣計算這些 Bernoulli 數。 根據定義我們有:
Bn= Bn(0) = Sn′(0)
在 Sn(k) 的遞迴公式 (3) 中, 將等式兩側對 k 來微分, 可得如下:
(n+1)Bn(k) = (n+1)kn
−
n−1
X
i=0
n+1 i
!
Bi(k)
=⇒ (n+1)Bn(0) = (n+1)0n
−
n−1
X
i=0
n+1 i
!
Bi(0)
=⇒ Bn=− 1 n+1
n−1
X
i=0
n+1 i
!
Bi
上式即 Bernoulli 數的遞迴公式。 此遞迴公 式亦可由方程式 (5) 得到。 在 (5) 中, 令 k= 0, 則 Bn(1) − Bn(0) = 0 所以有 Bn= Bn(0) = Bn(1) =
n
X
i=0
n i
!
Bi, (11) 因此可得
Bn+1 =
n+1
X
i=0
n+ 1 i
!
Bj
=
n
X
i=0
n+ 1 i
!
Bi+ Bn+1
⇐⇒
n
X
i=0
n+ 1 i
!
Bi = 0
⇐⇒ Bn = − 1 n+ 1
n−1
X
i=0
n+ 1 i
!
Bi 如上所觀察到的, 形式上我們可將 Bn(x) 及 Bn 的公式寫成:
Bn(x) = (B + x)n, 及 Bn= (B + 1)n,
再將右側按二項式定理展開並將式中所有的 Bi 都換成 Bi 即得公式 (10) 及公式 (11), 請參閱 [1]。
8. 實驗四 (Bernoulli 數 B
n的 遞迴公式 )
(a) 由 Bernoulli 數的遞迴公式, 試寫一程式 來計算
B1, B2, B3, . . . , B24
MATHEMATICA
其指令如下:B[n_]:= - Sum[ Binomial[n+1,i]B[i], {i,0,n-1}])/(n+1); B[0]=k;
Table[{n,Expand[B[n]]},{n,10}]
//MatrixForm
(b) 觀察 Bernoulli 數, 你對 B2n+1 有沒有 任何猜測?
(c) 由 Sn(k) 的遞迴公式 (3), 試寫一程式來 計算
S1(k), S2(k), S3(k), . . . , S10(k)
MATHEMATICA
令 S[n] = Sn(k), 其 指令如下:S[n_]:=(k^(n+1)-Sum[Binomial[n+1,i]
S[i],{i,0,n-1}])/(n+1); S[0]=k;
Table[{n,Expand[S[n]]},{n,10}]
//MatrixForm
(d) 登山鐵道的辦法是否如引言中所提到的 太不經濟呢? 有了 Mathematica 的提 昇, 火車一變而成直昇機, 你認為呢?
9. 結語 (Bernoulli 的七分半 鐘 )
由上面的計算得知 (B0 = 1):
B1 = −1
2, B2 = 1
6, B3 = 0, B4 = − 1
30, B5 = 0, B6 = 1 42, B7 = 0, B8 = −1
30, B9 = 0, B10= 5
66
其實, Bernoulli 數的分子從 B14 開 始就會比分母大, 而且愈來差距愈大。 請參 閱 [4]之附表一, 其中共列出 B2, . . . , B124
等 62 個 Bernoulli 數。 現在讓我們回到 Bernoulli 當年如何在七分半鐘算出前一千 個自然數的十次方和的。 我們有
S10(k)= 1 11
10
X
i=0
11 i
!
Bik11−i
= 1
11(k11+11B1k10+55B2k9 +165B3k8+330B4k7+462B5k6 +462B6k5+330B7k4+165B8k3 +55B9k2+11B10k+B11)
= 1
11k11−1
2k10+5
6k9−k7+k5
−1 2k3+ 5
66k 所以可得
110+ 210+ · · · + 100010
= 1030+ 1
111033−1
21030+5 61027
−1021+ 1015− 1
2109+ 5 66103,
這只是個簡單的小學算術問題而已。 請看
:
1 00000 00000 00000 00000 00000 00000.00 + 90 90909 09090 90909 09090 90909 09090.90 - 50000 00000 00000 00000 00000 00000.00 + 83 33333 33333 33333 33333 33333.33 - 10 00000 00000 00000 00000.00 + 1 00000 00000 00000.00
- 5000 00000.00
+ 75.75
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 91 40992 42414 24243 42424 19242 42500
七分半鐘是綽綽有餘的 (請參閱 [2] 之 附錄 A)。
參考文獻
1. Apostol, T., Introduction to Analytic Number Theory, Undergraduate Texts in Math., Springer-Verlag, New York, 1986 (Third Printing).
2. Bressoud, D., A Radical Approach to Real Analysis, MAA, Washington D.
C., 1994.
3. Ireland, K. and Rosen, M., A Clas- sical Introduction to Modern Num- ber Theory, Graduate Texts in Math., Springer-Verlag, New York, 1982.
4. Washington, L., Introduction to Cyclo- tomic Fields, 2nd ed., Graduate Texts in Math., Springer-Verlag, New York, 1997.
—本文作者任教於私立東海大學數學系—