當前位置:首頁 » 操作系統 » 霍納演算法原理

霍納演算法原理

發布時間: 2022-06-21 20:38:42

㈠ 秦九韶演算法在西方叫什麼

秦九韶演算法在西方被稱作霍納演算法(Horner algorithm或Horner scheme),是以英國數學家威廉·喬治·霍納命名的.
把一個n次多項式f(x)=a[n]x^n+a[n-1]x^(n-1)+......+a[1]x+a[0]改寫成如下形式:
f(x)=a[n]x^n+a[n-1]x^(n-1))+......+a[1]x+a[0]
=(a[n]x^(n-1)+a[n-1]x^(n-2)+......+a[1])x+a[0]
=((a[n]x^(n-2)+a[n-1]x^(n-3)+......+a[2])x+a[1])x+a[0]
=......
=(......((a[n]x+a[n-1])x+a[n-2])x+......+a[1])x+a[0].
求多項式的值時,首先計算最內層括弧內一次多項式的值,即
v[1]=a[n]x+a[n-1]
然後由內向外逐層計算一次多項式的值,即
v[2]=v[1]x+a[n-2]
v[3]=v[2]x+a[n-3]
......
v[n]=v[n-1]x+a[0]
這樣,求n次多項式f(x)的值就轉化為求n個一次多項式的值。
(註:中括弧里的數表示下標)
結論:對於一個n次多項式,至多做n次乘法和n次加法。 [編輯本段]意義該演算法看似簡單,其最大的意義在於將求n次多項式的值轉化為求n個一次多項式的值。在人工計算時,利用秦九韶演算法和其中的系數表可以大幅簡化運算;對於計算機程序演算法而言,加法比乘法的計算效率要高很多,因此該演算法仍有極大的意義,對於計算機來說,做一次乘法運算所用的時間比作一次加法運算要長得多,所以此演算法極大地縮短了CPU運算時間。
(附:計算機程序)
INPUT 「n=」;n
INPUT 「an=」;a
INPUT 「x=」;x
v=a
i=n-1
WHILE i>=0
PRINT 「i=」;i
INPUT 「ai=」;a
v=v*x+a
i=i-1
WEND
PRINT v
END [編輯本段]PASCAL演算法實現v[1]:=a[n]*k+a[n-1];
for i:=2 to n do
v[i]:=v[i-1]*k+a[n-i];
writeln(v[n]);

㈡ 什麼是秦九韶演算法

秦九韶演算法是中國南宋時期的數學家秦九韶提出的一種多項式簡化演算法。在西方被稱作霍納演算法。
一般地,一元n次多項式的求值需要經過[n(n+1)]/2次乘法和n次加法,而秦九韶演算法只需要n次乘法和n次加法。在人工計算時,一次大大簡化了運算過程。
把一個n次多項式

改寫成如下形式:

求多項式的值時,首先計算最內層括弧內一次多項式的值,即

然後由內向外逐層計算一次多項式的值,即

這樣,求n次多項式f(x)的值就轉化為求n個一次多項式的值。
結論:對於一個n次多項式,至多做n次乘法和n次加法。[2] (當最高次項系數不為1時分別為n次乘法和n次加法 ,當最高次項系數為1時,分別為n-1 次乘法 ,n次加法。)

㈢ horner法則

。。。。。。演算法如下。
poly = 0;
poly(i=N; i>=0; i--)
poly = x * poly + A[i];

㈣ 霍納法在中國古代稱為什麼

中國秦九昭著數學九章,創立解一次同餘式的大衍求一術和求高次方程數值解的正負開方數,相當於西方的霍納法。

㈤ 秦九韶演算法公式是什麼

一般地,一元n次多項式的求值需要經過(n+1)*n/2次乘法和n次加法,而秦九韶演算法只需要n次乘法和n次加法。在人工計算時,一次大大簡化了運算過程。

把一個n次多項式:

相關貢獻

秦九韶演算法是一種將一元n次多項式的求值問題轉化為n個一次式的演算法。其大大簡化了計算過程,即使在現代,利用計算機解決多項式的求值問題時,秦九韶演算法依然是最優的演算法。

在西方被稱作霍納演算法,是以英國數學家霍納命名的。

㈥ 秦九韶演算法幾次乘法幾次加法

