• 沒有找到結果。

楊輝的六階幻方

N/A
N/A
Protected

Academic year: 2022

Share "楊輝的六階幻方"

Copied!
7
0
0

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

全文

(1)

楊輝的六階幻方

聶春笑

一、 引言

楊輝, 字謙光, 南宋末年錢塘 (今浙江杭州) 人 (1127∼1279), 是古代中國傑出的數學家 與數學教育家, 著述頗多, 其中包括 《詳解九章算法》 12 卷 (1261)、 《日用算法》 2 卷 (1262)、

《乘除通變本末》 3 卷 (1274, 其中卷下署“錢塘楊輝、 史仲榮編集”)、 《田畝比類乘除捷法》 2 卷 (1275)、 《續古摘奇算法》 2 卷 (1275), 對後世影響很大, 其中后三種又合稱為 《楊輝算法》

[1]。 楊輝在“剁積術”與縱橫圖 (即幻方) 以及總結民間乘除捷算等都有重要貢獻, 也以楊輝三 角 (又稱為“賈憲三角”或“帕斯卡三角”) 聞名於世。 在數學史中, 楊輝與秦九韶、 李冶以及朱世 傑並稱為中國古代數學宋元四大家。

在楊輝著作中, 《續古摘奇算法》 是數學史上第一本關於幻方 (magic square) 的系統著 作, 同時楊輝在書中也討論了幻圖 (magic figure), 關於幻圖的討論可見 [2]。 本文將討論的 是幻方, 在第一卷中楊輝給出了 3−10 階幻方, 其中3 階幻方即為洛書, 其他分別稱為“花十 六圖”(4 階)、 “五五圖”(5 階)、 “六六圖”(6 階)、 “衍數圖”(7 階)、 “易數圖”(8 階)、 “九九圖”(9 階)、 “百子圖” (10 階), 楊輝在書中給出了一部分幻方的構造方法, 如其中的“花十六圖”, 然而 如“六六圖” 等則未給出構造方法, 本文將討論的即為“六六圖”。

