• 沒有找到結果。

多項式方程求根的魔術植物栽培算法

N/A
N/A
Protected

Academic year: 2022

Share "多項式方程求根的魔術植物栽培算法"

Copied!
7
0
0

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

全文

(1)

多項式方程求根的魔術植物栽 培算法

王則柯

1974 年 6 月, 第一次不動點 (fixed points) 算法及應用國際會議在美國召開。 歐 洲、 日本和美國的幾十位數學家參加了這次 會議。 美國普林斯頓大學的庫恩 (Harold W.

Kuhn) 教授宣讀了一篇用不動點算法解代數 方程的論文[1], 引起大家很大的興趣。

如所周知, 偉大的數學家高斯在 1799 年首先證明了代數基本定理: 一個 n 次複係 數代數方程有且僅有 n 個根。 可是, 當時他 的證明還不是構造性的, 也就是說, 只肯定根 的存在, 但沒有同時告訴求解的方法。 近二百 年來, 特別是電子計算機問世以來, 人們已經 發展了不少數值求根方法。 這些方法大致上 屬於同一類型: 以迭代為特點。 有些方法還依 賴於根的分布理論。 然而, 庫恩的方法卻是別 開生面的。

一個方形的培養皿, 它的邊緣上長著 n 個新芽 (圖 1)。 還有一個立體的大籬笆, 越往 上越密。 把籬笆放在培養皿上面, 一個數學過 程馬上就要開始了。 隨便你給出一個 n 次複 係數多項式 f (z) = zn+ a1zn−1+ · · ·+ an, 把 f 的信息傳給大籬笆, 於是培養皿上的 n 個新芽如同 n 條生長著的籐一樣, 很快地向 上攀延, 每條籐恰恰指向多項式 f (z) 的一

根, 多項式 f (z) 的 n 個根就全部找到了 (圖 2)。

圖1 三個芽的庫恩培養皿

圖2 庫恩的大籬笆和他的魔術植物 這是數學還是園藝學? 莫非是編神話?

不, 這是庫恩那篇嚴謹的數學論文的真實的 幾何形象。 讓我們仔細看看, 庫恩的培養皿和 大籬笆是怎樣建造的; 多項式 f (z) 的信息是 怎樣傳給大籬笆的; 在這種信息的刺激下, n

1

(2)

上使得 f (z0) = 0 的那些點 z0。 幾何上, w = f (z) 是複平面 C 到另一複平面 C 之間的一個變換, 它的根就是複平面 C 上被 f 變換到複平面 C 的原點的那些點。

庫恩把一系列複平面 C−1, C0, C1, C2, . . . 像摩天大樓面一樣排好, 在上面劃線, 把 它們全部分割成三角形 (圖 3)。 從 C0 開始, 每向上一層, 線的密度就增加一倍, 並且除 C−1 略有不同之外, 其餘各層的剖分規律完 全相同。 庫恩就是要用這些越來越細的三角 形網格, 使多項式的根就範。

圖3

相鄰兩層之間, 按照一定的規則, 連起許 多直的斜的“鋼筋”, 把兩層之間的空間全部 劃分成一個一個四面體。 圖 4 展示了 C−1

之間的一個立方體的剖分情況, 則如圖 6 所 示。 這些剖分規則, 是高度規律性的。

剖分以後, 留下這些“鋼筋骨架”, 就是 庫恩的越往上越密的大籬笆。 (這時我們知道, 圖 2 的籬笆沒有畫出密密麻麻的對角斜線。) 現在, 在 C−1 上取一個邊長 2m 格的 方塊 Qm, 它的邊緣 (記作 ∂Qm) 上有 8m 個頂點。(頂點即網格三角形的頂點。)

(3)

圖7 m = 2(n = 3) 時的培養皿 Qm 及標號 大家知道, 對於每一個複數 z, 它的 n

次冪 zn 還是一個複數。 用三條射線把複平 面 C 分成相等的三個扇形部分 I、II、III (圖 7)。 如果一個頂點所代表的複數 z 的 n 次冪 w = zn 落在 I 裡, 就給這個頂點標號 1; 落 在 II 裡, 就標號 2; 落在 III 裡, 就標號 3。

這樣, 就可以把 C−1 上 Qm 內的頂點全部按 照冪函數 w = zn 標好號。

冪函數 w = zn 把 C 平面上繞原點一 圈的正方形周界, 變成 C平面上繞原點 n 圈 的一條曲線。 所以, 當 m 較大 (m ≥ 3n/2π) 時, ∂Qm 上的頂點, 按照逆時針方向, 只 能循序漸進地標號, 即相鄰頂點標號只能有 1 → 1, 1 → 2, 2 → 2, 2 → 3, 3 → 3, 3 → 1 六種情況, 並且 1 → 2 的稜恰有 n 條, 相應於 C 平面上的曲線由 I 進入 II n 次 (圖 8)。 庫恩在這 n 個 1 → 2 稜的中點 各栽一個芽, 就成了他的培養皿。