秦九韶演算法 秦九韶演算法是中國南宋時期的數學家秦九韶提出的一種多項式簡化演算法。在西方被稱作霍納演算法(Horner algorithm或Horner scheme),是以英國數學家威廉·喬治·霍納命名的.
把一個n次多項式f(x)=a[n]x^n+a[n-1]x^(n-1)+......+a[1]x+a[0]改寫成如下形式:
f(x)=a[n]x^n+a[n-1]x^(n-1))+......+a[1]x+a[0]
=(a[n]x^(n-1)+a[n-1]x^(n-2)+......+a[1])x+a[0]
=((a[n]x^(n-2)+a[n-1]x^(n-3)+......+a[2])x+a[1])x+a[0]
=......
=(......((a[n]x+a[n-1])x+a[n-2])x+......+a[1])x+a[0].
求多項式的值時,首先計算最內層括弧內一次多項式的值,即
v[1]=a[n]x+a[n-1]
然後由內向外逐層計算一次多項式的值,即
v[2]=v[1]x+a[n-2]
v[3]=v[2]x+a[n-3]
......
v[n]=v[n-1]x+a[0]
這樣,求n次多項式f(x)的值就轉化為求n個一次多項式的值。
(註:中括弧里的數表示下標)
結論:對於一個n次多項式,至多做n次乘法和n次加法。

㈦ 秦九韶演算法

秦九韶演算法是一種將一元n次多項式的求值問題轉化為n個一次式的演算法。其大大簡化了計

秦九韶演算法
算過程,即使在現代,利用計算機解決多項式的求值問題時,秦九韶演算法依然是最優的演算法。
在西方被稱作霍納演算法,是以英國數學家霍納命名的。
編輯本段秦九韶簡介
秦九韶(約公元1202年-1261年),字道古,南宋末年人,出生於魯郡(今山東曲阜一帶人)。早年曾從隱君子學數術,後因其父往四川做官,即隨父遷徙,也認為是普州安岳(今四川安岳縣)人。秦九韶與李冶、楊輝、朱世傑並稱宋元數學四大家。(安岳縣於1998年9月正式開工建設秦九韶紀念館,2000年12月竣工落成。)
秦九韶聰敏勤學,宋紹定四年(公元1231),秦九韶考中進士,先後擔任縣尉、通判、參議官、州守等職。先後在湖北、安徽、江蘇、浙江等地做官。南宋理宗景定元年(公元1260年)出任梅州(今廣東梅縣)守,翌年卒於梅州。據史書記載,他「性及機巧,星象、音律、算術以至營造無不精究」,還嘗從李梅亭學詩詞。他在政務之餘,以數學為主線進行潛心鑽研,且應用范圍至為廣泛:天文歷法、水利水文、建築、測繪、農耕、軍事、商業金融等方面。
秦九韶是我國古代數學家的傑出代表之一,他的《數書九章》概括了宋元時期中國傳統數學的主要成就,尤其是系統總結和發展了高次方程的數值解法與一次同餘問題的解法,提出了相當完備的「正負開方術」和「大衍求一術」。對數學發展產生了廣泛的影響。
秦九韶是一位既重視理論又重視實踐,既善於繼承又勇於創新的科學家,他被國外科學史家稱為是「他那個民族,那個時代,並且確實也是所有時代最偉大的數學家之一。
編輯本段數書九章
宋淳祜四至七年(公元1244至1247),秦九韶在湖州為母親守孝三年期間,把長期積累的數學知識和研究所得加以編輯,寫成了舉世聞名的數學巨著《數書九章》。 書成後,並未出版。原稿幾乎流失,書名也不確切。後歷經宋、元,到明建國,此書無人問津,直到明永樂年間,在解縉主編《永樂大典》時,記書名為《數學九章》。又經過一百多年,經王應麟抄錄後,由王修改為《數書九章》。
全書不但在數量上取勝,重要的是在質量上也是拔尖的。從歷史上來看,秦九韶的《數

