当前位置:首页 » 操作系统 » 霍纳算法原理

霍纳算法原理

发布时间: 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 15:32:27 浏览:656
高级数据库系统 发布:2024-11-08 15:32:14 浏览:539
adovc数据库 发布:2024-11-08 15:32:11 浏览:540
winclient怎么配置ip 发布:2024-11-08 15:23:53 浏览:481
什么是脸部密码 发布:2024-11-08 15:05:58 浏览:60
二维码识别算法 发布:2024-11-08 14:59:59 浏览:890
qt数据库驱动编译 发布:2024-11-08 14:58:01 浏览:14
window7怎么设置密码 发布:2024-11-08 14:53:23 浏览:915
影子密码是多少 发布:2024-11-08 14:53:16 浏览:164
数据库测试用例 发布:2024-11-08 14:50:15 浏览:324