透過 MCP 連接 →

輸入計算

非負整數(0 到 25)。本工具會回傳 k = 0..n 的第一類「帶符號」斯特靈數 s(n,k)。

數學公式

廣告

結果

Signed Stirling numbers of the first kind, row n = 5
s(5, k) for k = 0 ... 5
帶符號定義:s(n,k) = (-1)^(n-k) c(n,k)
k s(n, k)
0 0
1 24
2 -50
3 35
4 -10
5 1
帶符號總和 0
絕對值總和(= n!) 120

這個計算機的功能

本工具會根據你輸入的非負整數 n,算出整列的第一類帶符號斯特靈數,記作 \(s(n,k)\)。它會以表格列出 k = 0, 1, 2, ..., n 的每一個數值,並一併給出該列的帶符號總和與絕對值總和。這裡採用帶符號的定義,因此 \(s(n,k)\) 可能為正也可能為負。至於無符號(又稱「循環數」)的版本 \(c(n,k) = |s(n,k)|\),則代表把 n 個元素排列成恰好 k 個不相交循環的方法數,兩者的關係為 $$s(n,k) = (-1)^{n-k}\, c(n,k)$$。

公式說明

第一類帶符號斯特靈數,是下降階乘 \((x)_n = x(x-1)(x-2)\cdots(x-n+1) = \sum s(n,k)\, x^k\) 展開後各項的係數。它們滿足遞迴關係 $$s(n,k) = s(n-1,k-1) - (n-1)\,s(n-1,k)$$ 初始條件為 \(s(0,0) = 1\)、當 \(n \ge 1\) 時 \(s(n,0) = 0\),而當 \(k < 0\) 或 \(k > n\) 時 \(s(n,k) = 0\)。此外,\(s(n,n)\) 恆等於 1。

第一類斯特林數的三角表,箭頭表示遞迴關係
此遞迴式由上一列的兩個儲存格建構每個元素:\(s(n-1,k-1)\) 和 \(s(n-1,k)\)。

使用方式

輸入一個介於 0 到 25 之間的整數 n 並送出即可。計算機會以動態規劃方式逐列建立,從 n = 0 的 [1] 開始,最後讀出對應 n 的那一列。你可以用帶符號總和(當 \(n \ge 2\) 時應為 0)與絕對值總和(應等於 \(n!\))來快速驗算結果是否正確。

Advertisement

實例演算(n = 5)

逐列建立過程如下:n=1 得 [0, 1];n=2 得 [0, -1, 1];n=3 得 [0, 2, -3, 1];n=4 得 [0, -6, 11, -6, 1];n=5 得 [0, 24, -50, 35, -10, 1]。驗算:$$|0|+|24|+|50|+|35|+|10|+|1| = 120 = 5!$$ 而帶符號總和 $$0+24-50+35-10+1 = 0$$ 兩者皆吻合。

n 等於 5 的有號斯特林數列,符號交替
n = 5 列:數值 0、24、-50、35、-10、1,在 k = 0..5 上符號交替。

常見問題

帶符號還是無符號?本工具回傳的是帶符號數值。若要取得無符號的循環數 \(c(n,k)\),把各數值取絕對值即可。

為什麼帶符號總和會等於 0?在下降階乘中代入 \(x = 1\),當 \(n \ge 2\) 時 \((1)_n = 0\),而這個值正好等於 \(s(n,k)\) 整列的總和。

為什麼 n 有上限?因為數值會以階乘速度暴增,量級很快變得非常龐大;將 n 上限設為 25,是為了讓表格保持易讀、計算也更可靠。

最後更新: