• 沒有找到結果。

化用賈憲三角 ∗ 妙算冪和

N/A
N/A
Protected

Academic year: 2022

Share "化用賈憲三角 ∗ 妙算冪和"

Copied!
8
0
0

加載中.... (立即查看全文)

全文

(1)

化用賈憲三角 妙算冪和

王 猷

摘要: 正整數 [

1

] 的冪和似乎是個永恆的話題, 眾述紛紜。 本文致力於介紹一種便 捷的算法 [1], 並且創作出一款優雅的證明。 此算法屬線性代數型, 其特色在於無需 遞推。 令人驚訝的是, 冪和竟然與 「賈憲三角」 有著密切的關係!

1. 緒論

開門須見山。 本文之核心乃下述定義及定理。

定義: 所謂 「前 n 個正整數的 p 次冪和」, 是指 Sp(n) =

Xn m=1

mp = 1p+ 2p+ · · · + np, p∈ N. (1)

定理: 冪和 Sp(n) 是關於 n 的、 缺常數項的 p + 1 次多項式, 即 Sp(n) =

Xp+1 q=1

aqnq = aTn, (2) 這裡

a=h

a1 a2 · · · ap+1 iT

, n=h

n n2 · · · np+1 iT

; 並且向量 a 滿足方程











1 0

− 20 3

0

 · · · (−1)p−1 p0

(−1)p p+10 

2 1

 − 31

· · · (−1)p−2 p1

(−1)p−1 p+11 

3 2

 · · · (−1)p−3 p2

(−1)p−2 p+12  . .. ... ...

0

p−1p

 − p+1p−1

p+1 p























 a1 a2 a3 ...

ap ap+1











=











 0 0 0 ...

0 1











, (3)

在歐美稱作 「巴斯卡三角形」

(Pascal’s triangle)

[

1]

本文約定

:

正整數集

Z

+

= {1, 2, 3, . . .},

自然數集

N = {0, 1, 2, . . .}

81

(2)

其中p q



= p!

q!(p − q)! 為二項式係數。 

我們把位於 (3) 式左邊的那個矩陣作U[

2

], 其代表元素為

uij =

(−1)j−i

 j i− 1



, 當 i ≤ j;

0, 當 i > j.

(4)

再者, 記 [0 · · · 0 1

| {z }

p+1

]T = e. 於是, 可將 (3) 式簡寫為

Ua= e. (3)

如果您很細心的話, 想必已經發現了:

(i) 祇要將 U 轉置, UT 中的所有非零元素便構成了缺一層斜邊的、 正負項交錯的賈憲三角;

(ii) e 是 Rp+1 的標準基底向量 (standard basis vectors) 之一。

2. 證明

不證明, 未可信!

筆者思索出的證明分為三個步驟, 請跟我來——

第一步 縮和 (telescoping sum)

由二項式定理, 有

(m − 1)r+1= Xr+1 q=0

r + 1 q



(−1)r+1−qmq

=hXr

q=0

r+ 1 q



(−1)r+1−qmq i

+ mr+1,

移項[

3

], 得

Xr q=0

(−1)r−qr + 1 q



· mq = mr+1− (m − 1)r+1. (5)

在 (5) 式中依次令 m = 1, 2, · · · , n, 一舉獲得 n 個等式。 纍加諸式, 縮和其右端, 列豎式如

[

2] Upper triangular matrix,

上三角陣。

[

3]

注意

, Σ -

和式中的各項皆須變號

,

即改

(−1)

r+1−q

(−1)

r−q

(3)

下: Pr

q=0(−1)r−q r+1q 

· 1q = 1r+1 − 0r+1 Pr

q=0(−1)r−q r+1q 

· 2q = 2r+1 − 1r+1 ... ... ... +) Pr

q=0(−1)r−q r+1q 

· nq = nr+1− (n − 1)r+1 Pr

q=0(−1)r−q r+1q 

· Sq(n) = nr+1− 0r+1 由此, 我們得出重要的等式