秦九韶紀念館
書九章》可與《九章算術》相媲美;從世界范圍來看,秦九韶的《數書九章》也不愧為世界數學名著。
他在《數書九章》序言中說,數學「大則可以通神明,順性命;小則可以經世務,類萬物」。所謂「通神明」,即往來於變化莫測的事物之間,明察其中的奧秘;「順性命」,即順應事物本性及其發展規律。在秦九韶看來,數學不僅是解決實際問題的工具,而且應該達到「通神明,順性命」的崇高境界。
《數書九章》全書共九章九類,十八卷,每類9題共計81個算題。該書著述方式,大多由「問曰」、「答曰」、「術曰」、「草曰」四部分組成:「問曰」,是從實際生活中提出問題;「答曰」,是給出答案;「術曰」,是闡述解題原理與步驟;「草曰」,是給出詳細的解題過程。另外,每類下還有頌詞,詞簡意賅,用來記述本類算題主要內容、與國計民生的關系及其解題思路等。
編輯本段秦九韶演算法
一般地,一元n次多項式的求值需要經過[n(n+1)]/2次乘法和n次加法,而秦九韶演算法只需要n次乘法和n次加法。在人工計算時,一次大大簡化了運算過程。特別是在現代,在使用計算機解決數學問題時,對於計算機程序演算法而言秦九韶演算法可以以更快的速度得到結果,減少了CPU運算時間。
把一個n次多項式f(x)=a[n]x^n+a[n-1]x^(n-1)+......+a[1]x+a[0]改寫成如下形

秦九韶

f(x)=a[n]x^n+a[n-1]x^(n-1)+......+a[1]x+a[0]
=(a[n]x^(n-1)+a[n-1]x^(n-2)+......+a[1])x+a[0]
=((a[n]x^(n-2)+a[n-1]x^(n-3)+......+a[2])x+a[1])x+a[0]
=......
=(......((a[n]x+a[n-1])x+a[n-2])x+......+a[1])x+a[0].
求多項式的值時,首先計算最內層括弧內一次多項式的值,即
v[0]=a[n]
v[1]=a[n]x+a[n-1]
然後由內向外逐層計算一次多項式的值,即
v[2]=v[1]x+a[n-2]
v[3]=v[2]x+a[n-3]
......
v[n]=v[n-1]x+a[0]
這樣,求n次多項式f(x)的值就轉化為求n個一次多項式的值。
(註:中括弧里的數表示下標)
結論:對於一個n次多項式,至多做n次乘法和n次加法。
編輯本段意義
該演算法看似簡單,其最大的意義在於將求n次多項式的值轉化為求n個一次多項式的值。在人工計算時,利用秦九韶演算法和其中的系數表可以大幅簡化運算;對於計算機程序演算法而言,加法比乘法的計算效率要高很多,因此該演算法仍有極大的意義,對於計算機來說,做一次乘法運算所用的時間比作一次加法運算要長得多,所以此演算法極大地縮短了CPU運算時間。
(附:計算機程序)
INPUT 「n=」;n
INPUT 「an=」;a
INPUT 「x=」;x
v=a
i=n-1
WHILE i>=0
PRINT 「i=」;i
INPUT 「ai=」;a
v=v*x+a
i=i-1
WEND
PRINT v
END
編輯本段PASCAL演算法實現
v[1]:=a[n]*k+a[n-1];
for i:=2 to n do
v[i]:=v[i-1]*k+a[n-i];
writeln(v[n]);

㈧ 秦九韶演算法 乘方 乘法 加法 各算幾次

秦九韶演算法
秦九韶演算法是中國南宋時期的數學家秦九韶提出的一種多項式簡化演算法。在西方被稱作霍納演算法(horner
algorithm或horner
scheme),是以英國數學家威廉·喬治·霍納命名的.
把一個n次多項式f(x)=a[n]x^n+a[n-1]x^(n-1)+......+a[1]x+a[0]改寫成如下形式:
f(x)=a[n]x^n+a[n-1]x^(n-1))+......+a[1]x+a[0]
=(a[n]x^(n-1)+a[n-1]x^(n-2)+......+a[1])x+a[0]
=((a[n]x^(n-2)+a[n-1]x^(n-3)+......+a[2])x+a[1])x+a[0]
=......
=(......((a[n]x+a[n-1])x+a[n-2])x+......+a[1])x+a[0].
求多項式的值時,首先計算最內層括弧內一次多項式的值,即
v[1]=a[n]x+a[n-1]
然後由內向外逐層計算一次多項式的值,即
v[2]=v[1]x+a[n-2]
v[3]=v[2]x+a[n-3]
......
v[n]=v[n-1]x+a[0]
這樣,求n次多項式f(x)的值就轉化為求n個一次多項式的值。
(註:中括弧里的數表示下標)
結論:對於一個n次多項式,至多做n次乘法和n次加法。
乘方是n=2,最多算兩次。

㈨ 數學論文

1 中國古代數學的發展

