本书概述了数值方法,对象为计算领域内需要解决数学问题的学生和专业人士.本书与传统的数值分析教材不同,主要侧重于介绍隐藏在算法后的基本原理和思想,而不是分析算法的细节.在求解每一大类问题时,无论是关于问题的正确表示,还是结果的合理解释,本书都采取一种通俗易懂的方式来阐述.另外,本书提倡在求解时尽可能地使用专业数学软件.本书的目标是倾向于数学软件的“使用者”,而不是这些软件的“创造者”.我希望读者在选择合适的方法和软件时能够对相关的问题有所了解,并正确地使用这些方法和软件.
在伊利诺伊大学,本书作为数值方法的教材使用,时间为一学期,主要用途有三个:
作为计算机科学、数学和工程等学科高年级本科生的教材.
作为计算机科学系非数值分析专业研究生的参考教材.
作为在研究工作中需要使用数值方法和软件的理工科研究生的培训教材.
为适应各种不同学生的需要,学习本教材的前提条件是非常基本的,只要基本熟悉线性代数、多元微积分,并对微分方程知识有少量的了解即可.对所使用的数值方法不必事先了解.但是,本书采用的观点是有一定深度的,所以,对学生(或读者)来讲还是要具备一定的知识水平.除了用于高等院校外,我还希望本书能对需要概括了解给定的计算问题及解决该问题的方法和软件的科技人员有所帮助.
虽然本书强调了数学软件的应用,但与其他的软件教科书不同,它既不提供任何软件,也不致力于任何特定的软件包、库或环境,而是对每类问题指出其特定的程序在公用资源和主要商用程序库或程序包中的位置.许多高等院校和工程计算环境中都安装了这类软件,许多情形中我们还给出了通过互联网免费得到这类软件的网站.书中的上机练习并不依赖于任何具体的软件或编程语言.
本书的主要组成部分如下:
章:本书的每一章都涵盖了一个主要的计算领域.书的前半部分主要处理代数问题,而后半部分主要处理涉及导数和积分的分析问题.前两章是本书的基础,后面的各章可以根据不同的需要重新排序.各章节间的具体关系如下表所示:这样,可以将第7、8、12和13章的内容提前,而将第3、4和6章放在后面.例如,第3、7和12章都涉及某类数据拟合,所以应该把它们作为一个整体来讲述.又例如,由于线性方程组的迭代法主要应用在偏微分方程的求解中,所以本书将这一部分内容放在了关于偏微分方程的第11章,实际上其中的大部分内容都可以在第2章线性方程组的直接法之后立刻给出.注意到在本书的后半部分广泛地使用了特征值,所以这也是将其早早地放在第4章的原因,但如果学生已对这个问题非常了解则例外.
在一个学期内完成本书的内容有些困难,可以根据需要作适当删减.例如,关于随机数和随机模拟的第13章与本书的其他内容关系不大,因此可以略去(但本书中的许多习题都用到了随机数发生器).本书的全部内容可用1.5或2个学期完成.
例题:书中的每个概念和方法几乎都用一个或多个例子加以说明.这些例子对所讨论的内容作了相对简要的补充,是本书必不可少的部分.我们尽量使用简单的例子(有时甚至过于简单),目的是为了使读者容易接受.依我本人的经验,彻底弄明白一个简单的例子往往比那些虽然更为实际但却不易接受的例子更有帮助.
软件:针对每类问题,本书都列出了大量的软件.然而对每个给定的问题,我们并不特别指出哪个软件是“最好的”,因为没有哪个软件包在所有方面都是优秀的.而且,我们也要考虑读者所能获得的软件及使用的编程语言.本书所列出的所有软件至少都是令人满意的,甚至其中有些是极为优秀的.
练习:本书包含了丰富的习题,它们分为三类.
复习题:是只需简要回答的问题,用来测试对基本概念的理解.
练习题:需要一定的思考并作较长的解答,有的要进行手工计算.
上机问题:需要进行程序设计,也可以使用现成的软件.
复习题可作为读者的自我测试题,通过仔细考虑找出解答的关键点,并建立掌握这些知识的信心.练习题可作为课后作业,有些需要结合简单的例子进行手工计算,有些是对正文中省略的证明和推导的细节的补充.如果以本书作为理论性较强的课程的教材,则这些证明和推导细节是必不可少的.上机问题可以使读者在利用所推荐的软件解决各类典型问题方面积累一定的经验.有些上机问题是一般的,还有一些是与科学和工程的某些具体应用直接相关的.
第2版的变化:每一章都从问题的来源开始讨论,并用一个或多个例子加以说明,然后讨论给定问题的解的存在性、惟一性和病态性.目的是让学生理解问题的重要性,并在考虑解决问题的算法之前识别问题的“好”与“坏”的表示方式.主要的算法都给以规范的说明,并加以编号.更新了参考文献,并对有关历史的注记及参考文献进行了一定的扩充.对第1章中讨论的向前和向后误差以及它们间的关系进行了进一步的扩充和澄清.关于奇异值分解的许多内容从第4章移到了第3章,这样更为适当.第4章对特征值算法的收敛性作了扩充,包括了更多的原理和细节,特别是关于QR迭代及其他的方法.第6章对约束优化的处理作了相当大的扩充.关于微分方程的章节稍作整理,增加了谱方法的收敛性.重新编写了关于快速傅里叶变换的第12章,删掉了某些无关的内容.