所謂幻方, 是指一個數字矩陣, 通常矩陣元素就是一組連續正整數序列, 比如用 1∼ n2 構 造一個 n 階幻方, 其中每行之和, 每列之和, 以及兩條對角線之和均等於一個常數, 該常數稱為 幻和。 楊輝在書中給出了兩個 6 階幻方, 分別謂之為陽圖 (矩陣 1) 與陰圖 (矩陣 2)。 本文的目 的是研究其中的陽圖的構造方法, 在仔細研究其中的陽圖之後, 我們會發現其中蘊含的構造方 法與現代的康威給出的 LUX 方法類似 [3, 4] (也可見維基百科詞條:

https://en.wikipedia.org/wiki/Conway%27s_LUX_method_for_magic_squares)。

下文的安排如下, 首先解釋 LUX 法的構造過程, 然後再與楊輝的幻方對比, 最後, 我們將 基於對比分析推廣出一個一般方法。 通常在研究中把幻方劃分為三類, 奇數階 (2m + 1)、 單偶 數階 (2(2m + 1)) 以及雙偶數階 (4m), 其中 m 為正整數。 6 階幻方屬於單偶數階幻方, 而本

82

(2)

文最終推出的方法可以適用於構造任意單偶數階幻方。

13 22 18 27 11 20 31 4 36 9 29 2 12 21 14 23 16 25 30 3 5 32 34 7 17 26 10 19 15 24

8 35 28 1 6 33

4 13 36 27 29 2 22 31 18 9 11 20

3 21 23 32 25 7 30 12 5 14 16 34 17 26 19 28 6 15 35 8 10 1 24 33

(1) (2)

二、 LUX 法構造過程

下面首先回顧 LUX 法的構造方法。 LUX 法是構造單偶數階幻方的方法, 因此此時幻方 的階數為 n = 2(2m + 1)。

步驟一: 使用連續擺數法構造一個奇數階 (2m + 1) 階幻方, 關於連續擺數法, 具體構造方法 可見文獻 [2] 中的 2.2 節, 這裡不再詳述。 以構造 10 階幻方為例, 此時就是先構造 一個 5 階幻方, 如矩陣 3 所示;

17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9

 (3)

步驟二: 將 1∼ n2 這 n2 個數字劃分為四個一組, 共計 (2m + 1)2 組, 這 (2m + 1)2 組陣列 將填在步驟一中生成的幻方中, 不過需要先將每組數填充到 2 × 2 階的小矩陣中, 之 後這些矩陣再填入 (2m + 1) 階幻方中。 這裡為了方便描述, 將 LUX 法的插入順尋 直接用 2 × 2 矩陣表示, 後面我們將看到使用這些 2 × 2 小矩陣會更容易看到規律。

步驟三: 在 (2m + 1) 阶幻方的不同位置插入的小矩陣的數位順序有所區別, 在最上的 m + 1 行採用 L 形式插入(見矩陣 4a), 接下來的第 m + 2 行按照 U 形式插入 (見矩陣 4b), 餘下的 m − 1 行按照 X 形式插入 (見矩陣 4c)。 所謂採用 L 形式插入, 即按 照矩陣 4a 中的 1 → 2 → 3 → 4 順序插入, 形同 L, 其他情形類似。 之後再調整第 m+ 1 行中間的 2 × 2 矩陣 (即矩陣 5 中的 49 − 50 − 51 − 52), 將對應數組從 L 變為 U 形插入, 其下方的第 m + 2 行中間的一組數字從 U 形變為 L 形 (即矩陣 5

(3)

中的 73 − 74 − 75 − 76)。

"

4 1 2 3

# "

1 4 2 3

# "

1 4 3 2

#

4(a) 4(b) 4(c)

這樣, 我們就構造了一個 10 階幻方, 如矩陣 5 所示。

68 65 96 93 4 1 32 29 60 57 66 67 94 95 2 3 30 31 58 59 92 89 20 17 28 25 56 53 64 61 90 91 18 19 26 27 54 55 62 63 16 13 24 21 49 52 80 77 88 85 14 15 22 23 50 51 78 79 86 87 37 40 45 48 76 73 81 84 9 12 38 39 46 47 74 75 82 83 10 11 41 44 69 72 97 100 5 8 33 36 43 42 71 70 99 98 7 6 35 34

 (5)

三、 LUX 法與楊輝幻方的對比

下面首先把楊輝的幻方 (矩陣 1) 分解, 將其分解為 9 個 2 × 2 矩陣的組合, 我們會發現 有三個特點。

之一, 每組是一個等差數列, 公差均為 9, 如最左上角的 2 × 2 子矩陣的四個元素為 {4, 13, 22, 31}, 恰好是公差為 9 的等差數列; 之二是每組的最小數字提取出來, 依然組合成為一 個三階幻方, 見矩陣 6 所示, 這實際上也是連續擺數法生成的, 與 LUX 法類似; 之三, 由於是 6 階幻方, 2 × 2 矩陣只有兩種形式, 分別見矩陣 7a 與 b。 在 《續古摘奇算法》 一書中, 楊輝的 10 階幻方並非使用類似方法, 我們無法從 《續古摘奇算法》 中的其他幻方直接推知更高階單偶 數階幻方如何構造, 因此需要補充與 LUX 法中矩陣 4c 對應的排序方式。 簡單對比, 我們可以 發現, 矩陣 4 的 a 與 b 對應到矩陣 7 的 a 與 b, 簡而言之, 矩陣 7a 是矩陣 4a 上下對稱翻折 得到, 而矩陣 7b 則為矩陣 4b 上下對稱翻折得到, 這樣, 我們自然可以推測對應矩陣 4c 應該 有矩陣 7c, 也為矩陣 4c 上下對稱翻轉得到, 從而矩阵 4 中的 3 個 2 × 2 階矩陣都有了對應形 式。

經過上面的對比, 我們發現楊輝幻方與 LUX 法構造的幻方有很強的相似性, 這提示我們 楊輝幻方背後的構造方法可以一般化推廣, 並用來構造單偶數階幻方。 然而, 將楊輝幻方提示

(4)

的方法推廣到一般情形時需要解決一個問題, 即公差選擇為多少, 在 6 階時選擇為 9, 一般的 2(2m + 1) 階時呢? 簡單計算可知選擇為 (2m + 1)2 (因為我們需要保證劃分之後的小數組可 以填充進一個 (2m + 1) 階幻方中)。 下面我們就可以動手嘗試用楊輝幻方類似的方法構造更高 階的單偶數階幻方了。 基本步驟與 LUX 法一樣, 只是在填充 2 × 2 矩陣時對應的順序按照矩 陣 7, 並且每個小數組的公差選擇為 (2m + 1)2

4 9 2 3 5 7 8 1 6

 (6)

"

2 3 4 1

# "

2 3 1 4

# "

3 2 1 4

#

7(a) 7(b) 7(c)

下面同樣以 10 階為例, 使用矩陣 3 為奇數階幻方, 用前面從楊輝幻方觀察出的方法構造。

首先, 將 1∼100劃分為 25 組, 每組 4 個數字, 公差均選擇為 25 = (2 × 2 + 1)2。 具體填入方 法是, 在最上面 m + 1 行填寫矩陣 7a 所示的順序, 接下的一行填寫矩陣 7b 所示的順序, 最 後一行填寫矩陣 7c 所示的順序, 再將第 3 行中間的 2 × 2 矩陣以及其下方的 2 × 2 矩陣做 調整, 分別調整為矩陣 7b 與 a 的排列順序, 最後得到矩陣 8, 經過驗證, 滿足幻方條件。 這樣, 我們就利用楊輝書中幻方啟發的方法構造了一個 10 階幻方。

此外, 對比會發現陰圖 (矩陣2) 實際上是陽圖做了一些調整而得到的, 在 《幻方及其他 — 娛樂數學經典名題》 一書中, 作者也認為如此, 這裡不再詳細敘述。

42 67 49 74 26 51 33 58 40 65 92 17 99 24 76 1 83 8 90 15 48 73 30 55 32 57 39 64 41 66 98 23 80 5 82 7 89 14 91 16 29 54 31 56 38 63 45 70 47 72 79 4 81 6 13 88 95 20 97 22 35 60 37 62 44 69 46 71 28 53 10 85 12 87 94 19 21 96 3 78 61 36 68 43 75 50 52 27 59 34 11 86 18 93 25 100 2 77 9 84

 (8)

(5)

四、 更一般的推廣

下面我們將總結 LUX 法以及楊輝幻方, 給出一個更一般的構造方法。 從兩個角度推廣, 第一點, 從楊輝幻方以及 LUX 法可知, 2 × 2 矩陣填入的數組的公差可以為 1 (如 LUX 法), 也可以為 (2m + 1)2 (楊輝幻方中的方法); 第二點, 可以從 2 × 2 矩陣的變換角度考慮, 我們 已知矩陣 4a, b, c 與矩陣 7a, b, c 一一對應, 且 LUX 法的陣列排序方式與楊輝方法的排序 方式差一個上下翻轉, 自然的, 還有一種翻轉是左右翻轉, 易知這樣對陣列進行變換之後, 若原 矩陣為幻方, 則變換後的矩陣也是幻方。 因此, 可以在矩陣 4 與矩陣7的基礎上再添加可以作為 基礎排序的矩陣 9 以及矩陣 10, 這裡為了方便只用 {1, 2, 3, 4} 作為示例, 而實際填入方法與 LUX 法類似。 易知, 這四組排序方式互相可以通過上下翻轉與左右翻轉變換得到。 設上下翻轉 設為 T1, 左右翻轉設為 T2, 那麼這四組基礎排序可以相互轉換, 比如矩陣 9 可以由矩陣 4 做 T2 變換得到, 矩陣 10 可以由矩陣 7 做 T2 變換得到, 而矩陣 9 與矩陣 10 之間可以做 T1 變 換得到。 注意這裡不能採用旋轉變換, 比如將矩陣 4 旋轉 90 度, 此時生成的就不是幻方。

基於這四種不同排序的 2 × 2 矩陣, 接下來就可以陳述更一般的方法, 與 LUX 法類似, 三個步驟, 不同之處是其中的步驟二的數組的公差可以選擇為 (2m + 1)2, 以及步驟三的填入 順序可以是矩陣 4, 7, 9, 10 中的任意一種。

"

1 4 3 2

# "

4 1 3 2

# "

4 1 2 3

#

9(a) 9(b) 9(c)

"

3 2 1 4

# "

3 2 4 1

# "

2 3 4 1

#

10(a) 10(b) 10(c)

步驟一: 用連續擺數法構造一個階數為 (2m+1) 的奇數階幻方;

步驟二: 將 {1 − n2} 劃分為 (2m + 1)2 個小數組, 每個數組均有四個數字, 為等差數列, 公差 為 1 或 (2m + 1)2;

步驟三: 將這些數組分別填入前面的 (2m + 1) 階幻方中, 可以選擇矩陣 4, 7, 9, 10 四種排序 方式中的一種。 最上面 m + 1 行按照矩陣 4, 7, 9, 10 的 a 排序, 接下的第 m + 2 行按照 b 排序, 剩下的 m − 1 行按照 c 排序。 再將第 m + 1 行中間的 2 × 2 矩陣 調整為按照 b 排序, 其下方的 2 × 2 矩陣按照 a 排序。 這樣即生成一個 2(2m + 1) 階幻方。

(6)

以 10 階為例, 我們继续選擇矩陣 3 作為奇數階幻方, 選擇公差 d = 25, 選擇矩陣 9, 10 兩種排序就生成了兩個 10 階幻方, 分別如矩陣 11 與 12 所示。

17 92 24 99 1 76 8 83 15 90 67 42 74 49 51 26 58 33 65 40 23 98 5 80 7 82 14 89 16 91 73 48 55 30 57 32 64 39 66 41 4 79 6 81 88 13 20 95 22 97 54 29 56 31 63 38 70 45 72 47 85 10 87 12 19 94 96 21 78 3 60 35 62 37 69 44 71 46 53 28 86 11 93 18 100 25 77 2 84 9 36 61 43 68 50 75 27 52 34 59

67 42 74 49 51 26 58 33 65 40 17 92 24 99 1 76 8 83 15 90 73 48 55 30 57 32 64 39 66 41 23 98 5 80 7 82 14 89 16 91 54 29 56 31 63 38 70 45 72 47 4 79 6 81 88 13 20 95 22 97 60 35 62 37 69 44 71 46 53 28 85 10 87 12 19 94 96 21 78 3 36 61 43 68 50 75 27 52 34 59 86 11 93 18 100 25 77 2 84 9

(11) (12)

對於 LUX 法的證明, 在 [3] 中提示了一種方法, 可以很容易的驗證形成的矩陣為幻方, 對 於公差為 (2m + 1)2 時的情形也是類似。 而證明了對應於矩陣 4, 7, 9, 10 四種排序中的任何 一種, 則其他情形可自動的得證, 因為左右翻轉與上下翻轉不改變行以及列之和, 因此只需要說 明對角線的變化即可, 而這一點很容易驗證。

在 《續古摘奇算法》 一書中還給出了一個 10 階幻方, 如矩陣 13 所示, 名曰“百子圖”, 然 而該幻方的對角線之和, 一為 540, 一為 470, 嚴格來說並非幻方。 數學史專家李儼對構造方法 提出了一種見解[5], 這裡不再詳述。 將 (13) 與 (8) (11) (12) 對比, 即可知 (13) 的構造方法 與本文推廣的方法截然不同, 因此, 其與楊輝書中的6 階幻方的構造方法也不同, 比如 (13) 中 1−6 行對應的數組都是遞增或遞減的數字排序, 若將其劃分為 25 個 2 × 2 的小矩陣分析, 每 個 2 × 2 子矩陣的數組也非等差數列。 因此, 楊輝書中的 6 階幻方與 10 階幻方並非同樣的構 造方法所得。

1 20 21 40 41 60 61 80 81 100 99 82 79 62 59 42 39 22 19 2

3 18 23 38 43 58 63 78 83 98 97 84 77 64 57 44 37 24 17 4

5 16 25 36 45 56 65 76 85 96 95 86 75 66 55 46 35 26 15 6 14 7 34 27 54 47 74 67 94 87 88 93 68 73 48 53 28 33 8 13 12 9 32 29 52 49 72 69 92 89 91 90 71 70 51 50 31 30 11 10

 (13)

(7)

五、 結語

經過討論, 我們可以看到楊輝幻方與 LUX 法構造的幻方的相似處, 然而楊輝的 《續古摘 奇算法》 是 1275 年成書, LUX 法則是在 20 世紀得到, 中間有近 700 年的時間跨度, 這是 一件很有趣的事情。 我們這裡是用一種啟發式的方法對楊輝幻方進行分析, 不一定是古人最初 構造時的思考步驟, 然而, 從形式上來說二者有相通的地方。 至於古人為何沒有在 《續古摘奇算 法》 中將 6 階幻方構造方法用於構造 10 階幻方則是另一個問題。 鑒於這種跨越古今中外的有 趣聯繫, 我想, 或許本文總結的構造單偶數階幻方的方法可以稱為“楊輝 — 康威方法” (Yang Hui-Conway method)。

參考資料

1. 郭熙漢。 楊輝算法導讀。 湖北教育出版社, 1996。

2. 羅見今。 王文素 《算學寶鑒》 幻圖的組合意義。 數學傳播季刊, 40(2), 45-56, 2016。

3. 吳鶴齡。 幻方及其他 娛樂數學經典名題。 科學出版社, 63-64, 2004。

4. Erickson Martin, Aha! Solutions. MAA Spectrum, 98, 2009.

5. 吳鶴齡。 幻方及其他 娛樂數學經典名題。 科學出版社, 22-23, 2004。

—本文作者為上海華東理工大學金融學系博士生

勘誤 : 40 卷第 3 (159 )

第 86 頁 第 4 行公式中 y0 後方的 「−」 應為 「+」 之誤。

第 86 頁 倒數第 4 行的式子 「A(x1− x0) − B(y1− y0) = 0」 應為 B(x1− x0) − A(y1− y0) = 0 」 之誤。

第 89 頁 第 8 行中的 「By0」 應為 「ByQ」 之誤。

第 90 頁 第 6 行中的 「Ax0」 應為 「AxQ」 之誤。

第 93 頁 第 2 及 4 行式子中的 「√

A2 + b2」 應為 「√

A2+ B2」 之誤。

參考文獻

相關文件

以判斷“有沒有零點”的所謂零點存在性問題 為例, 構造性的討論方法是: 具體 (設計一種 方法) 找出零點來, 說明它是存在的。 非構造 性的討論方法則往往是“反證法”: 假定零點

相 關 (correlation) 函數。 我們將提到因為這 個看法 而導致研究方法改變的一個例子: 即 Donaldson 四維微分結構不變量的研究因 Seiberg-Witten 場論的看法主方程由瞬息 子

人類很早就會利用打結來處理各種生活 上的問 題, 然而結的數學理論卻只有百年的 歷史。 而且, 在這百年之中的絕大部分時間 (1900-1983), 幾乎都是以結的外空間的拓樸 為主 要的研究方法。 1984

孫榮國。 關於全幻方的存在性。

[r]

激勵學生學習的最佳方法是教授以身作則、培養學生成功的經驗、研究群間經常 共同討論、彼此學習我在 1967 年到 68 年間曾在哈佛和賀胥巴哈(Herschbach) 教 授一起做研究工作。在

在這一節裡會提到,即使沒辦法解得實際的解函數,我們也 可以利用方程式藉由圖形(方向場)或者數值上的計算(歐拉法) 來得到逼近的解。..

約西元前一世紀的 《周髀算經》 相傳畢氏定理是商代由商高發現的, 全書第一節就記載著 一個名叫商高的人, 對周公講了這樣一段話: 「折矩以為勾廣三, 股修四, 徑隅五。 既方其外,