微积分(Calculus),顾名思义,就是微分与积分,代表函数的第七种(Differentiation)和第八种(Integration)运算。前六种运算是:加、减、乘、除、幂、代入(或称复合),即函数的初等运算。Calculus的意思就是“演算”,比如有命题演算(Proposition Calculus),张量演算(Tensor Calculus)。演算不是代数学干的事情吗?还真是有很多人把微积分当成了代数来进行教/学:只会了那十几个导函数公式、五条运算法则及三种方法,却对微积分的根本概念—极限,视若不见,或许根本就是无法理解。
据说是Newton和Leibniz各自独立地发明了微积分。Newton是从物理量的时间变化率得出了流数的概念;Leibniz则是从几何图形的切线斜率导出了微分的概念。两人都是从Fermat求极值的方法得到了启发。英、德两国为此争论了一百多年:到底是谁先发明了微积分?以致于英国人使用牛顿的流数记号(函数名头上带 “点” ),德国人使用Leibniz的微商记号(dy/dx),互不通用达一百多年之久!可惜,都输给了法国人Lagrange带撇的记号(y’, y” 等)。
至今,人类对数量的认识经历了三个飞跃:一是从正数到负数,二是从数值到记号(变量),三是从静态的量到动态的极限。极限的思想,其实在牛顿-莱布尼兹发明微积分之前就有了。中国古代的《九章算术》里就说,一尺之长,日取其半,万世不竭。祖冲之求圆面积的办法,用的就是微元法—无限细分再累加,也就是积分。还有不有第四次飞跃呢?量子力学说,一切量都是离散的,世界不是无限可分的!有了量子计算机,你总该信了吧?【可我坚信,第四次飞跃不是关于量的,而是关于神的。】
微积分学处理的是一些性质良好的函数,至少得是分片(段)连续的;再广一点,按照《实变函数》的说法,不连续点构成的集合的Lebesgue测度必须为0;这是一个函数黎曼可积的充要条件。可微函数的要求就更高了:函数的改变量,不得超过自变量的微小改变的有限倍。幸运的是,人类能够想到的函数:幂函数、指数函数、对数函数、三角与反三角函数、阶乘函数,经过有限次的前六种运算所得到的函数,在它有定义的“开区域“上,都是连续、可微的。如果经过无穷多次六种运算呢?在一定条件下,还是连续甚至可微的。
连续的概念是难以理解的。我们说“一条曲线是连续的”,究竟是何意呢?想像有一条无穷长的直线,设定一个起点0,往一个方向为正,相反方向为负,用一个单位长度去切分它,建立起所谓的“数轴”;所有的“实数”应该与数轴上的点一一对应。假设整数长度的线段都可以被等分成任意有限段,有理数系统就建立起来了;可这远非数轴上的所有点。人们自然想到了无限逼近: 用有理数列去逼近一条数轴上的所有点;逼近程度的刻划,使用了代数化的epsilon-N语言,这就引入了 “极限” 的概念。
什么样的点列才有极限呢?在《数学分析》中,有八条等价的公理:Dedekind原理、Archimedean原理、Cantor原理(闭区间套定理)、Weierstrass原理(单调有界数列必有极限)、确界原理、Cauchy准则、Bolzano-Weierstrass原理(有界无穷集必有收敛子列)、Heine-Borel定理(有限开覆盖定理)。在数学家们研究了一般的距离空间之后才发现,这只不过是完备紧致空间的特例。在《一般集合论》中,可以归结为选择公理(Zorn引理),以及等价的归纳原理、良序公理。
数列极限的运算遵循“两边夹定理” (squeeze/sandwich theorem)、四则运算法则,还有求0/0型、 型的Stolz定理。从数列极限过渡到函数极限,有Heine定理。函数极限是用epsilon-delta语言定义的;它也满足四则运算法则、复合函数法则。函数的连续性是一种局部性质,是用极限值等于函数值来定义的;紧致集(闭区间)上的连续函数,具有良好的性质:比如有界、有最大最小值、介值定理。一致收敛性是一种全局性质,它可以保持函数的连续可微性。在《微积分》中,仅从单调有界定理出发,可导出欧拉常数e;再用两边夹定理推广到函数的极限,导出五个基本初等函数的连续性。
两个变量的相关变化率是一个重要概念,这体现了因果关系变化的快慢(程度)。在现实中,只有变化率、或者某个高阶变化率才能保持稳定;比如,在引力场中,加速度与时刻无关,只与位移有关;在曲线论中,曲线由曲率(curvature)和扰率(torsion)唯一确定。瞬时变化率被定义为平均变化率的极限,称为导数、微商或者流数。多个自变量时,先固定其它自变量,再定义“偏导数”。并非所有函数都有导函数,不可求导的点包括:不连续点、尖点、具有垂直切线的点。直观上看,连续可导就是具有光滑性。多元函数的各阶全微分,代表了函数差分的各种程度的逼近。
计算上,从欧拉数e出发,可以求出指数函数、对数函数、幂函数的导函数;至于三角函数的导数,可从正弦函数的定义以及两边夹定理导出。按照极限运算的五条法则,初等函数的各阶导函数都可以机械化算出。隐函数,在对某个变量的偏导数不为零的条件下,可以局部确定;其导函数可由偏导数表出。行列式的导数,可以逐行(或逐列)求导后相加。无穷级数的导函数,在一致收敛的条件下,可以逐项进行。无穷乘积的导数,可以先取对数化为和式,再求导数。总之,没有求不出的导函数。
有了导函数,我们能推出五个微分中值定理:Fermat定理,Rolle定理,Lagrange定理,Cauchy定理,Taylor公式。自此,函数的等式关系、单调性、凹凸性就变成了导函数为零、正或负、减与增的判定,证明恒等式、不等式、求极值、求极限、作图、解方程、近似计算等,就成了一个机械化的过程。
微分的相反运算是积分。给定一个函数f(x),我们要找另一个原函数F(x), 使其导函数等于f(x)。当f(x)连续或分段连续时,这种原函数存在,而且有无穷多个,它们只相差一个常数。全体原函数的集合就叫不定积分。不定积分的计算有分项计算公式、分部积分法、换元积分法,分别来自于微分的加法、乘法及链式求导法则。然而并不是任何一个初等函数的积分都是初等函数;比如,一个二次三项式 x^p * ( x + a)^q,只有当p, 或q, 或p + q 为整数时,它的积分才是初等函数。
即使原函数是初等函数,要亲手算出来也不是一件容易的事;你可以用计算器,却领会不到任何积分技巧了。衡量一个人积分技巧的高低,在于“凑微分法”,必须得熟记五个基本初等函数的反导数、微分运算的五条法则,还得对各种函数之间的各种关系式了然于心。如果你怀疑这有什么用,想想后面的《微分方程》,《微分几何》,以及各种分析学科。
练习不定积分的目的是为了做定积分。黎曼积分的定义就是无限细分:分割、取值、作和、取极限;这里的极限既不是函数极限,也不是数列极限,而是一种“体极限”(我把它叫做body limit;拓扑学中还有更一般的net limit)。极限存在的必要条件是函数有界,充分必要条件是黎曼大和与黎曼小和之差的极限为零。在连续性的条件下,可以推出,变限积分就是一个原函数(微积分第一基本定理),进而得出Newton-Leibniz公式(微积分第二基本定理)。这时,我们才发现,定积分的值就是原函数在两个端点处的值之差(保守场里的功能与路径无关)。在一些积分变换的技巧下,某些原函数为非初等函数的定积分的值也能算出。
其实,我们的学习过程弄反了:人们在提出导数的概念之前,早就有了微元法的思想。对于连续的刚性物体,都是具有可加性的:整体等于各个部分之和;例如,几何形体的直径、面积、体积、角度都是可加的,物理中的矢量、功能、力矩、压强也都是可加的。计算时,先把它分成微小的部分,在每个微段上,变量可以当作暂时固定不变的(连续假定),从而可以近似求出;然后累加起来,得到整体量的近似值;再想像每个微段缩成一个点,就得出了该量的准确值。微元是黎曼积分的灵魂,也是现在大多数学生的噩梦。
黎曼积分是“竖着相加”,勒贝格(Lebesgue)积分则是“横向相加”:按照函数值乘以小段的测度再累加;这可以放宽对函数连续性的要求。Stieltjes积分是按照求质量中心用的静力矩平均导出,Feynman积分则对所有连续曲线求和(复变函数围道积分的变种);还有Henstock-Kurzweil积分的delta细分。各种积分形式各异,本质上都是“细分”。目的只有一个,要数字化表示尽可能多的量。目前,最广泛的表示是多复变函数的积分。
然而,这还没有到顶(点):还没有一个和式是按“点”相加的,因为没有了收敛性。我们写出一个式子,总是希望它具有良好的性质,比如可以逐项求导,或者可以逐项积分(累加),至少也得具有某种稳定性(哪怕是暂时的)。我认为,数学的最终目的是要把和式变成乘积,也就式“分解因式”,因为数学家们的工作就是解方程。所以,我致力于求出黎曼函数的零点,也对质数分布有个了解;也分解了最基本的Bernoulli多项式序列。各种力场的能量谱的分解正在进行时。