在古代世界四大文明中,中國數學持續繁榮時期最為長久。從公元前後至公元14世紀,中國古典數學先後經歷了三次發展高潮,即兩漢時期、魏晉南北朝時期和宋元時期,並在宋元時期達到頂峰。

與以證明定理為中心的希臘古典數學不同,中國古代數學是以創造演算法特別是各種解方程的演算法為主線。從線性方程組到高次多項式方程,乃至不定方程,中國古代數學家創造了一系列先進的演算法(中國數學家稱之為「術」),他們用這些演算法去求解相應類型的代數方程,從而解決導致這些方程的各種各樣的科學和實際問題。特別是,幾何問題也歸結為代數方程,然後用程式化的演算法來求解。因此,中國古代數學具有明顯的演算法化、機械化的特徵。以下擇要舉例說明中國古代數學發展的這種特徵。

1.1 線性方程組與「方程術」

中國古代最重要的數學經典《九章算術》(約公元前2世紀)卷8的「方程術」,是解線性方程組的演算法。以該卷第1題為例,用現代符號表述,該問題相當於解一個三元一次方程組:

3x+2y+z=39

2x+3y+z=34

x+2y+3z=26

《九章》沒有表示未知數的符號,而是用算籌將x�y�z的系數和常數項排列成一個(長)方陣:

1 2 3

2 3 2

3 1 1

26 34 39

「方程術」的關鍵演算法叫「遍乘直除」,在本例中演算程序如下:用右行(x)的系數(3)「遍乘」中行和左行各數,然後從所得結果按行分別「直除」右行,即連續減去右行對應各數,就將中行與左行的系數化為0。反復執行這種「遍乘直除」演算法,就可以解出方程。很清楚,《九章算術》方程術的「遍乘直除」 演算法,實質上就是我們今天所使用的解線性方程組的消元法,以往西方文獻中稱之為「高斯消去法」,但近年開始改變稱謂,如法國科學院院士、原蘇黎世大學數學系主任P.Gabriel教授在他撰寫的教科書[4]中就稱解線性方程組的消元法為「張蒼法」,張蒼相傳是《九章算術》的作者之一。

1.2 高次多項式方程與「正負開方術」

《九章算術》卷4中有「開方術」和「開立方術」。《九章算術》中的這些演算法後來逐步推廣到開更高次方的情形,並且在宋元時代發展為一般高次多項式方程的數值求解。秦九韶是這方面的集大成者,他在《數書九章》(1247年)一書中給出了高次多項式方程數值解的完整演算法,即他所稱的「正負開方術」。

用現代符號表達,秦九韶「正負開方術」的思路如下:對任意給定的方程

f(x)=a0xn+a1xn-1+……+an-2x2+an-1x+an=0 (1)

其中a0≠0,an<0,要求(1)式的一個正根。秦九韶先估計根的最高位數字,連同其位數一起稱為「首商」,記作c,則根x=c+h,代入(1)得

f(c+h)=a0(c+h)n+a1(c+h)n-1+……+an-1(c+h)+an=0

按h的冪次合並同類項即得到關於h的方程:

f(h)=a0hn+a1hn-1+……+an-1h+an=0 (2)

於是又可估計滿足新方程(2)的根的最高位數字。如此進行下去,若得到某個新方程的常數項為0,則求得的根是有理數;否則上述過程可繼續下去,按所需精度求得根的近似值。

如果從原方程(1)的系數a0,a1,…,an及估值c求出新方程(2)的系數a0,a1,…,an的演算法是需要反復迭代使用的,秦九韶給出了一個規格化的程序,我們可稱之為「秦九韶程序」, 他在《數書九章》中用這一演算法去解決各種可以歸結為代數方程的實際問題,其中涉及的方程最高次數達到10次,秦九韶解這些問題的演算法整齊劃一,步驟分明,堪稱是中國古代數學演算法化、機械化的典範。

1.3 多元高次方程組與「四元術」

絕不是所有的問題都可以歸結為線性方程組或一個未知量的多項式方程來求解。實際上,可以說更大量的實際問題如果能化為代數方程求解的話,出現的將是含有多個未知量的高次方程組。

