2014-1-16
终于考完试,别的先不管了。放假前半段弄数学建模,后面考托福。
有些日子拿来荒废,后面才有反思。
Steven J.Leon教授的线性代数
《系统程序员成长计划》,《C专家编程》,《CSAPP》,《C陷阱与缺陷》,黄静群先生的《深入浅出Hello world》 FPGA 嚓,这个我在实验室见过无数次都没有拿来玩一下。
好玩的两张图
社翻译的一套俄罗斯的书,多数是莫斯科大学的本科教材。很多是莫大为庆祝建校250周年专门出版的。个人非常喜欢俄罗斯的书。而且俄罗斯也确实在方程、力学等应用数学学科有很好的传统。莫大的数学系叫“数学力学系”,因此数学和力学、物理、方程的结合很紧密。俄国的数学书和数学家都带有鲜明的风格,很多数学家同时是力学家和物理学家。比如Arnold认为,学数学的人至少要读懂几卷朗道;朗道的十卷教程里也会有别的理论物理学家很少写的流体力学,弹性力学;而Novikov给力学系的几何讲义基本是美国等其他国家几何方向研究生教材的水平。这些大概都可以算在“应用数学”的范畴。
http://book.douban.com/doulist/1270007/?start=25
最近又有很多法国书被翻译出来,不过我都没读过,应该也是很好的。
“朗道” : 朗道理论物理学教程,一共十卷。基本都是公认的好书。
Springer系列:
专业的学术出版公司。本科经常能读到的数学书比如
GTM 系列 graduate texts in mathematics,已经从1出到了200多
UTM undergraduate ~
TAM texts in applied mathematics
AMS applied mathematics science
这些书的扉页都有一份当前系列的书目。看看TAM和AMS的书目也可对国外“应用数学”在做什么有个管中窥豹的了解。
北大系列:北大把不少老师的讲义和教材都出版了,数学、物理、力学各有一个系列。多数可以作为入门参考。
***************************************
泛函分析
1. 泛函分析讲义(上,下) 张恭庆,北大系列
2. 函数论与泛函分析初步,柯尔莫戈洛夫 ,佛明,俄罗斯系列
3. Applied Functional analysis,Zeidler(Vol 1,2) AMS 108,109
4. Functional analysis , Peter Lax
5. Functional analysis,sobolev space and partial differential equations Brezeis
6. Functional analysis,Rudin
7. Functional analysis,Yosida
8. Methods of modern mathematical physics,Reed,Simon
9. 泛函分析新讲,定光桂
10. 基础拓扑学讲义,尤承业,北大系列
11. Basic topology,Armstrong
12. Topology,Munkres
13. Real and complex analysis,Rudin
14. 简明复分析 龚昇,科大系列
15. 曲线曲面的微分几何,do carmo http://book.douban.com/subject/1945893/
计算数学最传统和重要的工具是泛函分析.泛函分析研究分析中的拓扑和代数结构,因此最好先学完点集拓扑再学泛函。泛函的范围很广,各个书里的内容也有很大差异。但主要有两种:一种是比较纯数学式的,重在讲内在的数学结构和与其他数学分支的联系,比如6,另外是“应用数学”的,强调在数学物理、PDE、数值分析和概率中的应用。比如2,3,4,5.
1是一套比较好的中文书,书里特别强调泛函分析的来源、背景和具体应用,上册讲了很多计算中重要的定理,比如Lax等价和Lax-Milgram,下册提到一些统计物理和量子力学的例子。下册一些习题是Rudin上的定理,自己做比较困难。 Lax就是4的作者,4是他在Courant Institute给研究生的讲义。作为Courant Institute曾经的boss,Lax有很多写进教材的条件、定理,比如CFL。
2是Kolmogolov的书,包含了集合论、点集拓扑、实变函数、实分析和泛函分析的材料。还是俄国书的风格,发展理论去做方程、物理、力学等具体问题。有些定理的证明和一般课本上不一样,我学实变函数时读着比较费劲,后来再读才感觉精彩。这本书作为很多分析问题的统一处理,写了Fourier分析和变分的一些内容,而算子代数、谱理论和其他专题讲得比较少。前言说作者生前想加入“在数值分析中的应用”,可惜没完成。俄罗斯系列里翻译的是第七版。莫大本科“分析3”的教材。
3是HY段老师上课推荐的一套书,非常值得读。Zeidler是Plank Institute的boss,他还有一大套的“非线性泛函分析”。按段老师的说法,学应用数学应该读既是数学家又是物理学家的人写的书。这两本书里有些别处很少讲,但在应用数学中很重要的东西:比如PDE中的不动点定理,混合有限元和最优控制中要用到的对偶理论和鞍点变分,量子力学、统计物理和场论的例子,还有很多泛函的发展历史和物理背景。取材非常适合应用数学er,而且有泛函1的基础,并不难读,可以用少的时间得到大的收获。顺便吐槽,中文书里的“应用泛函分析”多是给非数学专业科普的。
6,7比较偏数学结构,特别是Rudin,从拓扑向量空间讲起,很多定理是对于一般的拓扑线性空间讨论的。这种方式的优势是可以清晰地看到泛函问题在数学上的实质。Rudin的风格太简练了,不是很好读。学过些泛函的话,是很好的材料。另外这本书上可以查到张恭庆下册的一些习题证明。7也是经常被推荐的经典文献,没有习题。
8是好几卷的文献,我没有读过,张恭庆下册里引了不少东西。
定老师是做纯泛函的,所以9里有些太过细节的东西,比如准范数和他组里做的共鸣定理的一些推广,这些可以略去。其他内容初学的时候参考不错。
个人比较推荐2、3、4、6.
10-12是点集拓扑的书。点集拓扑研究的东西并不大是几何中的“拓扑”,倒更像是数学(特别是分析)中的语言和工具。比如(非数专)泛函课上纠结不清的(0,1)是开集还是闭集的问题,只是一个子空间诱导拓扑的定义。10和11前面是点集拓扑,后面是简略的基本群和单纯同调。自学的话对照着读比较好,自己难免不理解一本书上某个观点的表达方式。12更厚一些,似乎完全是点集拓扑。不少人推荐,我没读过。
泛函的一些问题还要在一般测度空间中讨论。2和13都值得参考。14是本简明的复变函数。龚昇已经去世,写的书都很有特色,比如一开始就引入了外微分。据说龚昇水平很高,但和某院士夫妇有段有意思的故事,所以一直没评院士。
nk本科计算的课程里还没有微分几何。多元微积分中的一些问题在微分几何中可以解释得更清晰,比如映射的线性化和Jacobi矩阵,比如dx是什么(另一个形式的解释是在测度论中)。另外力学中常做各种张量的推导,本质上也是几何概念。要学近代几何的话,三维中的一些概念也是直观的基础。公认很好的参考书是15。do Carmo还有本黎曼几何也非常适合入门。但传统上学计算的人读的几何比较少。所以这些就不写在“基础”里了。
应用数学介绍
自然科学中确定性问题的应用数学,林家翘
林家翘(C.C.Lin)早年在流体问题中做了很多工作,晚年回清华“科普”,建了“周培源应用数学中心”。这本书讲得比较泛,或许对学应用数学的人每一章都会单独学到,所以大概翻翻就行。前面反复在讲“什么是应用数学”,比较有意思。
另外有两篇文章,都可以在网上找到:
鄂维南在南开大学的演讲
林家翘访谈
http://news.xinhuanet.com/st/2006-06/21/content_4725465.htm
http://zcam.tsinghua.edu.cn/?q=node/36
有限维系统和常微分方程
有限个自由度的自然现象经常用ODE描述。具体例子比如天体力学,生态系统等。另一种情况是在问题本身的约束下,可以把系统的相空间约化到有限个自由度上。这种情况比如刚体动力学(SO(n)),振动力学(几个特征方向上),一些控制系统等。
常微分方程
随着定性理论的发展,ODE渐渐成为一种几何观点和理论,与流形上的向量场一一对应。研究微分流形及其上的流时,又反过来用了ODE的存在唯一性,光滑依赖性质。
1、 常微分方程,庞特里亚金
2、 Ordinary differential equations,V.I.Arnold
3、 Geometrical methods in the theory of Ordinary Differential Equations,V.I.Arnold
1是俄罗斯那套书中的一本,中规中矩,对特殊积分方法,定性理论等讲得比较多,与数学院的这门课程在程度上大概比较配套。作者很传奇:庞特里亚金和Kolmogolov,Gelfand是一辈的人,少年时因实验爆炸双目失明,后来在莫大博士毕业,在几个方面都有杰出的贡献。早年做拓扑群,后来转做控制。Pontryagin示性类,最优控制中的很多问题都是他的杰作。也是冯康先生在苏联时的导师。
2.3是几何化的书:
2把ODE的解作为欧氏空间上的流,讲了很多几何概念。后面推广到流形上。也可以作为微分几何的入门书,提供了很直观的图像。
3是比2更进一步的书,讲了ODE系统的分岔,结构稳定性,摄动论等问题。可以看成一本动力系统的书。
(插一段Arnold,属于个人崇拜,不感兴趣者略过:
V.I.Arnold(不同于下文做有限元的DN.Arnold)是Kolmogolov的学生,是动力系统,特别是Hamilton系统方面的大家。
Arnold的出名不仅因为在动力系统方面的成果,而且在于非常能吐槽。他本人在学术上的观点要求直观和现实世界的联系,极其反感布尔巴基式的抽象。在他的书里也能看到这一点,有些定理证明甚至没有一个符号,但是非常清晰深刻。一篇文章:Arnold谈教育 (http://www.newsmth.net/nForum/#!article/Mathematics/110223?p=1),提到“一个数学教师,如果至今还没有掌握至少几卷Landau 和 Lifshitz 著的物理学教程,他(她)必将成为一个数学界的希罕的残存者,就好似如今一个仍不知道开集与闭集差别的人”。有学动力系统的人在Arnold去世后写过传略
http://bbs.sciencenet.cn/forum.php?mod=viewthread&tid=201602 .
个人极其推荐Arnold的书,即使我自己连皮毛都没学来,也折服于他对数学和物理,特别是微分方程深刻的理解和惊人的洞见。实际上,Arnold的书和视角,对保结构等数值计算问题也相当有启发。
Yj姚书单中的一段话:“必须承认,我对Arnol\'d是相当崇拜的.作为Kolmogorov的学生,他们两就占了KAM里的两个字母.他写的书,特别是一些教材以极富启发性而著称.实际上,他的习惯就是用他自己的观点把相应的材料全部重新处理一遍.从和他的几个学生的交往中我也发现他教学生的本事也非常大.特别是他的学生之间非常喜欢讨论,可能是受他言传身教的作用吧.他自己做学生的时候就和其它几个学生(都是跟不同的导师的)组织了讨论班,互相教别人自己的专长,想想这里都走出来了些什么人物吧:Anosov,Arnol\'d,Manin,Novikov,Shavarevich,Sinai...由此可见互相讨论的重要性.从学术观点上说,他更倾向于比较几何化的想法,在这本书里面也得到了相当的体现.近年来,Arnol\'d对于Bourbaki的指责已经到了令大家瞠目结舌的程度.不过话说回来,在日常生活中他还是个非常平易近人的人,至少他的学生们都是这么说的.”
可惜现在讨论的风气几乎处处没有。
http://www.cnmath.org/t/146 Arnold访谈)
把常微分方程的解看成流映射在相空间上的作用,相流存在单参数微分同胚群的结构,是一种特殊的动力系统。动力系统研究抽象的流的性质。按照映射的“良好程度”,分成拓扑动力系统,微分动力系统等。真实无耗散的物理过程可以用Hamilton系统表达,Hamilton系统的流可以看成由辛形式诱导,因此也是“辛几何”的背景。
经典力学(理论力学)和Hamilton系统的一些文献:
4、 Mathematical methods of classical mechanics,V.I.Arnold
5、 Introduction to mechanics and symmetry,Marsden
6、 哈密顿系统中的有序与无序运动,程崇庆,孙义遂
4是被称为经典力学的Bible,讲了经典力学的三种等价形式和相关的问题。同样也可以作为微分流形的入门书。经典力学中可以看到许多数学概念(变换群,变分,流形,李群和李代数,辛几何,可积系统)最直观的定义和在真实物理世界的含义。除了有穷维系统本身的意义,连续介质力学中会用到速度分解定理等,统计力学和量子力学也建立在Hamilton表述下。这本书附录几乎和正文一样厚,讲了流体力学的Hamilton表述,KAM等Arnold大师自己的成果。冯康先生最初从这本书里得到了“辛几何算法”的启示,在数值计算中引入了几何方法和“保结构”思想。他本人也对这本书和Arnold的其他书十分推崇。4的基础是Arnold在莫大开的三个学期的课的讲义。北大也有同名课程,不过只有一个学期。
有中译本,经典力学的数学方法,俄罗斯那套书里的。英文版GTM60
5的作者Marsden是几何力学领域的另一个专家,在Caltech做控制和其他力学问题的几何方法,写过不少书,流体和弹性都写过。这本书从Hamilton系统开始讲,有些问题很清楚,但最好和其他对照着读。
6是本中文书,第一章是对Hamilton系统的简略介绍,后面讲KAM定理。程崇庆老师本硕博都是读力学的……
“一般的”动力系统
7、 Differential equations,dynamical systems and an introduction to chaos ,Smale,Hirsch,Devaney
也有中译本:微分方程,动力系统和混沌导论。确实是“导论”,从线性代数开始讲。并不难,但给出了动力系统中的许多概念和经典问题,一本很好的入门书。Smale是菲尔兹+沃尔夫,工作遍及动力系统、微分拓扑、数理经济学、计算复杂性、统计。他做的东西似乎是以动力系统为主线的,他叫“mathematics of time”。另外有本科普书是和Smale与计算有关的:同伦方法纵横谈,王则柯。
如果希望严谨地读些动力系统:
8、 微分动力系统原理 ,张筑生
9、 微分动力系统导引,钱敏
两本中文书讲了微分动力系统中的结构稳定性等问题。另外文兰老师上课的讲义很有特色,不知何时能出版。“俄罗斯丛书”里有Shilnikov的非线性动力学定性理论与方法,不过我没仔细看过,似乎基本概念比较简略,讲了他和俄罗斯学派一些有点专门的东西,不是很适合初学。俄罗斯还有一套“百科全书”,动力系统部分有很多卷,Arnold就写了好几卷。如果有兴趣可以翻翻。在nk数学所和北大的图书馆,都在力学和物理的架子上。
经典力学方面经常被推荐的书还有朗道的第一本 力学。Arnold在3里给这本书挑了好几个错,但每次都提到“even in Landau’s excellent book…”
动力系统方面的科普书:
10、 天遇:混沌和稳定性的起源
讲了从庞加莱,伯克霍夫到Smale,KAM,动力系统和混沌理论激动人心的发展历史。是本比较专业的科普。
常微分方程和动力系统的数值计算:
胡健伟老师的教材上,常微数值解写得比较麻烦。计算的书如果陷入到繁琐的展开里是非常痛苦的。大概比较好的是,可以很容易把握一种方法的想法,然后自己做的时候可以推导或者查文献。这或许是鄂维南《演讲》里想说的“课程要优雅”。
10、Geometric numerical integration,structure preserving algorithms of ordinary differential equations Hairer,Lubich,Wanner
11、Symplectic geometric algorithms for Hamiltonian systems,Feng Kang Qin Mengzhao
实际上这两本书都是讲保结构算法的书。10的最前面提供了龙格库塔等常微数值方法的想法和介绍,很清晰。11不大适合当教材读,但每一章后面有一段comment,讲历史发展和可能的发展方向,比较有意思。里面基本收集了冯先生组里在辛算法中的工作。
个人非常推荐2,4
偏微分方程和无穷维系统
很惭愧的是,我虽然是学数值计算的,但到现在,“正经的”PDE还多是从有限元和泛函的书里道听途说来的。列几本公认的经典书(特别是1和3),就不妄加评论了。一直计划着读1,3,但总因为别的事情而没有实现。单就学PDE数值解课程而言,并不需要先学近代PDE。但毫无疑问地,对学计算的人而言,对PDE的理解越深越好。另外,应用数学中还会用到一些专门的技巧。北大似乎每个学期都会开“应用偏微分方程”,比如最近网站上贴出来的课程通知:“本课程将介绍常用偏微分方程的背景,基本性质以及渐近分析、均匀化、偏微分方程泛函分析技巧等研究线性、非线性偏微分方程的基本技巧。有志于将来从事应用和计算数学研究的学生应选修此偏微分方程,它与传统的偏微分方程风格迥异。”
http://www.math.pku.edu.cn:8000/news/read.php?newsid=7166
1、 Evans,Partial differential equations
2、 Fritz John,partial differential equations AMS 1
3、 Elliptic partial differential equations of second order,Gilbarg,Trudinger
4、 偏微分方程讲义,奥列尼克
对比ODE和PDE可以有很多有趣的观察。刚体运动由于有很强的约束,运动相空间被约束在一个维数很小的群上。而连续介质的流动,即使有质量守恒、动量守恒、能量守恒(建立了流体方程组)和divergence free条件(不可压),运动的状态还是无穷维的。从ODE到PDE,另外的理解方式可以参照一本PDE中很另类的书
5、 lectures on partial differential equations,V.I.Arnold
Arnold在莫斯科一个学校的讲义。开始就提出了从有穷维系统到无穷维系统产生的可积性问题。这本书的范围基本和nk非数专本科PDE相同,但观点很高,依旧是Arnold大师很独特的风格。我以前试着读过,总卡在一些问题上做不下去。但我水平比较差,对于牛人应该是本很精彩的小册子。
总之,对于无穷维系统和PDE,方法和有限维时非常不同。泛函分析和硬分析、估计仍然是最常用的工具。贴上面“Arnold传略”中的一句话:“照Arnold 的说法,ODE 研究的是轨道,是粒子的观点,但是PDE 研究的是特征线、特征面,这是波动的观点。通常两套观点是等价的:Hamiltonian 方程组是ODE,而等价的Hamilton-Jacobi 方程是PDE。”
另外,PDE中细致的硬分析有着很独特的精彩。
PDE的数值计算:
传统的数值分析正向科学计算发展,从单纯做数值算法中的数学问题,到和各门科学和具体问题的结合。力学大概是数值计算最成功的领域。流体中的Navier-Stokes方程在数学理论上是巨大的难题,数值方法使得很多流动问题可以在计算机上模拟和研究。同时由于航空航天等工程领域的推动,计算流体已经成了一个相当大的学科。弹性力学与电磁场计算也与此类似。除了传统的宏观力学,数值计算也在微观物理等科学问题中起到很重要的作用。
我本科偏数值分析的东西读得比较多,因此下面的书目也多是PDE比较传统的数值方法,但这远不是计算数学(哪怕数值分析)的全部。对科学计算感兴趣的同学可以去读读鄂维南老师的书:
http://www.math.princeton.edu/~weinan/papers/weinan_book.pdf Principles of multiscale model
鄂维南经常在国内普及“什么是应用数学”。这本书里包括了对物理、力学、化学中很多传统数学模型的反思。鄂老师的报告和书里有很多idea,非常引人入胜。
多数PDE数值方法都属于两个框架之一:格点型数值方法和Galerkin型的数值方法.前者把连续空间用有限个网格点逼近,在格点上做算子的展开.差分方法属于这种。Galerkin方法是把方程的解作为函数空间中的元素,用一个有限维子空间中的基逼近。有限元属于后者。具体地说,用分片多项式插值逼近投影。虽然有限元产生比较晚,但不能说孰优孰劣。在弹性力学(有限元也由此产生)和椭圆方程的情形,有限元有很大的优势。弹性理论本身就有变分原理。但在一些动力学性质明显的问题(Hamilton方程,波动方程,空气动力学)中,有限元并不总能做得很好。计算流体力学中,差分和有限体积,间断Galerkin方法还是主流,虽然有些在广泛使用的差分格式还不能证明收敛性和稳定性。而且在工程师之间,差分用得更多,因为简单。
差分和有限元方法的基础知识的书:
1、 Douglas Arnold的讲义 http://www.ima.umn.edu/~arnold/education.html
2、 Ciarlet,finite element methods for elliptic problems
3、 Scott,Brenner,mathematical theory of finite element methods
4、 王烈衡,许学军,有限元方法的数学基础
5、 Ciarlet edt. Handbook of numerical analysis,Vol 2
6、 Zhiming Chen,Selected topics in finite element methods
7、 Numerical partial differential equations,Thomas
8、 有限元方法,石钟慈,王鸣
9、 Numerical solution of partial differential equations by the finite element methods,Johnson
10、 Programming the finite element method with matlab,chessa
1是Douglas Arnold在明尼苏达两个学期的讲义,很是“优雅”。差分只讲了椭圆方程,不过把一些基本概念和分析方法讲得很清晰。有限元更是作者的专长。每个主题都不是很深,但是主要思想很明白。而且讲义做得很精美,非常值得一读。Douglas Arnold网站上有不少好东西(版权归作者,此处省略若干字)
2是有限元的经典。第一版出版于1978年。2002年作为classic,重印了一次。现在多数有限元数学理论的书,有限元的定义和标准的分析方法都出自这本书。可能作为教材的缺憾是作者默认读者知道基本的sobolev空间。至少学过一点有限元之后,应该读读本书的误差分析一章。5是Handbook of numerical analysis系列,vol2里的part1差不多就是把这本书重印了上去。另外5中还有Babuska写的一个特征问题的survey。类似材料似乎不是很好找。
3是现在最流行的教材。前几章作为入门很好。不过误差分析给的是一个构造性证明,因此很难读。这部分可以先参考1,2,4,5,6.后几章几乎把有限元中的各个分支都做了介绍,除了发展方程,作者指出参考Thomee的书。3出到了第三版。
4是入门的中文书。基本内容主要是从2“参考”的,但加入了很多基础知识。后面有些专题问题,比如多重网格,预条件等,但没有3深入。可以与3对照着读。
6是陈志明老师在中科院的讲义。很简练,讲了一些别处没有的专题,比如Maxwell方程的计算。最后一章关于Matlab实现。
7是差分的书,下册讲守恒律。我只是翻过几个概念。
8是北大的教材,不过我还没读过。后面讲了很多非协调元。
9是HY段老师推荐的书。我也没读过,不过看目录也是讲得比较广,但不深,初学时可以读。
10对于开始写有限元程序很有帮助。虽然作者是搞力学的,但学有限元数学理论的人读这个小的introduction也会很舒服。
个人主要推荐1、3
其他主题:
11、 Galerkin finite element methods for parabolic problems,Thomee
12、 发展方程数值计算方法,黄明游
13、 Mixed and hybrid finite element methods,Brezzi,Fortin
14、 Multigrid methods,Bramble
15、 Beatrice Riviere, Discontinuous Galerkin Methods for elliptic and parabolic Equations: Theory and implementation
16、 Finite Element Methods for Navier-Stokes Equations: Theory and Algorithms ,Girault
17、 Navier-Stokes equations: theory and numerical analysis,Temam
18、 计算流体力学的若干新方法,刘儒勋,舒其望
有限元在方法本身上,似乎有三个主要的发展方向:非标准元、快速算法、高精度算法。非标准元来自各种crime。比如variation crime产生了混合元。非协调元也属此列。快速算法主要是有限元线性方程组的solver,比如各种预条件,包括多重网格,区域分解等。高精度做的人比较少,大概超收敛,外推等属于此列。当然这些都是和具体的问题结合的。
11是发展方程有限元的标准文献。12是本很薄的中文书,是作者在一次暑期班的讲义。如果动手算一个发展方程的话,可以“速成”一下。13是混合元的经典,Brezzi就是BB条件中的一个B。不过这本书不是很好读,因为对偶理论、鞍点变分的概念,在一般的课程中不会学到。不求甚解的话,倒是也可以接着学下去。Zeidler的泛函书里对这些东西都有讲述。参见泛函部分。另外这本书里,力学方程也多是用张量写的。如果想对这些例子有更多的理解的话,最好读些力学。混合元里有各种漂亮的数学理论,因此多学些泛函(甚至几何、拓扑)再来读,可能会有不同的感受。
14是多重网格经常被推荐的书,但似乎不是很reader friendly。开头很多断言作者直接当做常识了,所以我读了几页就转去读Brenner中的章节了。另外HY段老师课上发过许进超老师的一本讲义,可惜我没有电子版,也不知道书名。
15是DG方法的书。DG方法的推导和分析看起来很是复杂。这本书给了基本的思路和框架,讨论了椭圆,抛物,对流扩散各种问题。
16和17是流体计算的两本经典书。16主要讲混合有限元,17包括各种方法,大概差分多些。但对计算流体,18讲了WENO等现在的主流算法。
实际上,数值分析和计算科学的方向非常多,个人认为本科只要简略了解一下,或者对某个感兴趣的问题多学点就可以了。多学些数学和物理的基础内容可能比较好。而且这里仅仅是列了些有限元的书。其他可以参考baidu上 计算的两个书单。
即使偏向数值分析的方向,背景也非常重要:
力学大概比狭义的物理更像数学:物理规律很简单,几个守恒就能给出一个封闭的方程组,但对方程讨论起来却十分复杂和困难。而且力学作为(传统)工程学科的基础,已经发展成一个很大的独立的学科。
Remark一下,我自己的计划是这学期主要读力学和物理,但由于毕业论文等一些事情,计划没实现……所以这里只能提一些我开学初读了一点的书和在我的计划里准备读的文献。
0、费曼物理学讲义 费曼在Caltech的普物课程,基本是口语的记录,很生动。费曼大师不需多介绍了,一共三卷,几乎0基础,非常值得读。特别是可以看到物理学家眼中的随机游动,向量分析等数学工具。
1、 理论力学,见有穷维系统部分,再推荐一次Arnold大师的 经典力学的数学方法
2、 连续介质力学
这是PDE的主要背景之一。这个名字来自于连续介质假设,包括流体力学、弹性力学、电动力学、热力学等。作为连续介质力学统一处理的书:
谢多夫 , 连续介质力学(上,下) 俄罗斯系列,对张量的介绍很精彩
连续介质力学中的数学模型,Temam(这是力学和无穷维动力系统又一个专家,法国人),这本书相对好读些
单独的:
流体:
流体力学 (上,下) 吴望一,北京大学出版社
北大力学系列的书,老而经典的中文书,很多学校力学系的教材。不过学力学的人喜欢用张量做推导,而学数学的人可能觉得各种Stokes公式简洁而舒服。
经常被推荐的还有朗道的流体力学卷。我还没读过。
Topological methods of hydrodynamics,V.I.Arnold
又是Arnold大师,这是根据他的流体力学Hamilton形式方面的工作写成的书,比上面提过的他的其他书难度都大。除了对保结构算法感兴趣的,可能多数的学计算的人还不需要。
Supersonic flow and shock waves,Courant,Friedrichs
两个作者在应用数学里大名鼎鼎了。CFL条件的C和F。可压缩流体和空气动力学的书,在我的计划里。
计算流体力学基础及其应用,Anderson
几乎0基础的CFD书。流体和计算流体有太多重要的方向和问题了,每一个都能做一辈子,比如守恒律,湍流等等。但我现在的水平也只能推荐这本入门科普。
弹性力学:
Marsden,Mathematical foundations of elasticity
Marsden是几何力学专家,所以这本书是本数学弹性,既有传统的张量观点又有泛函和微分几何的观点
北大力学系列里,武际可写过几何观点的 弹性力学引论,虽然薄,也未见得好读,因此直接读Marsden好了。
另外Ciarlet有好几卷的弹性力学,如果不是有特殊兴趣,初学就算了吧
电动力学:
Jackson,classical electrodynamics
大砖头,学物理的同学推荐,或许入门可以找点更简单的书
热力学:
王竹溪,热力学
北大物理系列。王竹溪是杨振宁的老师。物理系同学评价,北大有两本国际水平的物理书,一本是王竹溪的特殊函数概论,一本是黄昆的晶格动力学。这本书成书比较早,忽略掉一些过时的单位制换算,很值得读。而且热力学不仅出现在气体中。在其他的流体和弹性力学中,也要用热力学的定律写方程。
3、 微观力学和多尺度力学
Thermodynamics and statistical mechanics Greiner ,Greiner理论物理学教程中的一本,我只看过开头
这套书据说都是挺好的教程,讲解详细,习题丰富
Sakurai,Modern Quantum mechanics
非常好的书,虽然名字叫modern,但实际是为初学者写的书。一上来就引入bra-ket记号和superposition这些概念,反而很适合学数学的人读。曾谨言和朗道都是从很多物理事实讲起,让学数学的物理盲很茫然
另一个或许适合数学er读的大概是Dirac的名著
The Principles of quantum mechanics
可以看到为什么要引入Dirac delta 函数。
冯诺依曼也有本量子力学的数学原理,据读过的同学说,基本可以看成泛函分析的书,而不是量子力学。
鄂维南作报告的时候很推崇钱学森的 物理力学讲义。这大概是比较早的“多尺度”。
可惜钱学森晚年一直钟爱的物理力学,后来也渐渐萧条了。但现在流体力学中的统计方法似乎很流行,一些如格子玻尔兹曼方法,kinetic theory(动理学)好像也与此有关。这些已经开始道听途说了,打住吧。
另外有本广义相对论的书:
General relativity for mathematicians,伍鸿熙,Sachs
计算中有相应的数值相对论等问题。
计算机是计算科学的工具。列几本我了解的计算机书。这些多是再基础不过的,而限于水平无法给出与计算数学联系更紧密的并行,Phython等。
1、 谭浩强,C程序设计
2、 谭浩强,C++程序设计
3、 The c programming language,Kernighan,Ritchie
4、 Thinking in c++,Eckel
5、 C++ primer,Lippman (没有plus)
6、 The c++ programming language,Stroustrup
7、 数值方法和matlab实现与应用,Recktenwald
8、 Sahni,数据结构,算法与应用
9、 (算法导论)Introduction to algorithms,Cormen等
10、 Knuth,Art of computer programming,计算机程序设计艺术
11、 Concrete mathematics:a foundation for computer science,Knuth
12、Fenics
谭浩强在中国(至少非计算机专业)的影响力绝对比姚期智大。谭浩强的书确实像海河牛奶做的广告,哺育了几代IT人。大一C语言上机课老师说,他上学时c语言学不懂,看谭浩强就懂了。所以1,2是很好的入门书。(Remark,关于c和c++的关系,有人说是大熊猫和小熊猫。)
3是c语言的经典书。
4是软件学院的c++教材。个人感觉不大适合自学,特别是如果没有学过c的话。确实“思想”的成分比较大。这本书是两卷的,上卷讲c++中基本的类,等等…下卷讲容器,模板库。
5也是经典,很值得推荐。前面是基本的概念和语法,后面是STL之类。
6张波老师上课推荐过。4的序言中也写道,4的目的是让读者读懂6.
7是matlab的参考书。有很多数值方法的例子和代码。如果没学过“数值分析”这门课,也可以当做预习。
8是数据结构很好的参考书,也是软件学院的教材
9是经典,从网上可以搜到mit这门课的视频
推荐10的人多,读的人少,我也没读过。Knuth好几大卷的著作,还在写。如果想在计算机方面发展的话,可以去读。wzhh老师的数据结构课竟然把这个列在参考书里……
11,具体数学。Knuth的意思是写些计算机科学里要用到,而传统的数学课里不讲的“具体”数学。学计算机的可以读,对于计算数学似乎没必要。
12是一个有限元的代码计划。Google之就能找到相关材料,比较有意思。代码是用c或phython写的。
最后是有些专门的东西.
“谈谈计算数学”那个书单最后提到,计算数学似乎有两个突出的发展方向:其一是和具体问题的结合,其二是新的数学工具的引入。对第二个列些我知道的文献。
新的数学工具在近几年似乎越来越被人们重视。这里“新的工具”主要是几何方法。这方面主要有几组不同方向的人不约而同在做:比如冯康的Hamilton系统的辛几何算法及动力系统中的保结构算法;caltech的应用几何实验室(http://www.geometry.caltech.edu/)(和其他人)在计算电磁学(比较早)和(近来)流体力学及真正的“计算几何”,计算机图形学等问题中考虑离散外微分和离散几何、模拟差分(颇受Marsden影响,他本人也研究过变分积分子和多辛几何);DN.Arnold等在倡导的外微分有限元(finite element exterior calculus);其他还有各种几何结构的保持,比如许进超老师在做的离散李导数和复杂流体问题等。这些几何结构出现在计算问题中,基本上是通过“保结构”的思想:离散的数值算法保持连续物理系统的内在几何结构。
这个想法本身是很美妙的:现代数学物理越来越几何化,而在数值离散中保持这些微妙而深刻的结构就是自然而有趣的事情。通过这种想法也解决了一些困难的问题,突出的比如Douglas Arnold在2002年ICM的plenary speak,用FEEC解决了三维弹性问题稳定混合元的构造,并且把以前看似无关的几何、拓扑方法和数值分析再次联系了起来。
分别有些文献。比如有穷维系统数值计算中的10,11是辛算法等一系列动力系统保结构方法的参考书。外微分有限元的两篇主要文章:
Finite element exterior calculus, homological techniques, and applications,DN.Arnold,Falk,Winther,2006
Finite element exterior calculus: from Hodge theory to numerical stability,2010
离散外微分:Discrete exterior calculus,Hirani
每篇文章都介绍了详细的历史和文献,按图索骥就可以了。
一些几何书:
我们可能不关心“六维球面有没有复结构”这种纯粹的几何问题,但力学和物理问题都有很深刻的几何背景。因此初学可以参考一些力学书和物理书。除了有穷维系统中提到的几本经典力学,其他的
1、 参考泛函部分提到的曲线曲面微分几何和拓扑,V.I.Arnold的力学、方程书
2、微分几何讲义,陈省身,陈维桓
3、Modern geometry,vol1,2,3 Novikov,俄罗斯系列有中译,现代几何学
4、 Foundations of differentiable manifolds and Lie group,Warner,GTM94
5、 Lie group,Lie algebra and representations,Hall
6、 Manifolds, tensor analysis, and applications ,Marsden
7、 Riemannian Geometry,Do carmo
8、 Riemannian geometry and geometric analysis ,Jost
9、 黎曼几何初步,伍洪熙
10、 黎曼几何选讲,伍洪熙
11、 同调论,姜伯驹,北大系列
12、 微分几何及其在力学中的应用,武际可,北大力学系列
1都是很好的入门书。特别Arnold的经典力学数学方法里,可以看到各种几何概念的力学直观。这本书的附录1是一个很特别的黎曼几何介绍,讲了各种概念的直观含义。
2是经典书。不过比较“数学”和抽象,如果多读两遍可能会发现,有些定义这么给才能说明白到底是什么。很值得读,是不是开始就读这本因人而异,总之微分流形入门有点痛苦,因为各种概念和符号即便没有混用,也十分复杂。但这本书有点太强调抽象概念了,至少不能只用这本书学“几何”。陈维桓的 微分流形初步 似乎是2的解说版,我没读过。
3作者之一的Novikov是拓扑学家,菲尔兹+沃尔夫。这三卷书最让人叹服的是,最初竟然是给力学系写的(见序言)。第一卷是欧氏几何、变换群、场,第二卷讲流形上的几何和拓扑,第三卷同调。还是俄国人的风格,参考文献列了很多力学书和物理书。据说冯先生也十分喜欢这套书。
4的流形部分和2风格相似,特色的部分在后面对李群的介绍和de Rahm上同调,Hodge理论。这些都是外微分有限元的主要工具。
5是从矩阵李群写起的李理论的书。适合非几何专业读。其中也给出了李理论的标准文献,高手可以继续读下去。但似乎对于数值计算,没必要读很多抽象的代数。
6是Marsden的书,应用数学的文献中经常引用,我没读过。
7是黎曼几何很好的入门。Do carmo写书解说得很清楚。
8中有de Rahm同调,调和形式和流形上sobolev空间的材料
9.10:伍洪熙的书很重视解说想法。9有个非常漂亮的“给读者的话”。10的第一章是Hodge theory。9很值得仔细读。
11.北大系列,比较简练
12基本涉及了力学中要用到的各种几何,而且篇幅不大
个人比较推荐1,2,7,9,12
另外的remark,几何方法只是数值分析中的一点别致的风景,泛函分析、PDE才是更基本和重要的方法。而且PDE的分析技巧中也有几何方法所没有的精致和美感。因此本科时多读些PDE和分析更为靠谱。
有些日子拿来荒废,后面才有反思。
Steven J.Leon教授的线性代数
《系统程序员成长计划》,《C专家编程》,《CSAPP》,《C陷阱与缺陷》,黄静群先生的《深入浅出Hello world》 FPGA 嚓,这个我在实验室见过无数次都没有拿来玩一下。
好玩的两张图
![]() |
![]() |
社翻译的一套俄罗斯的书,多数是莫斯科大学的本科教材。很多是莫大为庆祝建校250周年专门出版的。个人非常喜欢俄罗斯的书。而且俄罗斯也确实在方程、力学等应用数学学科有很好的传统。莫大的数学系叫“数学力学系”,因此数学和力学、物理、方程的结合很紧密。俄国的数学书和数学家都带有鲜明的风格,很多数学家同时是力学家和物理学家。比如Arnold认为,学数学的人至少要读懂几卷朗道;朗道的十卷教程里也会有别的理论物理学家很少写的流体力学,弹性力学;而Novikov给力学系的几何讲义基本是美国等其他国家几何方向研究生教材的水平。这些大概都可以算在“应用数学”的范畴。
http://book.douban.com/doulist/1270007/?start=25
最近又有很多法国书被翻译出来,不过我都没读过,应该也是很好的。
“朗道” : 朗道理论物理学教程,一共十卷。基本都是公认的好书。
Springer系列:
专业的学术出版公司。本科经常能读到的数学书比如
GTM 系列 graduate texts in mathematics,已经从1出到了200多
UTM undergraduate ~
TAM texts in applied mathematics
AMS applied mathematics science
这些书的扉页都有一份当前系列的书目。看看TAM和AMS的书目也可对国外“应用数学”在做什么有个管中窥豹的了解。
北大系列:北大把不少老师的讲义和教材都出版了,数学、物理、力学各有一个系列。多数可以作为入门参考。
***************************************
泛函分析
1. 泛函分析讲义(上,下) 张恭庆,北大系列
2. 函数论与泛函分析初步,柯尔莫戈洛夫 ,佛明,俄罗斯系列
3. Applied Functional analysis,Zeidler(Vol 1,2) AMS 108,109
4. Functional analysis , Peter Lax
5. Functional analysis,sobolev space and partial differential equations Brezeis
6. Functional analysis,Rudin
7. Functional analysis,Yosida
8. Methods of modern mathematical physics,Reed,Simon
9. 泛函分析新讲,定光桂
10. 基础拓扑学讲义,尤承业,北大系列
11. Basic topology,Armstrong
12. Topology,Munkres
13. Real and complex analysis,Rudin
14. 简明复分析 龚昇,科大系列
15. 曲线曲面的微分几何,do carmo http://book.douban.com/subject/1945893/
计算数学最传统和重要的工具是泛函分析.泛函分析研究分析中的拓扑和代数结构,因此最好先学完点集拓扑再学泛函。泛函的范围很广,各个书里的内容也有很大差异。但主要有两种:一种是比较纯数学式的,重在讲内在的数学结构和与其他数学分支的联系,比如6,另外是“应用数学”的,强调在数学物理、PDE、数值分析和概率中的应用。比如2,3,4,5.
1是一套比较好的中文书,书里特别强调泛函分析的来源、背景和具体应用,上册讲了很多计算中重要的定理,比如Lax等价和Lax-Milgram,下册提到一些统计物理和量子力学的例子。下册一些习题是Rudin上的定理,自己做比较困难。 Lax就是4的作者,4是他在Courant Institute给研究生的讲义。作为Courant Institute曾经的boss,Lax有很多写进教材的条件、定理,比如CFL。
2是Kolmogolov的书,包含了集合论、点集拓扑、实变函数、实分析和泛函分析的材料。还是俄国书的风格,发展理论去做方程、物理、力学等具体问题。有些定理的证明和一般课本上不一样,我学实变函数时读着比较费劲,后来再读才感觉精彩。这本书作为很多分析问题的统一处理,写了Fourier分析和变分的一些内容,而算子代数、谱理论和其他专题讲得比较少。前言说作者生前想加入“在数值分析中的应用”,可惜没完成。俄罗斯系列里翻译的是第七版。莫大本科“分析3”的教材。
3是HY段老师上课推荐的一套书,非常值得读。Zeidler是Plank Institute的boss,他还有一大套的“非线性泛函分析”。按段老师的说法,学应用数学应该读既是数学家又是物理学家的人写的书。这两本书里有些别处很少讲,但在应用数学中很重要的东西:比如PDE中的不动点定理,混合有限元和最优控制中要用到的对偶理论和鞍点变分,量子力学、统计物理和场论的例子,还有很多泛函的发展历史和物理背景。取材非常适合应用数学er,而且有泛函1的基础,并不难读,可以用少的时间得到大的收获。顺便吐槽,中文书里的“应用泛函分析”多是给非数学专业科普的。
6,7比较偏数学结构,特别是Rudin,从拓扑向量空间讲起,很多定理是对于一般的拓扑线性空间讨论的。这种方式的优势是可以清晰地看到泛函问题在数学上的实质。Rudin的风格太简练了,不是很好读。学过些泛函的话,是很好的材料。另外这本书上可以查到张恭庆下册的一些习题证明。7也是经常被推荐的经典文献,没有习题。
8是好几卷的文献,我没有读过,张恭庆下册里引了不少东西。
定老师是做纯泛函的,所以9里有些太过细节的东西,比如准范数和他组里做的共鸣定理的一些推广,这些可以略去。其他内容初学的时候参考不错。
个人比较推荐2、3、4、6.
10-12是点集拓扑的书。点集拓扑研究的东西并不大是几何中的“拓扑”,倒更像是数学(特别是分析)中的语言和工具。比如(非数专)泛函课上纠结不清的(0,1)是开集还是闭集的问题,只是一个子空间诱导拓扑的定义。10和11前面是点集拓扑,后面是简略的基本群和单纯同调。自学的话对照着读比较好,自己难免不理解一本书上某个观点的表达方式。12更厚一些,似乎完全是点集拓扑。不少人推荐,我没读过。
泛函的一些问题还要在一般测度空间中讨论。2和13都值得参考。14是本简明的复变函数。龚昇已经去世,写的书都很有特色,比如一开始就引入了外微分。据说龚昇水平很高,但和某院士夫妇有段有意思的故事,所以一直没评院士。
nk本科计算的课程里还没有微分几何。多元微积分中的一些问题在微分几何中可以解释得更清晰,比如映射的线性化和Jacobi矩阵,比如dx是什么(另一个形式的解释是在测度论中)。另外力学中常做各种张量的推导,本质上也是几何概念。要学近代几何的话,三维中的一些概念也是直观的基础。公认很好的参考书是15。do Carmo还有本黎曼几何也非常适合入门。但传统上学计算的人读的几何比较少。所以这些就不写在“基础”里了。
应用数学介绍
自然科学中确定性问题的应用数学,林家翘
林家翘(C.C.Lin)早年在流体问题中做了很多工作,晚年回清华“科普”,建了“周培源应用数学中心”。这本书讲得比较泛,或许对学应用数学的人每一章都会单独学到,所以大概翻翻就行。前面反复在讲“什么是应用数学”,比较有意思。
另外有两篇文章,都可以在网上找到:
鄂维南在南开大学的演讲
林家翘访谈
http://news.xinhuanet.com/st/2006-06/21/content_4725465.htm
http://zcam.tsinghua.edu.cn/?q=node/36
有限维系统和常微分方程
有限个自由度的自然现象经常用ODE描述。具体例子比如天体力学,生态系统等。另一种情况是在问题本身的约束下,可以把系统的相空间约化到有限个自由度上。这种情况比如刚体动力学(SO(n)),振动力学(几个特征方向上),一些控制系统等。
常微分方程
随着定性理论的发展,ODE渐渐成为一种几何观点和理论,与流形上的向量场一一对应。研究微分流形及其上的流时,又反过来用了ODE的存在唯一性,光滑依赖性质。
1、 常微分方程,庞特里亚金
2、 Ordinary differential equations,V.I.Arnold
3、 Geometrical methods in the theory of Ordinary Differential Equations,V.I.Arnold
1是俄罗斯那套书中的一本,中规中矩,对特殊积分方法,定性理论等讲得比较多,与数学院的这门课程在程度上大概比较配套。作者很传奇:庞特里亚金和Kolmogolov,Gelfand是一辈的人,少年时因实验爆炸双目失明,后来在莫大博士毕业,在几个方面都有杰出的贡献。早年做拓扑群,后来转做控制。Pontryagin示性类,最优控制中的很多问题都是他的杰作。也是冯康先生在苏联时的导师。
2.3是几何化的书:
2把ODE的解作为欧氏空间上的流,讲了很多几何概念。后面推广到流形上。也可以作为微分几何的入门书,提供了很直观的图像。
3是比2更进一步的书,讲了ODE系统的分岔,结构稳定性,摄动论等问题。可以看成一本动力系统的书。
(插一段Arnold,属于个人崇拜,不感兴趣者略过:
V.I.Arnold(不同于下文做有限元的DN.Arnold)是Kolmogolov的学生,是动力系统,特别是Hamilton系统方面的大家。
Arnold的出名不仅因为在动力系统方面的成果,而且在于非常能吐槽。他本人在学术上的观点要求直观和现实世界的联系,极其反感布尔巴基式的抽象。在他的书里也能看到这一点,有些定理证明甚至没有一个符号,但是非常清晰深刻。一篇文章:Arnold谈教育 (http://www.newsmth.net/nForum/#!article/Mathematics/110223?p=1),提到“一个数学教师,如果至今还没有掌握至少几卷Landau 和 Lifshitz 著的物理学教程,他(她)必将成为一个数学界的希罕的残存者,就好似如今一个仍不知道开集与闭集差别的人”。有学动力系统的人在Arnold去世后写过传略
http://bbs.sciencenet.cn/forum.php?mod=viewthread&tid=201602 .
个人极其推荐Arnold的书,即使我自己连皮毛都没学来,也折服于他对数学和物理,特别是微分方程深刻的理解和惊人的洞见。实际上,Arnold的书和视角,对保结构等数值计算问题也相当有启发。
Yj姚书单中的一段话:“必须承认,我对Arnol\'d是相当崇拜的.作为Kolmogorov的学生,他们两就占了KAM里的两个字母.他写的书,特别是一些教材以极富启发性而著称.实际上,他的习惯就是用他自己的观点把相应的材料全部重新处理一遍.从和他的几个学生的交往中我也发现他教学生的本事也非常大.特别是他的学生之间非常喜欢讨论,可能是受他言传身教的作用吧.他自己做学生的时候就和其它几个学生(都是跟不同的导师的)组织了讨论班,互相教别人自己的专长,想想这里都走出来了些什么人物吧:Anosov,Arnol\'d,Manin,Novikov,Shavarevich,Sinai...由此可见互相讨论的重要性.从学术观点上说,他更倾向于比较几何化的想法,在这本书里面也得到了相当的体现.近年来,Arnol\'d对于Bourbaki的指责已经到了令大家瞠目结舌的程度.不过话说回来,在日常生活中他还是个非常平易近人的人,至少他的学生们都是这么说的.”
可惜现在讨论的风气几乎处处没有。
http://www.cnmath.org/t/146 Arnold访谈)
把常微分方程的解看成流映射在相空间上的作用,相流存在单参数微分同胚群的结构,是一种特殊的动力系统。动力系统研究抽象的流的性质。按照映射的“良好程度”,分成拓扑动力系统,微分动力系统等。真实无耗散的物理过程可以用Hamilton系统表达,Hamilton系统的流可以看成由辛形式诱导,因此也是“辛几何”的背景。
经典力学(理论力学)和Hamilton系统的一些文献:
4、 Mathematical methods of classical mechanics,V.I.Arnold
5、 Introduction to mechanics and symmetry,Marsden
6、 哈密顿系统中的有序与无序运动,程崇庆,孙义遂
4是被称为经典力学的Bible,讲了经典力学的三种等价形式和相关的问题。同样也可以作为微分流形的入门书。经典力学中可以看到许多数学概念(变换群,变分,流形,李群和李代数,辛几何,可积系统)最直观的定义和在真实物理世界的含义。除了有穷维系统本身的意义,连续介质力学中会用到速度分解定理等,统计力学和量子力学也建立在Hamilton表述下。这本书附录几乎和正文一样厚,讲了流体力学的Hamilton表述,KAM等Arnold大师自己的成果。冯康先生最初从这本书里得到了“辛几何算法”的启示,在数值计算中引入了几何方法和“保结构”思想。他本人也对这本书和Arnold的其他书十分推崇。4的基础是Arnold在莫大开的三个学期的课的讲义。北大也有同名课程,不过只有一个学期。
有中译本,经典力学的数学方法,俄罗斯那套书里的。英文版GTM60
5的作者Marsden是几何力学领域的另一个专家,在Caltech做控制和其他力学问题的几何方法,写过不少书,流体和弹性都写过。这本书从Hamilton系统开始讲,有些问题很清楚,但最好和其他对照着读。
6是本中文书,第一章是对Hamilton系统的简略介绍,后面讲KAM定理。程崇庆老师本硕博都是读力学的……
“一般的”动力系统
7、 Differential equations,dynamical systems and an introduction to chaos ,Smale,Hirsch,Devaney
也有中译本:微分方程,动力系统和混沌导论。确实是“导论”,从线性代数开始讲。并不难,但给出了动力系统中的许多概念和经典问题,一本很好的入门书。Smale是菲尔兹+沃尔夫,工作遍及动力系统、微分拓扑、数理经济学、计算复杂性、统计。他做的东西似乎是以动力系统为主线的,他叫“mathematics of time”。另外有本科普书是和Smale与计算有关的:同伦方法纵横谈,王则柯。
如果希望严谨地读些动力系统:
8、 微分动力系统原理 ,张筑生
9、 微分动力系统导引,钱敏
两本中文书讲了微分动力系统中的结构稳定性等问题。另外文兰老师上课的讲义很有特色,不知何时能出版。“俄罗斯丛书”里有Shilnikov的非线性动力学定性理论与方法,不过我没仔细看过,似乎基本概念比较简略,讲了他和俄罗斯学派一些有点专门的东西,不是很适合初学。俄罗斯还有一套“百科全书”,动力系统部分有很多卷,Arnold就写了好几卷。如果有兴趣可以翻翻。在nk数学所和北大的图书馆,都在力学和物理的架子上。
经典力学方面经常被推荐的书还有朗道的第一本 力学。Arnold在3里给这本书挑了好几个错,但每次都提到“even in Landau’s excellent book…”
动力系统方面的科普书:
10、 天遇:混沌和稳定性的起源
讲了从庞加莱,伯克霍夫到Smale,KAM,动力系统和混沌理论激动人心的发展历史。是本比较专业的科普。
常微分方程和动力系统的数值计算:
胡健伟老师的教材上,常微数值解写得比较麻烦。计算的书如果陷入到繁琐的展开里是非常痛苦的。大概比较好的是,可以很容易把握一种方法的想法,然后自己做的时候可以推导或者查文献。这或许是鄂维南《演讲》里想说的“课程要优雅”。
10、Geometric numerical integration,structure preserving algorithms of ordinary differential equations Hairer,Lubich,Wanner
11、Symplectic geometric algorithms for Hamiltonian systems,Feng Kang Qin Mengzhao
实际上这两本书都是讲保结构算法的书。10的最前面提供了龙格库塔等常微数值方法的想法和介绍,很清晰。11不大适合当教材读,但每一章后面有一段comment,讲历史发展和可能的发展方向,比较有意思。里面基本收集了冯先生组里在辛算法中的工作。
个人非常推荐2,4
偏微分方程和无穷维系统
很惭愧的是,我虽然是学数值计算的,但到现在,“正经的”PDE还多是从有限元和泛函的书里道听途说来的。列几本公认的经典书(特别是1和3),就不妄加评论了。一直计划着读1,3,但总因为别的事情而没有实现。单就学PDE数值解课程而言,并不需要先学近代PDE。但毫无疑问地,对学计算的人而言,对PDE的理解越深越好。另外,应用数学中还会用到一些专门的技巧。北大似乎每个学期都会开“应用偏微分方程”,比如最近网站上贴出来的课程通知:“本课程将介绍常用偏微分方程的背景,基本性质以及渐近分析、均匀化、偏微分方程泛函分析技巧等研究线性、非线性偏微分方程的基本技巧。有志于将来从事应用和计算数学研究的学生应选修此偏微分方程,它与传统的偏微分方程风格迥异。”
http://www.math.pku.edu.cn:8000/news/read.php?newsid=7166
1、 Evans,Partial differential equations
2、 Fritz John,partial differential equations AMS 1
3、 Elliptic partial differential equations of second order,Gilbarg,Trudinger
4、 偏微分方程讲义,奥列尼克
对比ODE和PDE可以有很多有趣的观察。刚体运动由于有很强的约束,运动相空间被约束在一个维数很小的群上。而连续介质的流动,即使有质量守恒、动量守恒、能量守恒(建立了流体方程组)和divergence free条件(不可压),运动的状态还是无穷维的。从ODE到PDE,另外的理解方式可以参照一本PDE中很另类的书
5、 lectures on partial differential equations,V.I.Arnold
Arnold在莫斯科一个学校的讲义。开始就提出了从有穷维系统到无穷维系统产生的可积性问题。这本书的范围基本和nk非数专本科PDE相同,但观点很高,依旧是Arnold大师很独特的风格。我以前试着读过,总卡在一些问题上做不下去。但我水平比较差,对于牛人应该是本很精彩的小册子。
总之,对于无穷维系统和PDE,方法和有限维时非常不同。泛函分析和硬分析、估计仍然是最常用的工具。贴上面“Arnold传略”中的一句话:“照Arnold 的说法,ODE 研究的是轨道,是粒子的观点,但是PDE 研究的是特征线、特征面,这是波动的观点。通常两套观点是等价的:Hamiltonian 方程组是ODE,而等价的Hamilton-Jacobi 方程是PDE。”
另外,PDE中细致的硬分析有着很独特的精彩。
PDE的数值计算:
传统的数值分析正向科学计算发展,从单纯做数值算法中的数学问题,到和各门科学和具体问题的结合。力学大概是数值计算最成功的领域。流体中的Navier-Stokes方程在数学理论上是巨大的难题,数值方法使得很多流动问题可以在计算机上模拟和研究。同时由于航空航天等工程领域的推动,计算流体已经成了一个相当大的学科。弹性力学与电磁场计算也与此类似。除了传统的宏观力学,数值计算也在微观物理等科学问题中起到很重要的作用。
我本科偏数值分析的东西读得比较多,因此下面的书目也多是PDE比较传统的数值方法,但这远不是计算数学(哪怕数值分析)的全部。对科学计算感兴趣的同学可以去读读鄂维南老师的书:
http://www.math.princeton.edu/~weinan/papers/weinan_book.pdf Principles of multiscale model
鄂维南经常在国内普及“什么是应用数学”。这本书里包括了对物理、力学、化学中很多传统数学模型的反思。鄂老师的报告和书里有很多idea,非常引人入胜。
多数PDE数值方法都属于两个框架之一:格点型数值方法和Galerkin型的数值方法.前者把连续空间用有限个网格点逼近,在格点上做算子的展开.差分方法属于这种。Galerkin方法是把方程的解作为函数空间中的元素,用一个有限维子空间中的基逼近。有限元属于后者。具体地说,用分片多项式插值逼近投影。虽然有限元产生比较晚,但不能说孰优孰劣。在弹性力学(有限元也由此产生)和椭圆方程的情形,有限元有很大的优势。弹性理论本身就有变分原理。但在一些动力学性质明显的问题(Hamilton方程,波动方程,空气动力学)中,有限元并不总能做得很好。计算流体力学中,差分和有限体积,间断Galerkin方法还是主流,虽然有些在广泛使用的差分格式还不能证明收敛性和稳定性。而且在工程师之间,差分用得更多,因为简单。
差分和有限元方法的基础知识的书:
1、 Douglas Arnold的讲义 http://www.ima.umn.edu/~arnold/education.html
2、 Ciarlet,finite element methods for elliptic problems
3、 Scott,Brenner,mathematical theory of finite element methods
4、 王烈衡,许学军,有限元方法的数学基础
5、 Ciarlet edt. Handbook of numerical analysis,Vol 2
6、 Zhiming Chen,Selected topics in finite element methods
7、 Numerical partial differential equations,Thomas
8、 有限元方法,石钟慈,王鸣
9、 Numerical solution of partial differential equations by the finite element methods,Johnson
10、 Programming the finite element method with matlab,chessa
1是Douglas Arnold在明尼苏达两个学期的讲义,很是“优雅”。差分只讲了椭圆方程,不过把一些基本概念和分析方法讲得很清晰。有限元更是作者的专长。每个主题都不是很深,但是主要思想很明白。而且讲义做得很精美,非常值得一读。Douglas Arnold网站上有不少好东西(版权归作者,此处省略若干字)
2是有限元的经典。第一版出版于1978年。2002年作为classic,重印了一次。现在多数有限元数学理论的书,有限元的定义和标准的分析方法都出自这本书。可能作为教材的缺憾是作者默认读者知道基本的sobolev空间。至少学过一点有限元之后,应该读读本书的误差分析一章。5是Handbook of numerical analysis系列,vol2里的part1差不多就是把这本书重印了上去。另外5中还有Babuska写的一个特征问题的survey。类似材料似乎不是很好找。
3是现在最流行的教材。前几章作为入门很好。不过误差分析给的是一个构造性证明,因此很难读。这部分可以先参考1,2,4,5,6.后几章几乎把有限元中的各个分支都做了介绍,除了发展方程,作者指出参考Thomee的书。3出到了第三版。
4是入门的中文书。基本内容主要是从2“参考”的,但加入了很多基础知识。后面有些专题问题,比如多重网格,预条件等,但没有3深入。可以与3对照着读。
6是陈志明老师在中科院的讲义。很简练,讲了一些别处没有的专题,比如Maxwell方程的计算。最后一章关于Matlab实现。
7是差分的书,下册讲守恒律。我只是翻过几个概念。
8是北大的教材,不过我还没读过。后面讲了很多非协调元。
9是HY段老师推荐的书。我也没读过,不过看目录也是讲得比较广,但不深,初学时可以读。
10对于开始写有限元程序很有帮助。虽然作者是搞力学的,但学有限元数学理论的人读这个小的introduction也会很舒服。
个人主要推荐1、3
其他主题:
11、 Galerkin finite element methods for parabolic problems,Thomee
12、 发展方程数值计算方法,黄明游
13、 Mixed and hybrid finite element methods,Brezzi,Fortin
14、 Multigrid methods,Bramble
15、 Beatrice Riviere, Discontinuous Galerkin Methods for elliptic and parabolic Equations: Theory and implementation
16、 Finite Element Methods for Navier-Stokes Equations: Theory and Algorithms ,Girault
17、 Navier-Stokes equations: theory and numerical analysis,Temam
18、 计算流体力学的若干新方法,刘儒勋,舒其望
有限元在方法本身上,似乎有三个主要的发展方向:非标准元、快速算法、高精度算法。非标准元来自各种crime。比如variation crime产生了混合元。非协调元也属此列。快速算法主要是有限元线性方程组的solver,比如各种预条件,包括多重网格,区域分解等。高精度做的人比较少,大概超收敛,外推等属于此列。当然这些都是和具体的问题结合的。
11是发展方程有限元的标准文献。12是本很薄的中文书,是作者在一次暑期班的讲义。如果动手算一个发展方程的话,可以“速成”一下。13是混合元的经典,Brezzi就是BB条件中的一个B。不过这本书不是很好读,因为对偶理论、鞍点变分的概念,在一般的课程中不会学到。不求甚解的话,倒是也可以接着学下去。Zeidler的泛函书里对这些东西都有讲述。参见泛函部分。另外这本书里,力学方程也多是用张量写的。如果想对这些例子有更多的理解的话,最好读些力学。混合元里有各种漂亮的数学理论,因此多学些泛函(甚至几何、拓扑)再来读,可能会有不同的感受。
14是多重网格经常被推荐的书,但似乎不是很reader friendly。开头很多断言作者直接当做常识了,所以我读了几页就转去读Brenner中的章节了。另外HY段老师课上发过许进超老师的一本讲义,可惜我没有电子版,也不知道书名。
15是DG方法的书。DG方法的推导和分析看起来很是复杂。这本书给了基本的思路和框架,讨论了椭圆,抛物,对流扩散各种问题。
16和17是流体计算的两本经典书。16主要讲混合有限元,17包括各种方法,大概差分多些。但对计算流体,18讲了WENO等现在的主流算法。
实际上,数值分析和计算科学的方向非常多,个人认为本科只要简略了解一下,或者对某个感兴趣的问题多学点就可以了。多学些数学和物理的基础内容可能比较好。而且这里仅仅是列了些有限元的书。其他可以参考baidu上 计算的两个书单。
即使偏向数值分析的方向,背景也非常重要:
力学大概比狭义的物理更像数学:物理规律很简单,几个守恒就能给出一个封闭的方程组,但对方程讨论起来却十分复杂和困难。而且力学作为(传统)工程学科的基础,已经发展成一个很大的独立的学科。
Remark一下,我自己的计划是这学期主要读力学和物理,但由于毕业论文等一些事情,计划没实现……所以这里只能提一些我开学初读了一点的书和在我的计划里准备读的文献。
0、费曼物理学讲义 费曼在Caltech的普物课程,基本是口语的记录,很生动。费曼大师不需多介绍了,一共三卷,几乎0基础,非常值得读。特别是可以看到物理学家眼中的随机游动,向量分析等数学工具。
1、 理论力学,见有穷维系统部分,再推荐一次Arnold大师的 经典力学的数学方法
2、 连续介质力学
这是PDE的主要背景之一。这个名字来自于连续介质假设,包括流体力学、弹性力学、电动力学、热力学等。作为连续介质力学统一处理的书:
谢多夫 , 连续介质力学(上,下) 俄罗斯系列,对张量的介绍很精彩
连续介质力学中的数学模型,Temam(这是力学和无穷维动力系统又一个专家,法国人),这本书相对好读些
单独的:
流体:
流体力学 (上,下) 吴望一,北京大学出版社
北大力学系列的书,老而经典的中文书,很多学校力学系的教材。不过学力学的人喜欢用张量做推导,而学数学的人可能觉得各种Stokes公式简洁而舒服。
经常被推荐的还有朗道的流体力学卷。我还没读过。
Topological methods of hydrodynamics,V.I.Arnold
又是Arnold大师,这是根据他的流体力学Hamilton形式方面的工作写成的书,比上面提过的他的其他书难度都大。除了对保结构算法感兴趣的,可能多数的学计算的人还不需要。
Supersonic flow and shock waves,Courant,Friedrichs
两个作者在应用数学里大名鼎鼎了。CFL条件的C和F。可压缩流体和空气动力学的书,在我的计划里。
计算流体力学基础及其应用,Anderson
几乎0基础的CFD书。流体和计算流体有太多重要的方向和问题了,每一个都能做一辈子,比如守恒律,湍流等等。但我现在的水平也只能推荐这本入门科普。
弹性力学:
Marsden,Mathematical foundations of elasticity
Marsden是几何力学专家,所以这本书是本数学弹性,既有传统的张量观点又有泛函和微分几何的观点
北大力学系列里,武际可写过几何观点的 弹性力学引论,虽然薄,也未见得好读,因此直接读Marsden好了。
另外Ciarlet有好几卷的弹性力学,如果不是有特殊兴趣,初学就算了吧
电动力学:
Jackson,classical electrodynamics
大砖头,学物理的同学推荐,或许入门可以找点更简单的书
热力学:
王竹溪,热力学
北大物理系列。王竹溪是杨振宁的老师。物理系同学评价,北大有两本国际水平的物理书,一本是王竹溪的特殊函数概论,一本是黄昆的晶格动力学。这本书成书比较早,忽略掉一些过时的单位制换算,很值得读。而且热力学不仅出现在气体中。在其他的流体和弹性力学中,也要用热力学的定律写方程。
3、 微观力学和多尺度力学
Thermodynamics and statistical mechanics Greiner ,Greiner理论物理学教程中的一本,我只看过开头
这套书据说都是挺好的教程,讲解详细,习题丰富
Sakurai,Modern Quantum mechanics
非常好的书,虽然名字叫modern,但实际是为初学者写的书。一上来就引入bra-ket记号和superposition这些概念,反而很适合学数学的人读。曾谨言和朗道都是从很多物理事实讲起,让学数学的物理盲很茫然
另一个或许适合数学er读的大概是Dirac的名著
The Principles of quantum mechanics
可以看到为什么要引入Dirac delta 函数。
冯诺依曼也有本量子力学的数学原理,据读过的同学说,基本可以看成泛函分析的书,而不是量子力学。
鄂维南作报告的时候很推崇钱学森的 物理力学讲义。这大概是比较早的“多尺度”。
可惜钱学森晚年一直钟爱的物理力学,后来也渐渐萧条了。但现在流体力学中的统计方法似乎很流行,一些如格子玻尔兹曼方法,kinetic theory(动理学)好像也与此有关。这些已经开始道听途说了,打住吧。
另外有本广义相对论的书:
General relativity for mathematicians,伍鸿熙,Sachs
计算中有相应的数值相对论等问题。
计算机是计算科学的工具。列几本我了解的计算机书。这些多是再基础不过的,而限于水平无法给出与计算数学联系更紧密的并行,Phython等。
1、 谭浩强,C程序设计
2、 谭浩强,C++程序设计
3、 The c programming language,Kernighan,Ritchie
4、 Thinking in c++,Eckel
5、 C++ primer,Lippman (没有plus)
6、 The c++ programming language,Stroustrup
7、 数值方法和matlab实现与应用,Recktenwald
8、 Sahni,数据结构,算法与应用
9、 (算法导论)Introduction to algorithms,Cormen等
10、 Knuth,Art of computer programming,计算机程序设计艺术
11、 Concrete mathematics:a foundation for computer science,Knuth
12、Fenics
谭浩强在中国(至少非计算机专业)的影响力绝对比姚期智大。谭浩强的书确实像海河牛奶做的广告,哺育了几代IT人。大一C语言上机课老师说,他上学时c语言学不懂,看谭浩强就懂了。所以1,2是很好的入门书。(Remark,关于c和c++的关系,有人说是大熊猫和小熊猫。)
3是c语言的经典书。
4是软件学院的c++教材。个人感觉不大适合自学,特别是如果没有学过c的话。确实“思想”的成分比较大。这本书是两卷的,上卷讲c++中基本的类,等等…下卷讲容器,模板库。
5也是经典,很值得推荐。前面是基本的概念和语法,后面是STL之类。
6张波老师上课推荐过。4的序言中也写道,4的目的是让读者读懂6.
7是matlab的参考书。有很多数值方法的例子和代码。如果没学过“数值分析”这门课,也可以当做预习。
8是数据结构很好的参考书,也是软件学院的教材
9是经典,从网上可以搜到mit这门课的视频
推荐10的人多,读的人少,我也没读过。Knuth好几大卷的著作,还在写。如果想在计算机方面发展的话,可以去读。wzhh老师的数据结构课竟然把这个列在参考书里……
11,具体数学。Knuth的意思是写些计算机科学里要用到,而传统的数学课里不讲的“具体”数学。学计算机的可以读,对于计算数学似乎没必要。
12是一个有限元的代码计划。Google之就能找到相关材料,比较有意思。代码是用c或phython写的。
最后是有些专门的东西.
“谈谈计算数学”那个书单最后提到,计算数学似乎有两个突出的发展方向:其一是和具体问题的结合,其二是新的数学工具的引入。对第二个列些我知道的文献。
新的数学工具在近几年似乎越来越被人们重视。这里“新的工具”主要是几何方法。这方面主要有几组不同方向的人不约而同在做:比如冯康的Hamilton系统的辛几何算法及动力系统中的保结构算法;caltech的应用几何实验室(http://www.geometry.caltech.edu/)(和其他人)在计算电磁学(比较早)和(近来)流体力学及真正的“计算几何”,计算机图形学等问题中考虑离散外微分和离散几何、模拟差分(颇受Marsden影响,他本人也研究过变分积分子和多辛几何);DN.Arnold等在倡导的外微分有限元(finite element exterior calculus);其他还有各种几何结构的保持,比如许进超老师在做的离散李导数和复杂流体问题等。这些几何结构出现在计算问题中,基本上是通过“保结构”的思想:离散的数值算法保持连续物理系统的内在几何结构。
这个想法本身是很美妙的:现代数学物理越来越几何化,而在数值离散中保持这些微妙而深刻的结构就是自然而有趣的事情。通过这种想法也解决了一些困难的问题,突出的比如Douglas Arnold在2002年ICM的plenary speak,用FEEC解决了三维弹性问题稳定混合元的构造,并且把以前看似无关的几何、拓扑方法和数值分析再次联系了起来。
分别有些文献。比如有穷维系统数值计算中的10,11是辛算法等一系列动力系统保结构方法的参考书。外微分有限元的两篇主要文章:
Finite element exterior calculus, homological techniques, and applications,DN.Arnold,Falk,Winther,2006
Finite element exterior calculus: from Hodge theory to numerical stability,2010
离散外微分:Discrete exterior calculus,Hirani
每篇文章都介绍了详细的历史和文献,按图索骥就可以了。
一些几何书:
我们可能不关心“六维球面有没有复结构”这种纯粹的几何问题,但力学和物理问题都有很深刻的几何背景。因此初学可以参考一些力学书和物理书。除了有穷维系统中提到的几本经典力学,其他的
1、 参考泛函部分提到的曲线曲面微分几何和拓扑,V.I.Arnold的力学、方程书
2、微分几何讲义,陈省身,陈维桓
3、Modern geometry,vol1,2,3 Novikov,俄罗斯系列有中译,现代几何学
4、 Foundations of differentiable manifolds and Lie group,Warner,GTM94
5、 Lie group,Lie algebra and representations,Hall
6、 Manifolds, tensor analysis, and applications ,Marsden
7、 Riemannian Geometry,Do carmo
8、 Riemannian geometry and geometric analysis ,Jost
9、 黎曼几何初步,伍洪熙
10、 黎曼几何选讲,伍洪熙
11、 同调论,姜伯驹,北大系列
12、 微分几何及其在力学中的应用,武际可,北大力学系列
1都是很好的入门书。特别Arnold的经典力学数学方法里,可以看到各种几何概念的力学直观。这本书的附录1是一个很特别的黎曼几何介绍,讲了各种概念的直观含义。
2是经典书。不过比较“数学”和抽象,如果多读两遍可能会发现,有些定义这么给才能说明白到底是什么。很值得读,是不是开始就读这本因人而异,总之微分流形入门有点痛苦,因为各种概念和符号即便没有混用,也十分复杂。但这本书有点太强调抽象概念了,至少不能只用这本书学“几何”。陈维桓的 微分流形初步 似乎是2的解说版,我没读过。
3作者之一的Novikov是拓扑学家,菲尔兹+沃尔夫。这三卷书最让人叹服的是,最初竟然是给力学系写的(见序言)。第一卷是欧氏几何、变换群、场,第二卷讲流形上的几何和拓扑,第三卷同调。还是俄国人的风格,参考文献列了很多力学书和物理书。据说冯先生也十分喜欢这套书。
4的流形部分和2风格相似,特色的部分在后面对李群的介绍和de Rahm上同调,Hodge理论。这些都是外微分有限元的主要工具。
5是从矩阵李群写起的李理论的书。适合非几何专业读。其中也给出了李理论的标准文献,高手可以继续读下去。但似乎对于数值计算,没必要读很多抽象的代数。
6是Marsden的书,应用数学的文献中经常引用,我没读过。
7是黎曼几何很好的入门。Do carmo写书解说得很清楚。
8中有de Rahm同调,调和形式和流形上sobolev空间的材料
9.10:伍洪熙的书很重视解说想法。9有个非常漂亮的“给读者的话”。10的第一章是Hodge theory。9很值得仔细读。
11.北大系列,比较简练
12基本涉及了力学中要用到的各种几何,而且篇幅不大
个人比较推荐1,2,7,9,12
另外的remark,几何方法只是数值分析中的一点别致的风景,泛函分析、PDE才是更基本和重要的方法。而且PDE的分析技巧中也有几何方法所没有的精致和美感。因此本科时多读些PDE和分析更为靠谱。