威威學長|數學公式系列
$1+2+\cdots+10=55$ 是手指頭數得完的範圍。換成 $1^5+2^5+\cdots+10^5$,答案是 $220825$,就開始需要一點技巧了;等到 $n=100$,一項一項加根本寫不完,你只能去找封閉解。
麻煩的是課本要你背的封閉解不只一條:平方和一條、立方和一條、四次方和一條,$p$ 每加一就多一條。十七世紀有位德國人叫福爾哈貝(Johann Faulhaber),他做的事就是把這一整排公式收進同一條式子裡。
從一加到一百
課本上那個故事:小高斯的老師出了 $1+2+\cdots+100$,他幾秒鐘就報出 $5050$。做法是頭尾配對,$1+100=101$、$2+99=101$,一共 $50$ 對,所以 $50\times101=5050$。
把這個想法畫成長條圖:$1,2,\ldots,n$ 疊起來,就是一個上底 $1$、下底 $n$、高 $n$ 的梯形。面積公式 $\frac{(\text{上底}+\text{下底})\times\text{高}}{2}$ 直接給你
$$\sum_{k=1}^{n}k=\frac{n(n+1)}{2}$$
($\sum_{k=1}^{n}$ 的意思是「讓 $k$ 從 $1$ 跑到 $n$,每一項都加起來」。)這條公式本身的用途不大,它是後面所有冪次和的基準線。
平方和:把 $k^2$ 拆成兩塊
$\sum_{k=1}^n k^2$ 的封閉解是
$$\sum_{k=1}^n k^2 = \frac{n(n+1)(2n+1)}{6}$$
推導至少有四條路:數學歸納法、差分法、生成函數,以及我比較喜歡的這一條:把 $k^2$ 拆成 $k(k-1)+k$。
$k(k-1)$ 可以寫成 $2\binom{k}{2}$,因為 $\binom{k}{2}=\frac{k(k-1)}{2}$ 是「從 $k$ 個東西裡挑 2 個」的方法數。把 $k=2,3,\ldots,n$ 的 $\binom{k}{2}$ 全部加起來(巴斯卡三角形同一條斜線上的和),會得到 $\binom{n+1}{3}$,所以
$$\sum_{k=1}^n k(k-1)=2\binom{n+1}{3}=\frac{n(n+1)(n-1)}{3}$$
剩下的那塊 $\sum k$ 我們已經有了,兩塊拼起來:
$$\sum_{k=1}^n k^2=\frac{n(n+1)(n-1)}{3}+\frac{n(n+1)}{2}=\frac{n(n+1)(2n+1)}{6}$$
每一項都是「從 $k$ 個東西裡挑幾個」的組合數,這也是為什麼這條路跟 排列組合 接得上。
立方和:一個看起來不像真的等式
$$\sum_{k=1}^n k^3=\left[\frac{n(n+1)}{2}\right]^2$$
右邊就是「一次方和再平方」。代 $n=4$:左邊 $1+8+27+64=100$,右邊 $(1+2+3+4)^2=10^2=100$。這不是巧合。
證明用差分。定義差分運算子 $\Delta f(k)=f(k+1)-f(k)$,意思是「把函數往前推一格再相減」。組合數在差分下的行為非常乾淨:
$$\Delta\binom{k}{m+1}=\binom{k+1}{m+1}-\binom{k}{m+1}=\binom{k}{m}$$
這其實就是巴斯卡公式,翻成中文是「上差分=下降一個指標」。所以只要把 $k^3$ 用階乘冪展開:
$$k^3=6\binom{k}{3}+6\binom{k}{2}+\binom{k}{1}$$
代 $k=3$ 檢查:$6\binom{3}{3}+6\binom{3}{2}+\binom{3}{1}=6+18+3=27=3^3$。這三個係數 $1,3,1$ 是「把 3 個不同的球丟進 $j$ 個箱子、每箱至少一顆」的方法數(Stirling 數)。
展開後每一項都能被差分吃掉,逐項求和(用 $\sum_{k=1}^n\binom{k}{m}=\binom{n+1}{m+1}$):
$$\sum_{k=1}^n k^3=6\binom{n+1}{4}+6\binom{n+1}{3}+\binom{n+1}{2}=\frac{n^2(n+1)^2}{4}=\left[\frac{n(n+1)}{2}\right]^2$$
最後一步只是把 $\frac{n^2(n+1)^2}{4}$ 寫回平方的樣子。
為什麼要拆成階乘冪?因為階乘冪在差分下的行為,跟連續世界裡多項式在微分下的行為一模一樣。這是「離散微積分」的起點,也是下一節那條公式的來源。
福爾哈貝把它收成了一條
1631 年,福爾哈貝出版《Academia Algebrae》,裡面直接列出 $p=1$ 到 $p=17$ 的冪次和公式。他那時候還沒有「伯努利數」這個名字,但他寫下的係數,其實就是 $B_j$ 的另一種編碼。
公式長這樣:
$$\sum_{k=1}^{n} k^p = \frac{1}{p+1} \sum_{j=0}^{p} (-1)^j \binom{p+1}{j} B_j \, n^{p+1-j}$$
$B_j$ 是伯努利數(Bernoulli numbers),前幾項是:
| $j$ | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|---|
| $B_j$ | $1$ | $-\frac{1}{2}$ | $\frac{1}{6}$ | $0$ | $-\frac{1}{30}$ | $0$ | $\frac{1}{42}$ |
$j\ge3$ 的奇數項全部是 $0$,所以展開時遇到 $B_3$、$B_5$ 直接跳過。
⚠️ 學長的警告:$B_1$ 的正負號有兩派約定。這裡用 $B_1=-\frac{1}{2}$,有些近代教科書用 $+\frac{1}{2}$。寫程式或交報告時一定要註明你用哪一派,否則同一條公式會給出兩種答案。
拿它算四次方和
$$\sum_{k=1}^n k^4=\frac{1}{5}\sum_{j=0}^{4}(-1)^j\binom{5}{j}B_j\,n^{5-j}$$
一項一項展開:
- $j=0$:$(-1)^0\binom{5}{0}B_0n^5=1\cdot1\cdot1\cdot n^5=n^5$
- $j=1$:$(-1)^1\binom{5}{1}B_1n^4=-5\cdot\left(-\frac{1}{2}\right)n^4=\frac{5}{2}n^4$
- $j=2$:$(-1)^2\binom{5}{2}B_2n^3=10\cdot\frac{1}{6}n^3=\frac{5}{3}n^3$
- $j=3$:$B_3=0$,整項消失
- $j=4$:$(-1)^4\binom{5}{4}B_4n=5\cdot\left(-\frac{1}{30}\right)n=-\frac{1}{6}n$
加總後乘上 $\frac{1}{5}$:
$$\sum_{k=1}^{n} k^4 = \frac{n(n+1)(2n+1)(3n^2+3n-1)}{30}$$
代 $n=10$ 驗算:$\frac{10\cdot11\cdot21\cdot329}{30}=\frac{759990}{30}=25333$,而 $1^4+2^4+\cdots+10^4$ 一項一項加起來也確實是 $25333$。
我自己檢查公式的習慣是代最小的兩個值。$n=1$:右邊 $\frac{1\cdot2\cdot3\cdot5}{30}=1=1^4$ ✓。$n=2$:右邊 $\frac{2\cdot3\cdot5\cdot17}{30}=17$,左邊 $1+16=17$ ✓。兩關就夠了,公式錯的話第一關就會爆。
小 $n$ 的表也順手對一遍:
| $k$ | 1 | 2 | 3 | 4 | 5 | $\sum_{k=1}^{5}$ | 套公式 |
|---|---|---|---|---|---|---|---|
| $k$ | 1 | 2 | 3 | 4 | 5 | $15$ | $\frac{5\cdot6}{2}=15$ |
| $k^2$ | 1 | 4 | 9 | 16 | 25 | $55$ | $\frac{5\cdot6\cdot11}{6}=55$ |
| $k^3$ | 1 | 8 | 27 | 64 | 125 | $225$ | $\left(\frac{5\cdot6}{2}\right)^2=225$ |
$225=15^2$ 那一格就是前面那條等式。眼睛看到數字對得起來,比讀十遍證明有用。
第二條路:數學歸納法
差分法像捷徑,歸納法是多數人第一個學會的工具。用 $\sum k^2$ 走一遍,其餘的照抄。
基底 $n=1$:左邊 $1^2=1$,右邊 $\frac{1\cdot2\cdot3}{6}=1$。
歸納假設:設 $\sum_{k=1}^n k^2=\frac{n(n+1)(2n+1)}{6}$ 對某個 $n$ 成立。
歸納步驟:
$$\sum_{k=1}^{n+1}k^2=\frac{n(n+1)(2n+1)}{6}+(n+1)^2$$
把後面那項通分加進去,整理得到 $\frac{(n+1)(n+2)(2n+3)}{6}$,正好是原式把 $n$ 換成 $n+1$ 的形式。證畢。
同樣的套路 $k^3$、$k^4$ 都能用,只是分母一個比一個醜:$\sum k^3$ 的分母是 $4$,$\sum k^4$ 是 $30$,$\sum k^5$ 是 $12$。歸納法的代價是每升一次冪次就得重算一遍;差分法只要會拆階乘冪就能一次處理,福爾哈貝公式則直接把母函數端給你。這就是「結構」跟「一條一條背」的差別。
考卷上它長什麼樣
學測與分科很少直接考福爾哈貝公式本身,考的是冪次和的應用。常見四種:
- 等差級數前 $n$ 項和:$\frac{n(a_1+a_n)}{2}$ 直接套,送分。
- 反推 $n$:給你 $\sum_{k=1}^n k^2=385$,問 $n$ 是多少。這要解 $n(n+1)(2n+1)=2310$,$n=10$ 代進去剛好。
- 期望值:丟一顆公正骰子 $n$ 次,點數平方和的期望值要用 $\sum k^2$ 的封閉解。
- 遞推求通項:給 $a_{n+1}=a_n+n^2$,求 $a_n$。這就回到冪次和。
數甲會更狠一點,把它跟微積分湊在一起,例如用黎曼和逼近 $\int_0^1 x^3\,dx$(見 黎曼與 FTC)。這種題的主角是極限,福爾哈貝只是讓你算得出那個和。
它會在哪裡冒出來
迴圈跑幾次。 下面這段程式的內層總共執行幾次?
for i in range(n):
for j in range(i*i):
do_something()
$i=0$ 時跑 $0$ 次,$i=1$ 跑 $1$ 次,一路到 $i=n-1$ 跑 $(n-1)^2$ 次,總共 $0^2+1^2+\cdots+(n-1)^2$,正是平方和。知道公式就能直接寫出 $\Theta(n^3)$($\Theta$ 是「成長數量級」)。氣泡排序、插入排序的精確步驟數同樣是冪次和,big-O 會把常數藏起來,「$n=100$ 實際跑幾步」這種問題藏不掉。
轉動慣量。 均勻細棒繞端點轉,轉動慣量是 $I=\int_0^L x^2\,dx$。把棒子切成 $n$ 段、每段當質點,離散版本就是 $\sum_{k=1}^n (k\Delta x)^2\Delta m$,又是一個平方和。重力位能、靜電位能只要牽涉「距離平方反比」,離散化之後也會冒出 $\sum k^p$。
統計動差。 $p$ 階動差是 $\sum x_i^p$ 的形狀。從 $\{1,2,\ldots,n\}$ 抽樣,平均是 $\frac{n+1}{2}$,二階動差(平方的平均)是 $\frac{(n+1)(2n+1)}{6}$,三階動差是 $\frac{1}{n}\left[\frac{n(n+1)}{2}\right]^2$,最後這個就是「立方和等於和的平方」再除以 $n$。
機器學習的正則化。 Tikhonov 正則化的離散版本要算 $\sum k^p$;把 smoothness penalty 定義成輸出差的 $p$ 次方和時,梯度下降的封閉解也會用到福爾哈貝。只要碰到多項式損失或多項式正則,背後都有冪次和。
黎曼和的誤差。 $\int_0^1 x^p\,dx=\frac{1}{p+1}$,而右端點黎曼和是 $\frac{1}{n^{p+1}}\sum_{k=1}^n k^p$,取極限剛好收斂到 $\frac{1}{p+1}$。福爾哈貝公式的下一階項,就是數值積分誤差分析的第一項。
組合恆等式。 像 $\sum_{k=1}^n k(k+1)(k+2)=\frac{n(n+1)(n+2)(n+3)}{4}$ 這種看起來很神的等式,兩邊展開比係數就結束了,福爾哈貝是跳板。
說穿了,冪次和是「把多項式從離散世界搬到連續世界」的那座橋。
跟學英文的類比
福爾哈貝公式像英文的構詞法:你不需要背每一個長單字,知道字根字首就能組出無限多個新詞(un- + believe + -able = unbelievable)。這裡也一樣,$p=1,2,3,4,\ldots$ 不需要十幾條公式,只要伯努利數和二項式係數,一條式子全包。
反過來說,學數學跟學語言有個共同的坑:單字背很多、文法不熟,看到長句就崩。福爾哈貝公式是文法,新題目只是換皮的單字。
五個真的會錯的地方
- $B_1$ 用錯約定。 這裡是 $-\frac{1}{2}$。有些定義寫 $+\frac{1}{2}$,兩者混用會讓整條式子差一項。
- 把 $\sum k^p$ 和 $(\sum k)^p$ 搞混。 前者是各項先取 $p$ 次方再相加,後者是先加再取 $p$ 次方。兩者相等是特例,只有 $p=3$:$\sum k^3=(\sum k)^2$。$n=10$ 時 $\sum k^2=385$,但 $(\sum k)^2=55^2=3025$。
- 以為 $p=0$ 不適用。 $p=0$ 時 $\sum_{k=1}^n k^0=n$(每一項都是 $1$),公式代進去也簡化成 $n$;要小心的是 $B_0$ 的定義邊界。
- 求和範圍看錯。 福爾哈貝是 $\sum_{k=1}^n$。題目若寫 $\sum_{k=0}^n$,$k=0$ 那一項要自己補(多數情況是 $0$,但 $p=0$ 時不是)。
- 解方程時漏掉複數根。 例如 $n(n+1)(2n+1)=2310$ 這種三次方程,實根不保證只有一個;運算過程冒出根號時要留意(見 複數根號陷阱)。
福爾哈貝這個人
他 1580 年生於紐倫堡,父親是紡織工。他沒受過正式大學教育,靠自學成為當時最出色的數學家之一,維生方式是接城市工程案、替軍事工程師算火砲射程。1631 年的《Academia Algebrae》就是他手算出來的成果。那時候伯努利數根本還沒被定義。
伯努利要到 1713 年的遺作《猜度術》(Ars Conjectandi)才把這些係數系統化,尤拉(Leonhard Euler)則在 1735 年算出 $\zeta(2)=\frac{\pi^2}{6}$,並證明 $\zeta(2k)$ 是 $\pi^{2k}$ 的有理數倍,那個有理數的分子分母都跟伯努利數有關,也順手把這些數字冠上伯努利的名字。公式以後來者命名,真正的計算者早了八十幾年。$\sum_{k=1}^{\infty}k^{-s}$ 這種無窮級數,跟 $\sum_{k=1}^n k^p$ 在 $p=-s$ 時形式對稱,兩邊就是靠伯努利數綁在一起。
順帶一提,他也寫過「數字神祕學」的論文,把冪次和跟聖經數字學掛在一起討論。十七世紀的德國,數學跟神學還沒分家,他既是數學家也是占星家。
他那時候沒有計算機,也沒有標準化的印刷符號可抄,$p=17$ 的係數是純手算的。今天 Python 三行就能驗到 $p=100$:
from sympy import symbols, summation
k, n = symbols('k n')
print(summation(k**5, (k, 1, n)))
差別不在算得快,在「看出係數之間的規律」。工具會一代一代換,那條結構不會。
動手算:五題
- 三行證明 $\sum k$。 提示:把 $\sum_{k=1}^n k$ 跟 $\sum_{k=1}^n(n+1-k)$ 加起來。
- 用福爾哈貝公式算 $\sum_{k=1}^{10}k^5$(提示:$B_0=1$,$B_1=-\frac{1}{2}$,$B_2=\frac{1}{6}$,$B_4=-\frac{1}{30}$)。
- 用差分法驗證 $\sum k^3=\left(\sum k\right)^2$,也就是把 $k^3$ 拆成階乘冪再走一次前面的流程。
- 用數學歸納法證明 $\sum_{k=1}^n k^2=\frac{n(n+1)(2n+1)}{6}$。
- (研究所)說明為什麼 $\zeta(2)=\frac{\pi^2}{6}$ 會跟福爾哈貝公式連上線。
第 1 題的答案:兩條和是同一組數字($1+2+\cdots+n$ 跟 $n+(n-1)+\cdots+1$),相加得 $2\sum_{k=1}^n k=n(n+1)$,除以 $2$ 就是公式。這種「自我配對」在組合恆等式裡到處出現。
打開你的數學課本,翻到數列與級數那一章,把所有出現 $\sum$ 的題目挑出來,大概五到十題。每題先不要算,只回答一個問題:這個和是 $\sum k^p$ 的形狀嗎?如果是,$p$ 是多少、上界在哪裡?
判斷完再決定要不要套公式。走完一輪,你對冪次和的感覺會從「背了十幾條」變成「其實只有一條」。如果哪一題你判斷出來的 $p$ 跟解答的解法對不上,把你的推理寄給我,我們來看看是哪一步看錯了。