多元高次方程組的求解即使在今天也絕非易事。歷史上最早對多元高次方程組作出系統處理的是中國元代數學家朱世傑。朱世傑的《四元玉鑒》(1303年)一書中涉及的高次方程達到了4個未知數。朱世傑用「四元術」來解這些方程。「四元術」首先是以「天」、「地」、「人」、「物」來表示不同的未知數,同時建立起方程式,然後用順序消元的一般方法解出方程。朱世傑在《四元玉鑒》中創造了多種消元程序。

通過《四元玉鑒》中的具體例子可以清晰地了解朱世傑「四元術」的特徵。值得注意的是,這些例子中相當一部分是由幾何問題導出的。這種將幾何問題轉化為代數方程並用某種統一的演算法求解的例子,在宋元數學著作中比比皆是,充分反映了中國古代幾何代數化和機械化的傾向。

1.4 一次同餘方程組與「中國剩餘定理」

中國古代數學家出於歷法計算的需要,很早就開始研究形如:

X≡Ri (mod ai) i=1,2,...,n (1)

(其中ai 是兩兩互素的整數)的一次同餘方程組求解問題。公元4世紀的《孫子算經》中已有相當於求解下列一次同餘組的著名的「孫子問題」:

X≡2(mod3) ≡3(mod5) ≡2(mod7)

《孫子算經》作者給出的解法,引導了宋代秦九韶求解一次同餘組的一般演算法——「大衍求一術」。現代文獻中通常把這種一般演算法稱為「中國剩餘定理」。

1.5 插值法與「招差術」

插值演算法在微積分的醞釀過程中扮演了重要角色。在中國,早從東漢時期起,學者們就慣用插值法來推算日月五星的運動。起初是簡單的一次內插法,隋唐時期出現二次插值法(如一行《大衍歷》,727年)。由於天體運動的加速度也不均勻,二次插值仍不夠精密。隨著歷法的進步,到了宋元時代,便產生了三次內插法(郭守敬《授時歷》,1280年)。在此基礎上,數學家朱世傑更創造出一般高次內插公式,即他所說的「招差術」。 朱世傑的公式相當於

f(n)=n△+ n(n�1)△2+ n(n�1)(n�2)△3

+ n(n�1)(n�2)(n�3)△4+……

這是一項很突出的成就。

這里不可能一一列舉中國古代數學家的所有演算法,但僅從以上介紹不難看到,古代與中世紀中國數學家創造的演算法,有許多即使按現代標准衡量也達到了很高的水平。這些演算法所表達的數學真理,有的在歐洲直到18世紀以後依賴近代數學工具才重新獲得(如前面提到的高次代數方程數值求解的秦九韶程序,與1819年英國數學家W. 霍納重新導出的「霍納演算法」基本一致;多元高次方程組的系統研究在歐洲也要到18世紀末才開始在E. 別朱等人的著作中出現;解一次同餘組的剩餘定理則由歐拉與高斯分別獨立重新獲得;至於朱世傑的高次內插公式,實質上已與現在通用的牛頓-格列高里公式相一致)。這些演算法的結構,其復雜程度也是驚人的。如對秦九韶「大衍求一術」和「正負開方術」的分析表明,這些演算法的計算程序,包含了現代計算機語言中構造非平易演算法的基本要素與基本結構。這類復雜的演算法,很難再僅僅被看作是簡單的經驗法則了,而是高度的概括思維能力的產物,這種能力與歐幾里得幾何的演繹思維風格截然不同,但卻在數學的發展中起著完全可與之相媲美的作用。事實上,古代中國演算法的繁榮,同時也孕育了一系列極其重要的概念,顯示了演算法化思維在數學進化中的創造意義和動力功能。以下亦舉幾例。

1.6 負數的引進

《九章算術》「方程術」的消元程序,在方程系數相減時會出現較小數減較大數的情況,正是在這里,《九章算術》的作者們引進了負數,並給出了正、負數的加減運演算法則,即「正負術」。

對負數的認識是人類數系擴充的重大步驟。公元7世紀印度數學家也開始使用負數,但負數的認識在歐洲卻進展緩慢,甚至到16世紀,韋達的著作還迴避負數。

1.7 無理數的發現