Xr q=0

(−1)r−qr + 1 q



· Sq(n) = nr+1. (6)

第二步 佈陣 [

4]

將 (6) 式左邊寫為兩個 r + 1 維向量相乘的形式, 得

"

(−1)r

r+ 1 0



(−1)r−1

r+ 1 1



· · ·

r+ 1 r

#





 S0(n) S1(n)

...

Sr(n)







= nr+1. (6)

在 (6) 式中依次令 r = 0, 1, · · · , p, 總共得到 p + 1 個等式。 合併眾式如下:











1 0



20 2

1



0

3 0

 − 31 3

2



... ... ... . ..

(−1)p−1 p0

(−1)p−2 p1

(−1)p−3 p2

· · · p−1p  (−1)p p+10 

(−1)p−1 p+11 

(−1)p−2 p+12 

· · · − p+1p−1 p+1

p























S0(n) S1(n) S2(n)

... Sp−1(n)

Sp(n)











=











 n n2 n3 ... np np+1











 .

(7) 我們把位於 (7) 式左邊的那個矩陣記作 L[

5

], 顯然其轉置

LT = U. (8)

再者, 記[S0(n) S1(n) · · · Sp(n)]T = s 。 於是, 可將 (7) 式簡寫為

Ls= n. (7)

[

4]

構造矩陣。

[

5] Lower triangular matrix,

下三角陣。

(4)

第三步 抽矢 [

6]

顯而易見, L 的行列式 det L = (p + 1)! 6= 0, 故 L 可逆。 以其逆 L−1 同時左乘 (7) 式 兩邊, 得

s= L−1n, (9)

從而

Sp(n) = row(s, p + 1) = row(L−1, p+ 1) n. [

7

] 可見, 前述 aT = row(L−1, p+ 1)。 至此 (2) 式得證!

另外, 由於 L−1L= E[

8

], 因而

row(L−1, p+ 1)L = row(E, p + 1).

把 row(L−1, p+ 1) = aT 及 row(E, p + 1) = [0 · · · 0 1

| {z }

p+1

] = eT 代入上式, 得

aTL= eT. (10)

最終, 我們有

Ua(8)= LTa= LT(aT)T = (aTL)T (10)= (eT)T = e.

至此 (3) 式得證, 亦即 (3) 式成立!

3. 實驗

算法得以證明, 僅肯定了其正確性; 至於其實用性, 目前尚無法評價。 讓我們以 S9(n) 為 試金石, 看看此算法到底靈也不靈!

值得補充的是, 如若果真按照 (4) 式來計算 U 中的各個元素, 那定然使人難耐其繁, 好在 二項式係數具有一條可愛的性質:

p q



=p − 1 q



+p − 1 q− 1



. (11)

其證明極易, 故不贅言。 事實上, 賈憲三角正是據此而作成的 (可參閱 [3])。

[

6]

在矩陣中抽取

(

/

)

向量。 矢

,

原義為 「箭」

,

此處指 「矢量」

——

向量的別稱。

[

7] row(M, r)

表示抽取矩陣

M

的第

r

行。

[

8] E = diag[1 · · · 1

| {z }

p+1

]

為單位矩陣。

(5)

另外, 為了便於行文, 我們引進兩個名詞: 「上斜層, 下斜層」。 稱呼 r 階方陣的主對角線為 第 1 上 (下) 斜層, 緊貼於第 1 上 (下) 斜層上 (下) 方的副對角線為第 2 上 (下) 斜層, 以此類 推, 直至第 r 上 (下) 斜層——方陣右上 (左下) 角的單個元素。

以下, 我們就來陳述 S9(n) 的演算流程。 對照前文所給出的定理、 公式及下面這個方程, 各道工序都是易於理解的。























1 −1 1 −1 1 −1 1 −1 1 −1

2 −3 4 −5 6 −7 8 −9 10

3 −6 10 −15 21 −28 36 −45 4 −10 20 −35 56 −84 120 5 −15 35 −70 126 −210

