基本信息
- 原书名:A First Course in the Numerical Analysis of Differential Equations
- 原出版社: Cambridge University Press
编辑推荐
本书内容包括求常微分方程数值解的多步法和龙格-库塔方法;求泊松方程数值解的有限差分法和有限元法;求解大型稀疏代数方程组的各种算法;求双曲型和抛物型微分方程的数值解的各种方法以及相关的分析技巧。书中各章附有相关内容研究进展的综述和习题,附录中是一些数学知识点的简要备份。
本书是面向数学系高年级本科生和研究生的教材,对理工类的研究人员也是一本很好的参考书。
内容简介
数学书籍
数值分析向世界展现了它的不同面孔。对数学家而言,它是带有应用性的纯正的数学理论。对科技人员和工程师而言,它是实用的应用性学科,是建模工艺中典型技能的一部分。对计算机科学家而言,它是关于计算机结构与实数运算的算法之间相互影响的理论。正是这些观点间的不同形成了写这本书的动力。本书严格论述了常微分方程和偏微分方程数值分析的基本理论。出发点是数学的,但本书尽力保持在理论上、算法上和应用上的平衡。
具体地,本书包含求常微分方程的数值解的多步法和龙格-库塔方法;泊松方程的有限差分法和有限元法;各种解大型稀疏代数方程组的算法;解双曲型和抛物型微分方程的数值方法以及分析的技巧。本书的附录是一些数学知识点的简要备份。
英国剑桥大学教授Iserles博士注重基本知识:从最基本原理推得方法,用各种数学技术对这些方法进行分析,不时讨论这些方法的实现和应用。他这样做,使得读者能在不忽略应用的情况下对这门课有理论上的理解。这样就形成了一本在数学上诚实和严格的教材,为读者在常微分方程和偏微分方程方面提供了很多技巧。
本书内容包括求常微分方程数值解的多步法和龙格-库塔方法;求泊松方程数值解的有限差分法和有限元法;求解大型稀疏代数方程组的各种算法;求双曲型和抛物型微分方程的数值解的各种方法以及相关的分析技巧。书中各章附有相关内容研究进展的综述和习题,附录中是一些数学知识点的简要备份。
本书是面向数学系高年级本科生和研究生的教材,对理工类的研究人员也是一本很好的参考书。
目录
前言Ⅶ
内容流程图Ⅻ
第Ⅰ部分常微分方程组
第1章欧拉法及其简单扩展3
1.1常微分方程组与Lipschitz条件3
1.2欧拉法4
1.3梯形法8
1.4θ方法13
注释与参考文献14
练习15
第2章多步法18
2.1Adams方法18
2.2多步法的阶与收敛性20
2.3向后微分公式25
注释与参考文献27
练习29
第3章龙格—库塔法32
3.1高斯求积32
3.2显式龙格—库塔格式36
前言
近10年,在剑桥以及其他地方,我一直从事数学专业学生的微分方程数值分析的教学.回顾这一漫长的实践过程,总结其间的经验教训,我得出了两条结论,它们均对本书的选材及表述方式发挥了指导性的作用.
第一条,数学家不同于其他领域的专家.你可能会发现,人们学习数值分析有各种各样的原因.自然科学家和工程师把它当做一种手段、一个工具,用以探究那些真正使他们感兴趣的东西.所以很自然,他们既不愿意花费时间,也不愿花费脑力去做精致的数学分析,而是喜欢你将数值方法像食谱一样列出来,再加上些直觉的、浅显的解释.计算机科学家的态度则不同,他们更看重算法,致力于研究漂亮的算法及其与计算机构造的联系,类似微分方程这样的数学构造一旦情况允许(甚至更快)即被弃置一边,代之以离散化的模型,然后用组合技术来研究.数学家则遵循另一种推理模式.通常学数学的学生在本科阶段最后一年或研究生阶段第一年参加一门高等数值分析课的学习.到那时候,他们所学的大部分内容都遵循着一个数学中熟知的形式推理模式: 公理定理证明推论……而数值分析通常很难套用这一模式,这是许多学数学的学生觉得数值分析缺乏魅力的深层原因.
所以,给数学系学生讲数值分析往往令人感到两难: 如果完全上成数学理论的课程,会使学生感到智力上的愉悦,但应用方面就会欠缺; 如果大量灌以应用方向的介绍,又很可能让学生本末倒置,晕头转向.要解决这个问题并不很难,我们只需以诚实的数学态度来表述材料,偶尔转向应用问题和算法,但永不失诚实和严密.如果一个证明要用到许多讨论范围之外的材料,完全可以略去这个证明.我们甚至可以用表面上的正确性连同实际应用中的好的运行记录来说明一个数值方法的可行性,但表面上的正确性,好的运行记录,直觉和浅显的说明并非诚实的数学论证,而且也永远不应当称做数学论证.
第二条,在数值分析这门课中,学生们应当既学常微分方程,又学偏微分方程,还有处理大规模稀疏代数方程组的方法.由于众多数学课程的压力,使得仅有少数本科生有可能参加多于一门的高等数值分析课的学习.而更多的人很可能在其未来的职业生涯中要用到微分方程数值解法.所以,如果将课程内容仅限于某一主题,比如常微分方程或有限元,虽然内容紧凑,重点明确,从长远来看却不是一个有益的方法.
再重复一下,面向数学系学生的理想的微分方程数值分析课,应当具备数学的诚实和严密,并教给听众广博的技能,既包括常微分方程方面的内容,也包括偏微分方程方面的内容.过去10年,我一直热切地想要找到一本关于这门课程的令人满意的教材,但没有找到.关于其特定的专题,比如常微分方程数值解法、有限元、稀疏代数方程组的计算,都有许多好的教科书,也有几本书涉及到各个专题,但遗憾的是,它们都相对缺乏数学的精致和严密.就我所知,还没有哪本书能做到准确地为自己定位,并达到相应的成熟程度.我因而感到失望,这也是促成我写这本书的主要原因.
我们或许应当在此简要回顾一下本书的主要特点.
★我们选材的覆盖面很广: 用多步法和龙格—库塔法求常微分方程数值解; 泊松方程的有限差分法及有限元法; 泊松方程求解时出现的大型稀疏代数方程组的各种求解算法; 最后,抛物型和双曲型微分方程的方法及分析技巧.或许这本书可作为一本一年制快速课程的教材,也有可能很多教师只想讲其中一部分内容,为了帮助他们(以及他们的学生)在数值“地雷阵”中顺利前进,在本前言的后面附有一张流程图,表明本书各部分的“链接”.沿中线以阴影标识的部分是核心内容: 讲这门课而忽略这些主题,那是说不过去的(当然,在每章内部适当地拣选内容是合理的!).无阴影标识的框是选修内容——这些主题的取舍依个人的选择而定.它们均包含有价值的材料,但就其整体而言,或许超出了高等本科教材的覆盖能力和范畴.
★这是一本面向数学系学生的教材,也就是说,它不以计算机科学家、工程师或自然科学家为对象.如前所述,不同的学生群体关心不同的事情,有不同的思维模式和吸收知识的方式.所以,一本教材若想取悦所有读者,则可能令所有读者都失望.尽管如此,那些需要数值方面知识的非数学工作者仍可以从本书中受益,但应当指出,他们或许应当在他们职业生涯中稍微晚些时候再去钻研这些,也就是当他们具备了适当的动机和背景知识的时候.
关于本书的一个更为基本的限制就是它是一本教材,而不是学术论文或技巧集锦.特别需要强调,我们的使命不是让人欣赏艺术展览,或关注最新进展,同样,我们也无意提供能对付任何问题和情况的万能方法.
★许多数学教材都有个恼人的毛病,解任何一个问题时都要不必要地罗列一大串方法和算法.因而不止有1个龙格—库塔法,而是20个!可怜的读者们面对着一大堆武器,却往往没有任何线索告诉他们应当选用其中的哪一个,以及为什么用它.本书中我们采取另一种方式: 我们从支持算法的原理中推导出算法,这些原理是我们论证的中心,而不是算法本身.一旦这些原理被提炼出来,算法就成为数值分析中最容易的部分,像烟花般骤然盛开——真正的脑力挑战在于数学的分析.
这并不是说软件的问题不重要或其体系的学术性相对较弱.我们在第5章中对这些问题予以关注,并且我必须赶快强调一下,好的软件设计同定理的证明一样具有挑战性.事实上,对计算数学中分析方面的了解有助于正确鉴识软件及应用中的困难.
★数值分析的一个真正激动人心的特点,在于它广泛运用多门数学学科的知识.如果你以为数值分析是逃避数学,是因为喜欢研究某些更“软”些的东西而借它来取代研究数学,那你注定会大吃一惊.数值分析可能是最广泛应用多种数学理论的学科,从基本的线性代数和微积分,直到泛函分析、微分拓扑、图论、解析函数理论、非线性动力系统、数论、凸理论——这个单子可一直列下去.几乎所有的现代数学理论都对数值分析研究给予启发和帮助.因而,研究数值分析的人必须思维开放,随时准备借用其他各种技巧——它可不是给闭门造车的人预备的!
本书中我们着重讨论那些启发和丰富数值分析研究的各种数学理论.这不像乍听起来那么简单,因为来自不同大学的学生有不同的纯数学知识,这一点我们不得不考虑.换言之,我们常常需要加以阐明,请那些数学基础知识雄厚的读者予以谅解——你们所需做的只是略过几页……
★回忆一个数学概念和理解一个数学概念之间有很大的差别.在读数学文章时我经常碰到一些概念,很熟悉而且我过去肯定碰到过.然而,要考我背出其准确定义,我恐怕要考不及格.这种时候恰当的、正统的做法应当是暂时停下来,走到附近的数学图书馆查一下有关资料.坦白地讲,虽然我有时确实这么做,但更多时候,我只是继续读下去.我有充分的理由相信不只我一个人这么做.
本书中我增加了一个名为“相关数学知识约略导读”的附录,尝试多少弥补上述情况带来的不便.该附录粗略地介绍了一些数学学科中的重要定义和定理——包括线性代数、初等泛函分析和逼近理论——学生们以前应当已接触过这些内容,但很可能已被遗忘.这样做的目的既不是要取代那些初等的数学课程,也不是提供数学补遗.如果你过于频繁地翻到书尾去查找某个定义,那么,我的朋友,也许你最好还是停下来去专心地学习一下相关的学科,使用一本合适的教材.相类似,如果你总是遵循正统的做法,每有一点疑问就去查阅有关资料,请恕我劝你别那样循规蹈矩.
★写数学文章的一个规矩是要指明援引资料的作者和出处.这不仅仅是为了满足原作者的虚荣心,也是为了将文章记录传载下去,并使有兴趣的读者有机会查阅更进一步的资料.谈到这儿,我不禁怀疑起那些在教材中连篇累牍到处标记引文出处的做法.其导致的情形可以想见,读到一句“……假定x∈U,其中U是一个叶层器具[37]”,读者就会去查阅一下参考文献,找到“[37]”代表J.Bloggs发表于Pro.SDW的一篇论文,然后认出“Pro.SDW”代表“可微器具协会会议记录”,然后走到图书馆,找到这本杂志的位置(它还真在书架上,而不是租出去了,或放错了地方,或被偷了……).如果是高深的数学学术论文,这样做并不为过.但如果是本教材,这样做就没什么意义了.所以我所采取的做法是在正文中不标出处,而在每章后面专设一节叫做“注释与参考文献”,在其中简要列出可能会对学生(和教师)有所帮助的更进一步的文献.
这些小节还有一个重要的作用.可能会有一些学生(也许我太乐观了?)对该章内容感兴趣,受到启发而有意深入钻研,为此,在每一节“注释与参考文献”之中我都简要地介绍了相关领域的进一步发展、算法、分析的方法及其与其他数学分科的联系.
★表述的清晰与否常取决于所用的符号是否明了,因而,在全书中我们做如下约定:
白体小写斜体字母(a,b,c,α,β,γ,…)代表标量;
序言
这是一本教科书,像所有教科书一样,它从头讲起,只要求很少量、很基本的数学知识:微积分、线性代数和浅显的复分析.然而,所有教科书都只当是引玉之砖,本书也不例钋.不要期待掌握了本书就成为微分方程数值分析的专家.它只是一扇通往一个世界的门,这个世界要广阔得多,精彩得多,并日新月异地发展着.无须掩饰,本书仅着重于基本概念和思想,而不是最新的重要进展.因为如果基石不够坚固,建造高楼大厦是十分无益(而且常常是危险)的.我当然希望这本书能激励你进一步钻研,而不希望它是你在这一领域里所读的最后一本书。
本书的方法是数学的.尽管数值分析是有关设计算法的,而且显而易见,算法及其实现是全书的中心内容,但通篇的主线仍显然是数学的.一个微分方程是一个数学构造,这个我们都承认,然而当它被离散化之后仍不失为一个数学构造!有一种想法:"把眼前的一切都离散化,再丢到旁边的计算机上",这是糟糕的、低效的科学计算,要着手于解决在数值上困难的、具有挑战性的问题,这绝对是错误的方法.因而(并且这一点值得反复强调)我们千万不能放弃我们的数学直觉,即使当微分方程已被算法代替.对离散方法进行仔细的数学分析不是某种无聊无用的数学游戏,因为我们靠数学这一工具及其带来的思维严密性来理解算法,最终改善算法.此外,数学是一种令人兴奋的、美妙的探险.一旦你认识到各种事物如何彼此相关,它们如何被数学概念和证明这一灰浆粘结在一起,各种想法怎样彼此适配,逻辑结构如何从第一眼看上去可能是杂乱无章的景观中浮现出来,你就会意识到这是多么纯粹的、令人愉快的乐趣,欢迎踏上这一旅途!非常愿意在此感谢我的中国朋友们对此书翻译成中文版所做的重要贡献,他们是本书中文版背后之源动力.
Arieh Iserles
2004年5月
书摘
近10年,在剑桥以及其他地方,我一直从事数学专业学生的微分方程数值分析的教学.回顾这一漫长的实践过程,总结其间的经验教训,我得出了两条结论,它们均对本书的选材及表述方式发挥了指导性的作用.
第一条,数学家不同于其他领域的专家.你可能会发现,人们学习数值分析有各种各样的原因.自然科学家和工程师把它当做一种手段、一个工具,用以探究那些真正使他们感兴趣的东西.所以很自然,他们既不愿意花费时间,也不愿花费脑力去做精致的数学分析,而是喜欢你将数值方法像食谱一样列出来,再加上些直觉的、浅显的解释.计算机科学家的态度则不同,他们更看重算法,致力于研究漂亮的算法及其与计算机构造的联系,类似微分方程这样的数学构造一旦情况允许(甚至更快)即被弃置一边,代之以离散化的模型,然后用组合技术来研究.数学家则遵循另一种推理模式.通常学数学的学生在本科阶段最后一年或研究生阶段第一年参加一门高等数值分析课的学习.到那时候,他们所学的大部分内容都遵循着一个数学中熟知的形式推理模式: 公理定理证明推论……而数值分析通常很难套用这一模式,这是许多学数学的学生觉得数值分析缺乏魅力的深层原因.
所以,给数学系学生讲数值分析往往令人感到两难: 如果完全上成数学理论的课程,会使学生感到智力上的愉悦,但应用方面就会欠缺; 如果大量灌以应用方向的介绍,又很可能让学生本末倒置,晕头转向.要解决这个问题并不很难,我们只需以诚实的数学态度来表述材料,偶尔转向应用问题和算法,但永不失诚实和严密.如果一个证明要用到许多讨论范围之外的材料,完全可以略去这个证明.我们甚至可以用表面上的正确性连同实际应用中的好的运行记录来说明一个数值方法的可行性,但表面上的正确性,好的运行记录,直觉和浅显的说明并非诚实的数学论证,而且也永远不应当称做数学论证.
第二条,在数值分析这门课中,学生们应当既学常微分方程,又学偏微分方程,还有处理大规模稀疏代数方程组的方法.由于众多数学课程的压力,使得仅有少数本科生有可能参加多于一门的高等数值分析课的学习.而更多的人很可能在其未来的职业生涯中要用到微分方程数值解法.所以,如果将课程内容仅限于某一主题,比如常微分方程或有限元,虽然内容紧凑,重点明确,从长远来看却不是一个有益的方法.
再重复一下,面向数学系学生的理想的微分方程数值分析课,应当具备数学的诚实和严密,并教给听众广博的技能,既包括常微分方程方面的内容,也包括偏微分方程方面的内容.过去10年,我一直热切地想要找到一本关于这门课程的令人满意的教材,但没有找到.关于其特定的专题,比如常微分方程数值解法、有限元、稀疏代数方程组的计算,都有许多好的教科书,也有几本书涉及到各个专题,但遗憾的是,它们都相对缺乏数学的精致和严密.就我所知,还没有哪本书能做到准确地为自己定位,并达到相应的成熟程度.我因而感到失望,这也是促成我写这本书的主要原因.
我们或许应当在此简要回顾一下本书的主要特点.
★我们选材的覆盖面很广: 用多步法和龙格—库塔法求常微分方程数值解; 泊松方程的有限差分法及有限元法; 泊松方程求解时出现的大型稀疏代数方程组的各种求解算法; 最后,抛物型和双曲型微分方程的方法及分析技巧.或许这本书可作为一本一年制快速课程的教材,也有可能很多教师只想讲其中一部分内容,为了帮助他们(以及他们的学生)在数值“地雷阵”中顺利前进,在本前言的后面附有一张流程图,表明本书各部分的“链接”.沿中线以阴影标识的部分是核心内容: 讲这门课而忽略这些主题,那是说不过去的(当然,在每章内部适当地拣选内容是合理的!).无阴影标识的框是选修内容——这些主题的取舍依个人的选择而定.它们均包含有价值的材料,但就其整体而言,或许超出了高等本科教材的覆盖能力和范畴.
★这是一本面向数学系学生的教材,也就是说,它不以计算机科学家、工程师或自然科学家为对象.如前所述,不同的学生群体关心不同的事情,有不同的思维模式和吸收知识的方式.所以,一本教材若想取悦所有读者,则可能令所有读者都失望.尽管如此,那些需要数值方面知识的非数学工作者仍可以从本书中受益,但应当指出,他们或许应当在他们职业生涯中稍微晚些时候再去钻研这些,也就是当他们具备了适当的动机和背景知识的时候.
关于本书的一个更为基本的限制就是它是一本教材,而不是学术论文或技巧集锦.特别需要强调,我们的使命不是让人欣赏艺术展览,或关注最新进展,同样,我们也无意提供能对付任何问题和情况的万能方法.
★许多数学教材都有个恼人的毛病,解任何一个问题时都要不必要地罗列一大串方法和算法.因而不止有1个龙格—库塔法,而是20个!可怜的读者们面对着一大堆武器,却往往没有任何线索告诉他们应当选用其中的哪一个,以及为什么用它.本书中我们采取另一种方式: 我们从支持算法的原理中推导出算法,这些原理是我们论证的中心,而不是算法本身.一旦这些原理被提炼出来,算法就成为数值分析中最容易的部分,像烟花般骤然盛开——真正的脑力挑战在于数学的分析.
这并不是说软件的问题不重要或其体系的学术性相对较弱.我们在第5章中对这些问题予以关注,并且我必须赶快强调一下,好的软件设计同定理的证明一样具有挑战性.事实上,对计算数学中分析方面的了解有助于正确鉴识软件及应用中的困难.
★数值分析的一个真正激动人心的特点,在于它广泛运用多门数学学科的知识.如果你以为数值分析是逃避数学,是因为喜欢研究某些更“软”些的东西而借它来取代研究数学,那你注定会大吃一惊.数值分析可能是最广泛应用多种数学理论的学科,从基本的线性代数和微积分,直到泛函分析、微分拓扑、图论、解析函数理论、非线性动力系统、数论、凸理论——这个单子可一直列下去.几乎所有的现代数学理论都对数值分析研究给予启发和帮助.因而,研究数值分析的人必须思维开放,随时准备借用其他各种技巧——它可不是给闭门造车的人预备的!
本书中我们着重讨论那些启发和丰富数值分析研究的各种数学理论.这不像乍听起来那么简单,因为来自不同大学的学生有不同的纯数学知识,这一点我们不得不考虑.换言之,我们常常需要加以阐明,请那些数学基础知识雄厚的读者予以谅解——你们所需做的只是略过几页……
★回忆一个数学概念和理解一个数学概念之间有很大的差别.在读数学文章时我经常碰到一些概念,很熟悉而且我过去肯定碰到过.然而,要考我背出其准确定义,我恐怕要考不及格.这种时候恰当的、正统的做法应当是暂时停下来,走到附近的数学图书馆查一下有关资料.坦白地讲,虽然我有时确实这么做,但更多时候,我只是继续读下去.我有充分的理由相信不只我一个人这么做.
本书中我增加了一个名为“相关数学知识约略导读”的附录,尝试多少弥补上述情况带来的不便.该附录粗略地介绍了一些数学学科中的重要定义和定理——包括线性代数、初等泛函分析和逼近理论——学生们以前应当已接触过这些内容,但很可能已被遗忘.这样做的目的既不是要取代那些初等的数学课程,也不是提供数学补遗.如果你过于频繁地翻到书尾去查找某个定义,那么,我的朋友,也许你最好还是停下来去专心地学习一下相关的学科,使用一本合适的教材.相类似,如果你总是遵循正统的做法,每有一点疑问就去查阅有关资料,请恕我劝你别那样循规蹈矩.
★写数学文章的一个规矩是要指明援引资料的作者和出处.这不仅仅是为了满足原作者的虚荣心,也是为了将文章记录传载下去,并使有兴趣的读者有机会查阅更进一步的资料.谈到这儿,我不禁怀疑起那些在教材中连篇累牍到处标记引文出处的做法.其导致的情形可以想见,读到一句“……假定x∈U,其中U是一个叶层器具[37]”,读者就会去查阅一下参考文献,找到“[37]”代表J。Bloggs发表于Pro。SDW的一篇论文,然后认出“Pro。SDW”代表“可微器具协会会议记录”,然后走到图书馆,找到这本杂志的位置(它还真在书架上,而不是租出去了,或放错了地方,或被偷了……).如果是高深的数学学术论文,这样做并不为过.但如果是本教材,这样做就没什么意义了.所以我所采取的做法是在正文中不标出处,而在每章后面专设一节叫做“注释与参考文献”,在其中简要列出可能会对学生(和教师)有所帮助的更进一步的文献.
这些小节还有一个重要的作用.可能会有一些学生(也许我太乐观了?)对该章内容感兴趣,受到启发而有意深入钻研,为此,在每一节“注释与参考文献”之中我都简要地介绍了相关领域的进一步发展、算法、分析的方法及其与其他数学分科的联系.
★表述的清晰与否常取决于所用的符号是否明了,因而,在全书中我们做如下约定:
白体小写斜体字母(a,b,c,α,β,γ,…)代表标量;