中國古代數學家在開方運算中接觸到了無理數。《九章算術》開方術中指出了存在有開不盡的情形:「若開方不盡者,為不可開」,《九章算術》的作者們給這種不盡根數起了一個專門名詞——「面」。「面」,就是無理數。與古希臘畢達哥拉斯學派發現正方形的對角線不是有理數時驚慌失措的表現相比,中國古代數學家卻是相對自然地接受了那些「開不盡」的無理數,這也許應歸功於他們早就習慣使用的十進位制,這種十進位制使他們能夠有效地計算「不盡根數」的近似值。為《九章算術》作注的三國時代數學家劉徽就在「開方術」注中明確提出了用十進制小數任意逼近不盡根數的方法,他稱之為「求微數法」,並指出在開方過程中,「其一退以十為步,其再退以百為步,退之彌下,其分彌細,則……雖有所棄之數,不足言之也」。

十進位值記數制是對人類文明不可磨滅的貢獻。法國大數學家拉普拉斯曾盛贊十進位值制的發明,認為它「使得我們的算術系統在所有有用的創造中成為第一流的」。中國古代數學家正是在嚴格遵循十進位制的籌算系統基礎上,建立起了富有演算法化特色的東方數學大廈。

1.8 賈憲三角或楊輝三角

從前面關於高次方程數值求解演算法(秦九韶程序)的介紹我們可以看到,中國古代開方術是以�c+hn的二項展開為基礎的,這就引導了二項系數表的發現。南宋數學家楊輝著《詳解九章演算法》(1261年)中,載有一張所謂「開方作法本源圖」,實際就是一張二項系數表。這張圖摘自公元1050年左右北宋數學家賈憲的一部著作。「開方作法本源圖」現在就叫「賈憲三角」或「楊輝三角」。二項系數表在西方則叫「帕斯卡三角」�1654年。

1.9 走向符號代數

解方程的數學活動,必然引起人們對方程表達形式的思考。在這方面,以解方程擅長的中國古代數學家們很自然也是走在了前列。在宋元時期的數學著作中,已出現了用特定的漢字作為未知數符號並進而建立方程的系統努力。這就是以李冶為代表的「天元術」和以朱世傑為代表的「四元術」。所謂「天元術」,首先是「立天元一為某某」,這相當於「設為某某」,「天元一」就表示未知數,然後在籌算盤上布列「天元式」,即一元方程式。該方法被推廣到多個未知數情形,就是前面提到的朱世傑的「四元術」。因此,用天元術和四元術列方程的方法,與現代代數中的列方程法已相類似。

符號化是近世代數的標志之一。中國宋元數學家在這方面邁出了重要一步,「天元術」和「四元術」,是以創造演算法特別是解方程的演算法為主線的中國古代數學的一個高峰�。

2 中國古代數學對世界數學發展的貢獻

數學的發展包括了兩大主要活動:證明定理和創造演算法。定理證明是希臘人首倡,後構成數學發展中演繹傾向的脊樑;演算法創造昌盛於古代和中世紀的中國、印度,形成了數學發展中強烈的演算法傾向。統觀數學的歷史將會發現,數學的發展並非總是演繹傾向獨占鰲頭。在數學史上,演算法傾向與演繹傾向總是交替地取得主導地位。古代巴比倫和埃及式的原始演算法時期,被希臘式的演繹幾何所接替,而在中世紀,希臘數學衰落下去,演算法傾向在中國、印度等東方國度繁榮起來;東方數學在文藝復興前夕通過阿拉伯傳播到歐洲,對近代數學興起產生了深刻影響。事實上,作為近代數學誕生標志的解析幾何與微積分,從思想方法的淵源看都不能說是演繹傾向而是演算法傾向的產物。

從微積分的歷史可以知道,微積分的產生是尋找解決一系列實際問題的普遍演算法的結果�6�。這些問題包括:決定物體的瞬時速度、求極大值與極小值、求曲線的切線、求物體的重心及引力、面積與體積計算等。從16世紀中開始的100多年間,許多大數學家都致力於獲得解決這些問題的特殊演算法。牛頓與萊布尼茲的功績是在於將這些特殊的演算法統一成兩類基本運算——微分與積分,並進一步指出了它們的互逆關系。無論是牛頓的先驅者還是牛頓本人,他們所使用的演算法都是不嚴格的,都沒有完整的演繹推導。牛頓的流數術在邏輯上的瑕疵更是眾所周知。對當時的學者來說,首要的是找到行之有效的演算法,而不是演算法的證明。這種傾向一直延續到18世紀。18世紀的數學家也往往不管微積分基礎的困難而大膽前進。如泰勒公式,歐拉、伯努利甚至19世紀初傅里葉所發現的三角展開等,都是在很長時期內缺乏嚴格的證明。正如馮·諾伊曼指出的那樣:沒有一個數學家會把這一時期的發展看作是異端邪道;這個時期產生的數學成果被公認為第一流的。並且反過來,如果當時的數學家一定要在有了嚴密的演繹證明之後才承認新演算法的合理性,那就不會有今天的微積分和整個分析大廈了。

