1701018880
1701018881
就是一个简单的一元二次代数方程。当然,工程师和数学家所研究的方程要复杂得多。
1701018882
1701018883
解数学方程通常有两种方法。一种叫做解析法,即设法求出满足方程的未知量的解析表达式,这些表达式通常是方程中各项系数的函数。如中学里已学过,方程(1)的解析解为
1701018884
1701018885
1701018886
1701018887
1701018888
解析方法的优点在于:它所求出的一般是该类方程的通解,并且是没有误差的精确解,还可以通过解析表达式深入研究这些解的结构和性质。任何数学方程,如果能够写出其解的解析表达式,那就相当于已经彻底掌握这种方程了。可惜的是,只有很少种类的数学方程适用解析方法。即使是最简单的一元代数方程,阿贝尔和伽罗瓦早在两百年前就已经证明,当其次数大于4次时是没有一般根式解的。
1701018889
1701018890
另一种解数学方程的方法叫做数值法,即设法获得方程的数值解:通常是用十进制数或二进制数表达的近似解,一般通过迭代逼近获得。如对于一元二次方程(1),可以运用“切线法”,写出其迭代方程式[3]
1701018891
1701018892
1701018893
1701018894
1701018895
假设方程(1)中的a=1,b=—1,c=—1,则有
1701018896
1701018897
x2-x-1=0.(3)
1701018898
1701018899
我们令x0=0,然后用方程(2)迭代计算得到
1701018900
1701018901
x1=—1,
1701018902
1701018903
x2=—0.666 666 667,
1701018904
1701018905
x3=—0.619 047 619,
1701018906
1701018907
x4=—0.618 034 448,
1701018908
1701018909
x5=—0.618 033 989.
1701018910
1701018911
于是,仅通过5次迭代就已经得到了方程(3)的精确到小数点后第9位的数值解。
1701018912
1701018913
数值法的一大优点是,它能够解出大部分数学方程,尤其适用于求解复杂的方程。比如说,2000多年以前中国古代数学名著《九章算术》中,就已经有了求平方根和立方根数值解的机械算法“开方术”和“开立方术”。在此基础上,北宋的贾宪(活动于约1050年)发明了“增乘开方法”(其中要用到著名的“贾宪三角”),南宋的秦九韶(1202—1262)发明了“正负开方术”。这些都是求高次方程数值解的机械算法——从理论上讲,可以用它们求出任意高次方程根的数值解。作为对比,前述“解析法”最多只能求出4次方程的根。
1701018914
1701018915
然而,数值法的最大优点在于,它其实是一种机械的解题方法,因此可以通过计算机来实现。事实上,人类一开始建造计算机的目的就是为了数值计算。1946年问世的第一台计算机ENIAC,其全称是“电子数值积分计算机”。以后,计算机才被越来越多地用于信息处理。不过,随着科学技术的发展,对数值计算的需求也在快速增长:如卫星上天、天气预报、建造大坝、设计飞机、模拟飞行、生产新药等,都需要进行大量的计算。为此人们不惜花费巨资建造速度越来越快的“超级计算机”。由美国克莱公司在2012年制造的“泰坦”,是目前世界上运算速度最快的超级计算机,其运算速度达到每秒1.759亿亿次,它主要用于模拟分子生物学现象、磁性材料中原子和电子之间的相互作用、大气活动等的数值计算。
1701018916
1701018917
鉴于数值计算在人类生产劳动和科学研究中占据越来越重要的地位,许多数学家认为,依赖于计算机的机械化数值计算方法将成为数学研究的主流。他们的看法并非毫无道理。
1701018918
1701018919
现在回首来看数学研究的另一大任务——数学命题证明。人们不禁要问:数学证明是否也能实现像数值计算那样的机械化,从而也可以通过计算机来完成?
1701018920
1701018921
2.逻辑推理的机械化
1701018922
1701018923
关于推理证明的机械化尝试,可以追溯到17世纪德国数学家和哲学家莱布尼茨。这位兴趣广泛古今闻名的大学者在20岁时就发表了一部题名《组合的艺术:把所有关于真理的推理归结为一种演算的通用方法》的著作,其中试图通过把复杂的概念分解为一些简单概念符号的组合,来建立起一个符号化的推理演算体系。莱布尼茨设想有了这样一种能表示所有的思想和概念的“普遍符号语言”体系,人们就不必为了一些信念和理论而徒劳地费尽口舌地争论不休了。到那时,只需争论的各方都拿出纸和笔,说:“让我们来演算一下,看看究竟谁对谁错。”就像解决数学问题一样。莱布尼茨一生致力于建立这样的体系,但并没有完成。
1701018924
1701018925
200多年以后,英国数学家布尔(George Boole,1815—1864)于1854年发表了著作《作为数学逻辑和概率理论基础的思想规律研究》。其中,他用“×”、“+”和“-”这些原来的数学四则运算符号,来表示逻辑运算“与”、“或”和“非”;并用数字“1”和“0”来表示命题的“真”和“假”;运用这些符号,他把复杂的命题分解为一些简单的基本命题的逻辑组合,而命题的真假则可归结为组成它的那些基本命题的真假情况。就这样,布尔创立了关于命题演算的符号化系统,后被称为“布尔代数”。这是朝莱布尼茨的目标前进了一大步。布尔代数后来在数字电路技术、通信论和信息论中也有广泛的应用。
1701018926
1701018927
3.机器证明的前进脚步
1701018928
1701018929
计算机数学证明的首次尝试,始于美国卡内基梅隆大学的计算机与心理学教授西蒙(Herbert Simon,1916—2001)与兰德公司的数学家和计算机专家纽厄尔(Allen Newell,1927—1992)和肖(John Cliff Shaw,1922—1991)的合作。他们三人于1956年研制了一套叫做“逻辑理论机”(Logical Theory Machine,简记LTM)的计算机程序,并运用该程序试图证明罗素和怀特海合作的名著《数学原理》中开头52条定理,结果成功证明了其中的38条。LTM程序使用的证明方法是模拟人类思维方式的“试探法”(Heuristics),这种方法的优点是适用范围广,如它还可以用于发现化学和物理学定律,建立决策系统和实现计算机弈棋等。
[
上一页 ]
[ :1.70101888e+09 ]
[
下一页 ]