6 −21 56 −126 252 7 −28 84 −210

0

8 −36 120

9 −45 10











































 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10





















=





















 0 0 0 0 0 0 0 0 0 1





















(A) 指定冪次 p = 9。

(B1) 製作 p + 1 階方陣 U0, 使之符合下列要求:

• 首行的所有元素均為 1;

• 屬於主對角線的諸元素, 從左至右依次為 1, 2, · · · , p + 1 ;

• 主對角線上方的其餘元素, 皆等於各自的左鄰元與左上鄰元之和;[

9

]

• 主對角線下方的所有元素均為 0。

(B2) 在 U0 中, 將序號為偶數的 「上斜層」 全部冠以負號, 於是生成方陣 U。

(C) 採用 「逆向代入法」(backward substitution) 求解方程 Ua = e, [

10

] 從而解出向量 a。

(D) 以 n 的降冪為序, 展示 Sp(n) = aTn。

上述流程完全是機械化的, 因而可以利用數學軟體來實現。 筆者所用的是著名的 Maple 8, 該軟體具有強大的符號運算功能。 下面, 請您瀏覽這段 Maple 程式, 它結構清晰, 一目了然。

[

9]

依據

(11)

式。

[

10]

因為

U

是行

-

階梯形矩陣。

(6)

> with(LinearAlgebra): > end do:

> p:=9: > end do:

> r:=p+1: > for j from 1 to r do

> m:=Vector(r): > for i from 1 to j do

> U:=Matrix(r,shape=triangular): > U[i,j]:=(-1)^(j-i)*U[i,j]:

> for j from 1 to r do > end do:

> m[j]:=n^j: > end do:

> U[1,j]:=1: > E:=IdentityMatrix(r):

> U[j,j]:=j: > e:=Column(E,r):

> end do: > a:=BackwardSubstitute(U,e):

> for j from 3 to r do > S:=DotProduct(a,m):

> for i from 2 to j-1 do > S:=sort(S);

> U[i,j]:=U[i,j-1]+U[i-1,j-1]:

激活 Maple 8, 在其工作窗口中輸入並執行以上程式, 一眨眼, 聰明的 Maple 便算出了 下述結果。

S := 1

10n10+ 1

2n9+3

4n8 − 7

10n6+ 1

2n4− 3 20n2

即使將源程式的第二行改為 p := 500 : , 且以低檔電腦執行之, 耗時也不過 20秒而已。 算法如 此快速, 其實用性毋庸置疑!

4. 猜想

猜想, 起源於觀察。

欲全面觀察各次冪和, 最佳途徑莫過於求出 (9) 式中之 L−1, 因為它的第 q + 1 行給出 了 Sq(n) 的係數。 下面, 我們就用 Maple 來計算 14 階的 L−1。 為此, 將源程式的第二行改成 p := 13 : , 並將其末尾四行替換成左下方的兩行[

11

]

> L:=Transpose(U):

> L1:=ForwardSubstitute(L,E); L1 :=





14 × 14 Matrix Data Type: anything Storage: rectangular Order: Fortran order





[

11]

在程式中以

L1

表示

L

−1

(7)

執行修改後的程式, 輸出如右上方所示——狡猾的 Maple 不直接顯示超過 10 階的矩陣, 解決辦法是分塊顯示。 例如, 指令 SubMatrix(L1, 8..14, 1..7); 可用來顯示 L1 左下角的 7 × 7 子塊, 餘者仿此。 人工拼接這些子塊, 得到

L−1 =































 1

1 2

1 2 1

6

1 2

1 3

0 14 12 14

301 0 13 12 15 0 −121 0 125 12 16

1

42 0 −16 0 12 12 17

0 121 0 −247 0 127 12

301 0 29 0 −157 0 23 0 −203 0 12 0 −107 0

5

66 0 −12 0 1 0 −1

0 125 0 −118 0 116 0

2730691 0 53 0 −3310 0 227 0 −691420 0 6512 0 −14320 0

