秦九韶演演算法
一種多項式簡化算
秦九韶演演算法是中國南宋時期的數學家秦九韶提出的一種多項式簡化演演算法。在西方被稱作霍納演演算法。秦九韶(約公元1202年-1261年),字道古,南宋末年人,出生於魯郡(今山東曲阜一帶人)。
早年曾從隱君子學數術,后因其父往四川做官,即隨父遷徙,也認為是普州安岳(今四川安岳縣)人。
秦九韶聰敏勤學,宋紹定四年(公元1231),秦九韶考中進士,先後擔任縣尉、通判、參議官、州守等職。先後在湖北、安徽、江蘇、浙江等地做官。南宋理宗景定元年(公元1260年)出任梅州太守,翌年卒於梅州。據史書記載,他“性及機巧,星象、音律、算術以至營造無不精究”,還嘗從李梅亭學詩詞。他在政務之餘,以數學為主線進行潛心鑽研,且應用範圍至為廣泛:天文曆法、水利水文、建築、測繪、農耕、軍事、商業金融等方面。
秦九韶是我國古代數學家的傑出代表之一,他的《數書九章》概括了宋元時期中國傳統數學的主要成就,尤其是系統總結和發展了高次方程的數值解法與一次同餘問題的解法,提出了相當完備的“正負開方術”和“大衍求一術”。對數學發展產生了廣泛的影響。
秦九韶是一位既重視理論又重視實踐,既善於繼承又勇於創新的科學家,他被國外科學史家稱為是“他那個民族,那個時代,並且確實也是所有時代最偉大的數學家之一。
秦九韶演演算法是一種將一元n次多項式的求值問題轉化為n個一次式的演演算法。其大大簡化了計算過程,即使在現代,利用計算機解決多項式的求值問題時,秦九韶演演算法依然是最優的演演算法。
在西方被稱作霍納演演算法,是以英國數學家霍納命名的。
一般地,一元n次多項式的求值需要經過次乘法和n次加法,而秦九韶演演算法只需要n次乘法和n次加法。在人工計算時,一次大大簡化了運算過程。
把一個n次多項式
改寫成如下形式:
求多項式的值時,首先計算最內層括弧內一次多項式的值,即
然後由內向外逐層計算一次多項式的值,即
這樣,求n次多項式f(x)的值就轉化為求n個一次多項式的值。
結論:對於一個n次多項式,至多做n次乘法和n次加法。
秦九韶演演算法
全書不但在數量上取勝,重要的是在質量上也是拔尖的。從歷史上來看,秦九韶的《數書九章》可與《九章算術》相媲美;從世界範圍來看,秦九韶的《數書九章》也不愧為世界數學名著。
他在《數書九章》序言中說,數學“大則可以通神明,順性命;小則可以經世務,類萬物”。所謂“通神明”,即往來於變化莫測的事物之間,明察其中的奧秘;“順性命”,即順應事物本性及其發展規律。在秦九韶看來,數學不僅是解決實際問題的工具,而且應該達到“通神明,順性命”的崇高境界。
秦九韶紀念館
19世紀初,英國數學家威廉·喬治·霍納重新發現並證明,後世稱作霍納演演算法(Horner's method、Horner scheme)。但是,19世紀英國傳教士偉烈亞力Alexander Wylie. (1815–1887) 最早對霍納的發明權提出質疑。他在1852年著的《中國科學扎記》(Jottings on the Science of the Chinese)一篇論文中,詳細介紹秦九韶的正負開方術之後寫道“讀者不難認出這就是霍納在1819年因為發表《解所有次方程》論文,被數學家奧古斯都·德·摩根評為‘必使其發明人因發現此演演算法而置身於重要發明家之列’的方法;我以為應該對霍納的發明權提出辯駁。歐洲的朋友們可能會覺得意外,一位來自天朝帝國的競爭者,有更大的機會確立他的優先權”。此後,日本數學史家三上義夫在《中日數學史》一書中在詳述秦九韶的正負開方術后寫道:“誰能否認,霍納的輝煌方法,至少在早於歐洲六百年之前,已經在中國運用了。”。三上義夫還最先指出,秦九韶演演算法起源於漢代《九章算術》的開方法。其後王玲和李約瑟有專文論述秦九韶演演算法起源於《九章算術》。前蘇聯數學史家尤什克維奇說“這是中國傳統數學最偉大成就之一”,他還說印度人不知有此方法,而阿拉伯數學家可能從中國前人傳入此方法。
下面以自今到古的順序,列出早在霍納之前對該演演算法的發現:
• 1809年,保羅·魯菲尼
• 1669年,艾薩克·牛頓(但缺乏詳細引文)
• 14世紀,中國數學家朱世傑
• 13世紀,中國數學家秦九韶在《數書九章》中
• 12世紀,波斯的伊斯蘭數學家薩拉夫·丁·圖西
• 11世紀(宋朝),中國數學家賈憲
霍納在1819年發表的《解所有次方程》論文中的算例,其演演算法程序和數字處理都遠不及五百多年前的秦九韶有條理;秦九韶演演算法不僅在時間上早於霍納,也比較成熟。
元代數學家李冶和朱世傑繼承了秦九韶演演算法。