現在再來看一看更早的解析幾何的誕生。通常認為,笛卡兒發明解析幾何的基本思想,是用代數方法來解幾何問題。這同歐氏演繹方法已經大相徑庭了。而事實上如果我們去閱讀笛卡兒的原著,就會發現貫穿於其中的徹底的演算法精神。《幾何學》開宗明義就宣稱:「我將毫不猶豫地在幾何學中引進算術的術語,以便使自己變得更加聰明」。眾所周知,笛卡兒的《幾何學》是他的哲學著作《方法論》的附錄。笛卡兒在他另一部生前未正式發表的哲學著作《指導思維的法則》(簡稱《法則》)中曾強烈批判了傳統的主要是希臘的研究方法,認為古希臘人的演繹推理只能用來證明已經知道的事物,「卻不能幫助我們發現未知的事情」。因此他提出「需要一種發現真理的方法」,並稱之為「通用數學」(mathesis universakis)。笛卡兒在《法則》中描述了這種通用數學的藍圖,他提出的大膽計劃,概而言之就是要將一切科學問題轉化為求解代數方程的數學問題:

任何問題→數學問題→代數問題→方程求解而笛卡兒的《幾何學》,正是他上述方案的一個具體實施和示範,解析幾何在整個方案中扮演著重要的工具作用,它將一切幾何問題化為代數問題,這些代數問題則可以用一種簡單的、幾乎自動的或者毋寧說是機械的方法去解決。這與上面介紹的古代中國數學家解決問題的路線可以說是一脈相承。

因此我們完全有理由說,在從文藝復興到17世紀近代數學興起的大潮中,回響著東方數學特別是中國數學的韻律。整個17—18世紀應該看成是尋求無窮小演算法的英雄年代,盡管這一時期的無窮小演算法與中世紀演算法相比有質的飛躍。而從19世紀特別是70年代直到20世紀中,演繹傾向又重新在比希臘幾何高得多的水準上占據了優勢。因此,數學的發展呈現出演算法創造與演繹證明兩大主流交替繁榮、螺旋式上升過程:

演繹傳統——定理證明活動

演算法傳統——演算法創造活動

中國古代數學家對演算法傳統的形成與發展做出了毋容置疑的巨大貢獻。

我們強調中國古代數學的演算法傳統,並不意味中國古代數學中沒有演繹傾向。事實上,在魏晉南北朝時期一些數學家的工作中,已出現具有相當深度的論證思想。如趙爽勾股定理證明、劉徽「陽馬」�一種長方錐體體積證明、祖沖之父子對球體積公式的推導等等,均可與古希臘數學家相應的工作媲美。趙爽勾股定理證明示意圖「弦圖」原型,已被採用作2002年國際數學家大會會標。令人迷惑的是,這種論證傾向隨著南北朝的結束,可以說是戛然而止。囿於篇幅和本文重點,對這方面的內容這里不能詳述,有興趣的讀者可參閱參考文獻�3�。

3 古為今用,創新發展

到了20世紀,至少從中葉開始,電子計算機的出現對數學的發展帶來了深遠影響,並孕育出孤立子理論、混沌動力學、四色定理證明等一系列令人矚目的成就。藉助計算機及有效的演算法猜測發現新事實、歸納證明新定理乃至進行更一般的自動推理……,這一切可以說已揭開了數學史上一個新的演算法繁榮時代的偉大序幕。科學界敏銳的有識之士紛紛預見到數學發展的這一趨勢。在我國,早在上世紀50年代,華羅庚教授就親自領導建立了計算機研製組,為我國計算機科學和數學的發展奠定了基礎。吳文俊教授更是從70年代中開始,毅然由原先從事的拓撲學領域轉向定理機器證明的研究,並開創了現代數學的嶄新領域——數學機械化。被國際上譽為「吳方法」的數學機械化方法已使中國在數學機械化領域處於國際領先地位,而正如吳文俊教授本人所說:「幾何定理證明的機械化問題,從思維到方法,至少在宋元時代就有蛛絲馬跡可尋,」他的工作「主要是受中國古代數學的啟發」。「吳方法」,是中國古代數學演算法化、機械化精髓的發揚光大。

