地下水流数值模拟基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

绪言

0.1 数值计算方法概述

0.1.1 数值计算的重要意义

17世纪是数学发展史上一个划时代的时期,当我们今天享受着高科技成果所带来的各种便利条件时,应该意识到笛卡尔(Descartes,1596—1650)和牛顿(Newton,1642—1727)这两位卓越先驱人物所作出的具有划时代意义的贡献。

首先,笛卡尔创立了平面解析几何,使我们能够用数学形式描述动态变化着的客观对象,接下来牛顿和莱布尼兹(Leibniz)等人创立了微积分学,为我们研究连续变量的变化规律给出了完整的方法体系。随后,又在这个基础上产生了更多的数学分支以及相关的一些交叉学科分支。

由于数学研究的范围在不断扩大,而且研究的对象更为复杂,一个伴随的问题就是相应的数值计算更加困难。如果不解决与理论方法平行的数值计算问题,再好的数学理论也难以发挥应有的作用。

[例0.1] 解线性方程组Ax=b,x∈Rn,A为n阶可逆方阵,用著名的Crammer法则求解,行列式的计算按原始的方法计算,假设计算机每秒可算1亿次乘法运算,我们来估计机器所花的时间。

Cramer法则告诉我们线性代数方程组有解的充分必要条件以及如何求解。

计算一个行列式所需要的乘法数共n!项,每项n个数相乘,故共需n!(n-1)次乘法;完成计算的乘法数共n+1个行列式,故共需(n2-1)n!次乘法。

行列式:将每一行、每一列在每一次都取一个数相乘,得到的结果再相加。

当n=10时,需要3592561200(次)≈3.59251(s)

当n=100时,需9.33169×10161(次)≈9.33169×10153(s)≈2.95906×10146(年)

因此,当n较大时,采用该方法进行计算是不可行的。

这表示在相应的计算机生产工艺条件下,一个好的数学方法(公式)未必是一个有效的计算方法。而方法的有效性将直接影响到计算的效率,我们的任务就是要构造有效的数值计算方法。

[例0.2] 设多项式为p(x)=(x-2)9,我们来计算其在区间[1.92,2.08]上的值。

令:p(x)=(x-2)9

q(x)=x9-18x8+144x7-672x6+2016x5-4032x4+5376x3-4608x2+2304x-512

图0.1.1分别展示了两个算式的不同计算机模拟结果,由此可见:即使数学上的恒等公式,用计算机来计算,结果也是不一样的。

图0.1.1 不同计算方法结果对比

科学的计算方法与实验理论相辅相成,已成为第三种科学方法,而不仅仅是数学或计算机学科的一个部分。数值计算的重要性表现在两方面:一方面促进了计算方法的研究,另一方面也促进了计算工具的发展。随着20世纪40年代中期人类第一台电子数字计算机的问世,数值计算终于有了理想的支撑工具。

坚实的数学理论、科学的计算方法以及先进的计算工具的有机结合,为我们打造了一个无比坚实的工作平台。完全可以这么讲,今天几乎所有的高科技成果都是在这个平台上产生的。正是因为有了这样一个平台,使得我们这个时代的科学技术能够飞速发展。

0.1.2 数值计算方法的涵义

数值计算方法,过去有不少人称之为数值分析,现在更多的人称之为科学计算,其核心思想就是通过有限步的加、减、乘、除四则运算得到某个连续变量的近似值。追根溯源,它是微积分学孕育出来的一个数学分支。

0.1.3 数值计算的理论基础

极限理论和泰勒级数展开式为近似计算提供了理论基础。

(1)极限理论。

如果一个无限序列{xn}收敛于某个极限值x*,那么可用这个序列中的某个元素xN作为x*的近似值。只要序号N取得足够大,那么xN与x*的差值|xN-x*|就不会超过某个预先给定的充分小的正数ε。

(2)泰勒级数展开式。

若函数f(x)在x0的某一邻域内具有直到(n+1)阶的导数,则在该邻域内f(x)的n阶泰勒公式为

它可以把某个充分光滑的实函数f(x)表示为一个项数为无限多的多项式,再利用极限理论,用这个多项式的前n项(n足够大)近似表示f(x)(所得的误差足够小,满足精度要求),从而可以通过有限步四则运算得到f(x)的近似值。