0

1 8 1 2

1 9 3 4

1 2

1 10

0 56 12 111

118 0 1112 12 121 0 −116 0 1 12 131

143

28 0 −14360 0 1312 12 141

































不難發現, 在 L−1 中:

(i) 第 1 下斜層 (即主對角線) 的第 r 個元素為 1

r (r = 1, 2, · · · , 14);

(ii) 第 2 下斜層的所有元素皆為 1 2;

(iii) 第 3–14 下斜層的符號特徵可以列表如下——Eureka! 週期性!

下斜層 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th

符號 + 0 − 0 + 0 − 0 + 0 − 0

掌握了以上三條線索, 順藤摸瓜, 筆者提出下述猜想——

猜想: 對於任意 p ∈ N, 冪和多項式

Sp(n) = ap+1np+1+ apnp+ · · · + a1n 之係數滿足下列條件:

ap+1 = 1

p+ 1, ap = 1

2; (12a)

(8)

sgn ap−q = sinqπ

2 (q = 1, 2, · · · , p − 1).[

12

] (12b)

事實上, (12a) 式是容易證明的, 祇需解出方程 (3) 底端的兩行





 p p− 1



ap−p + 1 p− 1



ap+1= 0

p + 1 p



ap+1= 1 即可。 至於 (12b) 式, 就留與諸位研究吧。

5. 結語

本文所介紹的冪和算法, 屬於 H. J. Schultz [1]。 他在推測[

13

](2) 式成立的基礎上, 用

「未定係數法」 導出了方程 (3)。 無疑, 如此推導存在著漏洞。 儘管該漏洞可以被彌補: 用 「縮和 法 + 數學歸納法」, 證明 (2) 式並非很困難 (可參閱 [2])——但是打了補丁的方案畢竟 「真而 不美」。

創作一款 「真而美」 的證明! 這, 便是筆者的初衷。 之後, 筆者收穫了稱心如意的證明, 進 而編程解決了冪和多項式的係數計算問題。 不料, 卻又引出了更為複雜的係數結構問題, 可謂

「庸人自擾」。 然而, 「探索無止境」, 這不恰是數學的魅力所在嘛!

參考文獻

1. H. J. Schultz, The sum of the kth powers of the first n integers, American Mathematical Monthly, 87(1980), 478–481.

2. R. W. Owens, Sums of powers of integers, Mathematics Magazine, 65(1992), 38–40.

3. R. L. Graham, D. E. Knuth, and O. Patashnik, Concrete Mathematics: A Foundation for Computer Science, Reading, MA: Addison-Wesley, 1989.

本文作者畢業於江蘇省南京航空航天大學

[

12] sgn x =

−1,

x < 0;

0,

x = 0;

稱為 「符號函數」

(signum function)

1,

x > 0.

[

13]

原文為

“we make the reasonable guess that”—

我們有理由猜測。

參考文獻

相關文件

[r]

摘要: 本文主要探討對消在數列的和與乘積之應用, 對消和分成四個方法: 反差分、 部份分 式、 三角函數及階乘函數進行討論。 反差分之方法又可分為下降階乘冪、 等比型及三角函數

Brualdi (1977): Introductory Combinatorics.. North-Holland,

對教學設計, 我們還可以從知識的聯繫這一角度進行分析。 上述三角函數公式在一般教材 中往往是分開來介紹的, 它們之間的聯繫也不是特別緊密; 而在本文中, 它們則是通過數學方法

對於 「神奇的冪和三角形」

數學史研究已具有很長的歷史, 如何在數學教育中運用數學史的知識, 充分發揮數學史的 作用和價值則是當前數學教 育改革面臨的一個重要課題。 1998年4月20日至26日, 由國際數學 教育委員會 (ICMI)

利用和角公式證明 sin2α=2sinαcosα

請在空格中填入適當的角度,使∠A、∠B、∠C 恰好成為一組三角形的內角,並寫出三角形是