計算機影響下演算法傾向的增長,自然也引起一些外國學者對中國古代數學中演算法傳統的興趣。早在上世紀70年代初,著名的計算機科學家D.E.Knuth就呼籲人們關注古代中國和印度的演算法�5�。多年來這方面的研究取得了一定進展,但總的來說還亟待加強。眾所周知,中國古代文化包括數學是通過著名的絲綢之路向西方傳播的,而阿拉伯地區是這種文化傳播的重要中轉站。現存有些阿拉伯數學與天文著作中包含有一定的中國數學與天文學知識,如著名的阿爾·卡西《算術之鑰》一書中有相當數量的數學問題顯示出直接或間接的中國來源,而根據阿爾·卡西本人記述,他所工作的天文台中就有不少來自中國的學者。

然而長期以來由於「西方中心論」特別是「希臘中心論」的影響以及語言文字方面的障礙,有關資料還遠遠沒有得到發掘。正是為了充分揭示東方數學與歐洲數學復興的關系,吳文俊教授特意從他榮獲的國家最高科學獎中撥出專款成立了「吳文俊數學與天文絲路基金」,鼓勵支持年輕學者深入開展這方面的研究,這是具有深遠意義之舉。

研究科學的歷史,其重要意義之一就是從歷史的發展中獲得借鑒和汲取教益,促進現實的科學研究,通俗地說就是「古為今用」。吳文俊對此有精闢的論述,他說:「假如你對數學的歷史發展,對一個領域的發生和發展,對一個理論的興旺和衰落,對一個概念的來龍去脈,對一種重要思想的產生和影響等這許多歷史因素都弄清了,我想,對數學就會了解得更多,對數學的現狀就會知道得更清楚、更深刻,還可以對數學的未來起一種指導作用,也就是說,可以知道數學究竟應該按怎樣的方向發展可以收到最大的效益」。數學機械化理論的創立,正是這種古為今用原則的碩果。我國科學技術的偉大復興,呼喚著更多這樣既有濃郁的中國特色、又有鮮明時代氣息的創新。

㈩ 秦九韶演算法是甚麼

秦九韶演算法
是中國南宋時期的數學家秦九韶提出的一種多項式簡化演算法。在西方被稱作霍納演算法(Horner
algorithm或Horner
scheme),是以英國數學家威廉·喬治·霍納命名的.
把一個n次多項式f(x)=a[n]x^n+a[n-1]x^(n-1)+......+a[1]x+a[0]改寫成如下形式:
f(x)=a[n]x^n+a[n-1]x^(n-1))+......+a[1]x+a[0]
=(a[n]x^(n-1)+a[n-1]x^(n-2)+......+a[1])x+a[0]
=((a[n]x^(n-2)+a[n-1]x^(n-3)+......+a[2])x+a[1])x+a[0]
=......
=(......((a[n]x+a[n-1])x+a[n-2])x+......+a[1])x+a[0].
求多項式的值時,首先計算最內層括弧內一次多項式的值,即
v[1]=a[n]x+a[n-1]
然後由內向外逐層計算一次多項式的值,即
v[2]=v[1]x+a[n-2]
v[3]=v[2]x+a[n-3]
......
v[n]=v[n-1]x+a[0]
這樣,求n次多項式f(x)的值就轉化為求n個一次多項式的值。
(註:中括弧里的數表示下標)

結論:對於一個n次多項式,至多做n次乘法和n次加法。

熱點內容
存儲計算邏輯 發布:2024-11-08 13:49:35 瀏覽:543
java演算法排序演算法 發布:2024-11-08 13:42:20 瀏覽:883
u盤隨身系統linux 發布:2024-11-08 13:34:34 瀏覽:411
b1422壓縮機鎖定 發布:2024-11-08 13:32:43 瀏覽:635
上傳按鈕圖片 發布:2024-11-08 13:30:57 瀏覽:920
安卓手機相機如何拍攝短視頻 發布:2024-11-08 13:28:42 瀏覽:411
網站的並發訪問 發布:2024-11-08 13:27:56 瀏覽:514
脈沖壓縮調制 發布:2024-11-08 12:49:56 瀏覽:126
松茸菌存儲 發布:2024-11-08 12:49:05 瀏覽:333
超市wifi密碼大概都是什麼 發布:2024-11-08 12:48:19 瀏覽:590