圖8

那麼所給的多項式 f (z) 的信息又怎樣 傳給大籬笆呢? 只要對 C0 及 C0 以上每一 層面上每個頂點 z 算一下 f (z), 和上面一樣, 如 f (z) 落在 I, z 就標號 1; 如 f (z) 落在 II, z 有標號 2; 如 f (z) 落在 III, z 就標號

(4)

(在 C−1 上) 是按照 w = zn 標號的, 而大 籬笆 (C0 以上) 是按照 w = f (z) 標號的, 它們的信息是不同的。

圖9 破土前籐的生長情況

現在, 這 n 個芽怎樣生長呢? 看圖9, 庫 恩規定, 從 1 → 2 稜中點開始, 向 Qm裡鑽, 實行“遇到有 1,2 兩個標號的稜就穿過去”的 規則, 尋找具有 1,2,3 三個標號的完全標號三 角形。 如果不遇到完全標號三角形, 籐就要穿 過去, 而 Qm內三角形數目有限, 所以每條籐 一定會到達一個完全標號三角形 (圖 10, 圖 9)。 到達完全標號三角形時, 籐就抬頭出土, 開始向上攀延 (圖 11)。

圖10 籐在 Qm 內的生長

圖11 破土抬頭

向上攀延的規則是: 遇到四面體的完全 標號三角形的側面, 就穿過去, 進入另一個四 面體。 這樣, 一條籐通過一個完全標號三角形 進入一個四面體, 那麼不論第四個頂點如何 標號, 它總可通過另一完全標號三角形穿出 去 (圖 12)。 所以, 籐的生長是無止境的。

圖12 不論第 4 頂點如何標號, 總可穿過 已經出土的籐, 會不會又鑽入泥土 (回 到 C−1) 呢? 可能的。 庫恩規定, 重新入土後, 仍按“遇 1 → 2 稜穿過去”的規則生長, 又總 可找到另一完全標號三角形, 再次抬頭出土。

圖 9 中虛線的一段, 就是重新入土而又重新 出土的一段。

不難證明, 除了有限的曲折往返外, n 條 籐都要不斷向上伸延, 不交叉, 不分叉, 每條 籐指向 f (z) 的一個根。

方法確實妙, 但每條籐指向多項式的一 個根還要說明一下。 我們回過頭來看看, 複平

(5)

面 Ck(k ≥ 0) 上, 完全標號三角形是什麼 意思。 根據標號規則, 它的三個頂點經過變換 f 之後分別落在 I、II、III 三部分, 所以, 變 換後的三點包圍著原點 (圖 13)。 因此, 我們 有理由期望這個完全標號三角形內有一點 z,

被 f 變換到 C 平面的原點: f (z) = 0。 事 實上, 當 k 較大時, 完全標號三角形內有根 的猜想, 在略加修改之後, 是成立的。

圖13 完全標號三角形內可望有一個根

既然籐在完全標號三角形內穿行, 完全 標號三角形內有根, 所以籐與多項式的根的 距離不超過三角形的尺度。 但三角形就是大 籬笆的網眼, 越向上網眼越小, 所以這些籐與 多項式的根就不得不越來越靠近。 取極限, 這 n 條籐就捕捉住多項式的全部 n 個根。

這種方法計算量會不會太大? 前面說過 f 的信息要傳給大籬笆。 若對籬笆上每個頂 點都算一下 f (z), 這還了得? 不必耽心, 我 們的籐是會自動搜索目標的, 只有籐經過的 那些頂點, 才需要把 f (z) 真的算一下。 這些 籐在最下若干層時, 由於 C−1 用 w = zn

號, C0 以上用 w = f (z) 標號, 變動十分劇 烈, 是一個從 zn 向 f (z) 調整的階段。 但以 後, 就幾乎筆直向上生長, 很快就達到很高的 精度 (參看圖 2 )。 圖 14 是計算機追蹤某個 多項式的一個根的計算點列從找到完全標號 三角形起的一段。 我們看到, 經過最初的曲折 摸索之後, 計算點列很快就捕捉住多項式根 的所在, 並迅速向上發展, 亦即向精度發展。

C4 以後, 計算精度就不是我們這個圖所能表 示的了。 我們所說的籐, 就在這座由四面體堆 砌成的玲瓏寶塔中穿行。 所謂籐的生長攀延, 就是計算點列的伸延。

(6)

圖14 一個計算實例, 塔上標號引導計算。 籐在塔內穿行。

我們還看到, 不管具體的 n 次多項式 f (z) 是怎樣的, 只要 n 相同, Qm 就都是 由 w = zn 標號的, 也就是說, 出發點是規範 化的。 這在計算實施方面, 也是頗有意義的。

庫恩的方法, 構思新穎, 幾何形象十分 鮮明。 數學是抽象的, 但它一定是枯燥的嗎?

否。 抽象中有具體, 枯燥的外表下有著生動豐 富的內容。 庫恩的例子就是又一個有力的證 明。

現在我們回到文章的開頭。“不動點”是

什麼意思呢?

我們知道, 一個函數就是數域之間的一 個變換。 如果 g(x) = x, 即 x 通過變換 g 仍變為它自己, 沒有動, x 就叫做 g 的一個 不動點。 數學中許多問題都可作為不動點問 題來處理。 例如, 求一個方程 f (x) = 0 的 根, 就可以化成求 g(x) = f (x) + x 的不動 點, 這是因為 g(x) = x 等價於 f (x) = 0。

不動點理論是拓撲學的一個分支。 中國 青年數學家姜伯駒、 石根華在江澤涵教授的

(7)

指導下, 曾經對這一理論作出貢獻[2]。 關於 不動點的存在, 最早是 1912 年布勞維爾 (Brouwer) 證明了著名的定理: 球體到自身 的連續映射至少有一個不動點。 從那時起, 不 動點定理不僅在純粹數學中是重要的, 而且 成為證明一大類

應用數學問題題解的存在性的有力工具。 但 是直到六十年代初, 還沒有一種有效的算法 能具體求出不動點, 因而往往不能求出那些 應用數學問題的解。

1967 年, 美國耶魯大學的赫伯特·斯卡 弗 (Herbert E. Scarf) 教授作出突破, 提 出一種以有限點列的計算逼近不動點的算法。

自此以後, 不動點算法作為一種有效的計算 方法迅速而廣泛地發展起來, 取得了一系列 成果, 為拓撲學思想應用於實際問題開拓了 一個新方向, 為一系列應用數學問題提供了 新的解法。 值得注意的是不動點算法是在求 解的同時解決解的存在性問題的。 即如庫恩 的例子, 實際上同時就是代數基本定理的一 個構造性的新證明。

不動點算法的要點, 一是“剖分”, 如同 庫恩建造大籬笆要將平面分割成三角形、 將 空間分割為四面體等所謂“單純形”, 剖分是 計算的基礎。 二是“輪迴” (Pivoting), 在 庫恩的例子中, 這種輪迴是通過對單純形 頂點的適當的標號法來實現的, 憑標號引 導 “籐”的生長, 即引導計算點列的伸延。“剖

分”和“輪迴”計算, 是組合拓撲的典型方法。

組合拓撲是拓撲學中古典的部分。 近三四十 年來, 由於微分拓撲與微分方程等問題的深 刻聯繫, 使得微分方法一時成為拓撲學的主 流, 而組合方法卻處於相對冷落之中。“山窮 水盡疑無路, 柳暗花明又一村”, 斯卡弗的不 動點算法出現以來, 組合方法就像結束了冬 眠一樣, 又表現出巨大的生命力來。 就拓撲學 內部來說, 不動點算法的影響也很大。 計算同 調群的程序, 計算拓撲度的算法, 這些原來難 以想像的進展, 已經出現在數學文獻之中, 深 刻地改變著純粹數學的面孔。

理論與應用 , 古典與前沿, 抽象思維與 具體算法, 正在激烈地相互作用著, 這裡, 我 們特別可以看到計算機科學蓬勃發展, 廣泛 滲透對整個數學學科的深刻影響。

參考文獻

[1] Kuhn H. W., Fixed Points. Algorithms and Applications, (ed. Karamar- dian S.), Academic Press (1977), 11- 40。

[2] 江澤涵, 不動點類理論, 科學出版社, 1979。

[3] 王則柯, 單純不動點算法基礎, 中山大學出版 社, 廣州, 1986。

—本文作者任教於廣州中山大學—

參考文獻

相關文件

一、成績計算:以術科實作及面試之原始分數計算,術科實作成績佔 70%,面試成績佔 30% (術 科實作原始分數*70%+面試原始分數*30%,分數四捨五入至小數點第 2

要將變數變換法應用在定積分上,有兩種計算方法。其中的 一種便是先計算出不定積分,在利用微積分基本定理計算其

在中學時期, 求方程式是代數學上面的重要課題。 在一元方程式方面, 我們學會了利用公 式求一元一次、 二次方程式的解, 也知道它們的圖形是直線或拋物線。 在圖形是曲線的一元三次 以上的方

在高中的基礎數學教材中, 有許多主要單元, 都是以相似三角形邊長成比例的性質, 為理 論的根源。 例如: 三角函數的定義、 求直線方程式以及內插法等。 筆者在高中服務了一些時日,

一、 重积分计算的基本方法 二、重积分计算的基本技巧 三、重积分的应用.. 重积分的

一、 曲线积分的计算法

如圖,斜線部分的面積為 37 平方公分,試求正方形

*小咪的長方形零錢 包,周長是28公分,請 找出小咪的零錢包。 *請找出面積是16 平方公分的圖形。 *請找出面積是8平 方公分且周長是12公 分的圖形。 *老爺爺拿出一條長18