“故乡如画,数学如诗”李尚志内江大千讲坛讲演全文
我的家乡在内江,那里有条美丽的河叫做沱江。在我的少年时代,除了夏季涨水的少数天日,每年大部分时间都是“美丽河水泛清波”。记得一个冬天的早晨,与班上同学一起在桐梓坝乘船过河去参加劳动。大雾弥漫,船到河心辩不清方向,只看见周围清澈碧绿的水波荡漾,在河心转了好几圈才根据对岸的喊声找到了正确方向。
我写过一首诗:雾
其中“摆渡轻舟迷绿浪”就是写这个景。1966年12月到1967年1月,我与两位同学结伴步行串联从上海走到井岗山,过杭州后沿钱塘江富春江走了三天,陶醉于沿江的碧水清波,自然想起少年时代家乡的轻舟绿浪。不过,现在的沱江河以及钱塘江都没有那样清澈了,今年暑期我到日喀则看见的河水也不是绿色。大概只有深山老林中如张家界的水和长白山的天池才能看见碧绿甚至蓝色的清波。
诗的下一句“冲宵古塔”指三元塔,在我心目中是内江的标志。三元塔一半黑一半白。童年时代听过一个传说:一个仙人半夜洗三元塔,将朝南那一侧洗白了,就听见鸡叫,快天亮了,只得匆匆离去,朝北这一侧没来得及洗,至今仍是黑的。读小学时参加少先队活动第一次爬三元塔,仔细观察了三元塔的黑白两侧,才发现与传说恰好相反:白的一侧是塔身原来的石灰。另一侧的石灰脱落了,露出石头的黑色。脱落的原因大概是多年的风雨都从偏北方向吹来,将北侧的石灰腐蚀冲洗掉了。也就是说:三元塔本来全都是白的,有一侧的石灰被洗掉了就变成黑色了。当时感到迷惑不解的是:讲故事的人怎么不到三元塔来仔细看一看,讲出来的故事与现实完全相反呢?
内江人都说李白的著名诗句“青山横北郭,白水绕东城。”是在内江写的。诗中的描述确实与内江的山、水、城的地形吻合。我在网上查了资料,有人说是“李白在唐玄宗末(约754)在安徽宣城送别友人时所作。”不知他是否有确凿证据。著名作家魏明伦的历史与文学知识丰富,在《大洲广场赋》中有“青山有幸,伴青莲赠诗于北郭”一句,所以我也就采用这个说法,用“白水东城”代指内江。
我在少年时代有很多豪情和理想,虽然是傻乎乎的,却傻得可爱。凭这股傻劲,端正了我一辈子人生道路的方向,让我能够在离开家乡后46年的风雨旅程中始终坚守这个方向,执迷不悔。五车苦读虽然是小学和中学的知识,六艺初探也只是启蒙阶段的学习和思考,换来的却不仅是1965年中国科技大学的入学通知书,而是为以后真正的科学研究和教书育人准备了有用的素质和素材。
张大千是世界知名的画家,是内江的骄傲和品牌。全世界都知道张大千,但外地人很少知道内江是张大千的故乡。
内江是个小城市,那时我总以为成都重庆这样的大城市的电影宣传画一定比内江画得好。第一次到重庆,从菜园坝火车站坐缆车上到两路口,就看到重庆有名的宽银幕电影院。第一眼看到墙上的电影宣传画,就很惊讶为什么重庆的宣传画比内江的差得多。我的夫人是重庆人,她第一次到内江,经过电影院的时候也很惊讶电影广告比重庆画得好,尤其赞叹《野火春风斗古城》中的金环银环的眼神。后来我知道内江画电影广告最有名的人叫做张义至。不知他是否与张大千是亲戚。不管是不是亲戚,他至少是张大千的同乡,也是内江书画之乡的代表人物吧。
我也是张大千的同乡,没有成为画家,而是从事了数学专业。小时候练了一点粗浅的绘画,沾了书画之乡的一点“仙气”,算是“六艺初探”第一艺,对我从事数学却也帮助不小。
画五角星只需要画直线和圆。初中数学出现的两种新的曲线——抛物线(二次函数图象)与双曲线(反比例函数图象)引起我极大的兴趣,热衷于研究它们的画法和性质。画直线可以用直尺,画圆可以用圆规。画抛物线和双曲线却没有专门的仪器,即使有仪器我也没钱买。按照书上的说法,只能在直角坐标系中描点并连成光滑曲线,虽然我也苦练过将所描的点连成光滑曲线的功夫,但始终对这个画法不满意。终于从一本课外读物中知道了圆、椭圆、抛物线、双曲线都是圆锥曲线,可以用平面截圆锥得到,还知道了天体运动的轨道形状都是圆锥曲线。不过,我自己不可能用金属加工出一个圆锥,更不能用一个平面去截金属圆锥得到圆锥曲线。终于发现手电筒照出来的光束是圆锥,照到墙上就相当于用墙面作平面去截由光束做成的圆锥,以不同的角度照到墙上就得到各种不同的圆锥曲线。1976年文革结束前两年我在大巴山区当过两年农村工作队员,经常半夜三更在深山谷里一个人赶路从生产队走十几里路回公社,为了给自己壮胆和解除无聊,一路上经常观察手电筒光照在地面形成的椭圆抛物线双曲线。2003年我为湖南教育出版社编写中学数学教材,插入了这样一张照片:
我当时是班上乐队吹笛子的。虽然吹笛子只能算是业余水平,也可算是“六艺初探”的第二艺。不仅“探”音乐,还“探”出了数学问题。
笛子的构造很简单,只是一根竹子上打几个洞。笛子需要花钱买,竹子却很容易找到。我就想:能不能自己找一根竹子打几个洞做成笛子,就不用花钱买笛子了。问题是:在竹子上什么位置打洞才能吹出正确的音阶1,2,3,4,5,6,7,i ? 后来我知道,发出的音的频率大体上与孔与孔之间的距离成反比。问题就归结为:1,2,3, 4,5,6,7,i的频率各是多少?当时我们还自己制作过一个“乐器”:用一根线绷紧套在金属文具盒上,用一支短铅笔插进去,就做成一个“吉它”,可以弹出歌来。用手按在线上的不同位置来调整发声的弦的长短,就发出不同频率的声音。声音的频率与弦长成反比。实际弹奏的时候,发哪个声音应当按住哪个位置是凭经验靠耳朵听。但我仍然想一个问题:如果空弦是1,要弹出2,3,4,5,6,7,i各个音,弦长应当缩短到几分之几?
上图的电子琴的琴键中,白键的C音是C调的1,以后的白键D,E,F,G,A,B,C各音依次为C调的2,3,4,5,6,7,i.。从1往后,不论经过一个黑键还是白键都是上升一个半音,从1上升到2,3,4,5,6,7,i分别上升了2,4,5,7,9,11,12个半音,频率分别上升到1的频率的q^2,q^4,q^5,q^7,q^9,q^11,q^12倍。由1的频率可以算出其余各音的频率。任何一个琴键发出的声音都可以作为1,将这个1的频率f的1,q^2,q^4,q^5,q^7,q^9,q^11,q^12倍分别作为1,2,3,4,5,6,7,i的频率,这叫做十二平均律。这样确定的不同调的各音之间的比例完全相同,各音各调一律平等。但其中除了相差8度的音之外其余任何两个音的频率比都是无理数。
后来读到另外一本关于音乐的小册子,其中讲的1,2,3,4,5,6,7,i各个音的频率却不是无理数而是简单分数:1,9/8,5/4,4/3,3/2,5/3,15/8,2。并且解释:频率是简单分数,这样的音乐才和谐。这些频率比显然不是2^(1/12)的幂,每升高半音所升高的比例也不相同。例如从1到2升高两个半音是9/8倍,从2到3同样升高两个半音却是10/9倍,二者并不相同。十二平均律做到了各音平等,而各音之比是简单分数强调和谐。这两个方案显然不一致。哪一个正确?很让我疑惑不解。
后来读到了第三本小册子,是华罗庚在1960年代最早组织中学生数学竞赛时写的小册子《从祖冲之的圆周率谈起》。那时的数学竞赛小册子不是教怎样做竞赛题,而是开拓视野介绍相关的数学知识。华罗庚的这本小册子讲的不是音乐,也没有讲怎样计算圆周率π,而是讲怎样将无理数π用分母尽可能小的分数来逼近。虽然华罗庚讲的不是音乐,我却从中读懂了音乐。按照华罗庚小册子讲的算法,我将十二平均律算出来的无理数(2^(1/12)的幂)用分母尽可能小的分数逼近,得到的果然就是9/8,5/4,/4/3,3/2这些简单分数。
后来我知道:音乐历史上并不是先按十二平均律算出无理数再化成简单分数。而是反过来,由简单的分数3/2的各次幂产生出不同的音。相差八度(频率比为2)的音可以认为是同一个音,因此可以将3/2的每个幂除以2的某个幂使1<(3/2)^m/2^n<2。以某个频率f的音作为1,得到的不同音的频率(3^m/2^(m+n))f可以都限制在音f与2f之间。不难发现3^12/2^19=1.01361…≈1,因此由3/2的幂实质上只能产生12个不同的音。这就产生了12音阶,在此基础上可以将各音频率调整成1到2的等比数列,也可再调整成分母尽可能小的简单分数。
1997年我在中国科技大学开设《数学实验》课程,以中学时代关于音乐与数学的这一段思考和学习为素材,并编写了计算机程序按照所算出的频率将各个乐音播放出来,组成乐曲,成为课程中最吸引学生兴趣的精彩节目。这个节目也写进了中学新课程标准教材,又进入了我创立的以数学文化为主要内容的精品视频课程《数学大观》的课堂。当学生们在数学课堂上听到由计算机演奏出《康定情歌》的动人旋律时,他们对数学的仇恨、恐惧、误解在不知不觉中烟消云散,滋生起对数学的爱。
小学高年级就学了圆周率π,知道中国古代数学家祖冲之算出π的近似值3.1415926…在世界上领先了很多年。从那时起我就热衷于自己当一回祖冲之,将π的近似值重新算一遍。
记得当时看见一本连环画,说祖冲之勤于观察,做了一个很大的圆来量出直径与周长,根据测量数据得出π的近似值。我也就按照这个方法去算π。我不可能做一个很大的圆,只能找一个现成的圆来度量。家里喝水的杯子就是现成的圆。但真要去度量就发现问题:用硬尺子量还是用软尺子量?硬尺子量直径比较方便,量周长就有问题:圆周不是直的而是弯的,用硬尺子去量要跟着转弯,一不小心滑动了一下,量出的周长就不准确了。我母亲是做缝纫的,量体裁衣时需要量腰围胸围,因此家里有软尺子。用软尺量也有问题:用力太大就把尺子拉长了,量出的长度就偏小; 用力太小没把尺子拉紧,量出来的长度就偏大。不管怎样,用度量的方法得出的π的精确度都不高,远不能达到祖冲之的水平。
另一个方法就是利用几何知识算出π的近似值。很多书上都说祖冲之的π是由圆内接正多边形的周长算出来的。正六边形周长与直径之比为3,利用勾股定理可以依次算出正12边形、正24边形、……、正6×2n边形的周长与直径之比,让n无限增大就得到π的越来越精确的近似值。我企图按照这个方法去计算。但是,用勾股定理就需要开平方,那时没有计算机计算器,只能用四位数学用表或者用手算,n还不太大就算不下去了。而且我想:每次开平方都是近似值,利用近似值参加后面的运算,下一次开平方的时候又是近似值,每次都产生一些误差,一次又一次的误差越积累越多,我甚至怀疑祖冲之怎么能够用这个方法达到他所算出来的π的精确度。古书说,祖冲之的著作《缀术》因为“学官莫能究其深奥,故废而不理。”北宋时就已经失传了。祖冲之到底怎样算出精确度那么高的近似值,是否还是谜?
将x=1代入就可以算出arctan1,得到π。不过,将x=1代入arctan1=1-1/3+1/5-1/7+…收敛太慢,书上给了一个收敛更快的算式π/4=4arctan(1/5)-arctan(1/239)
由arctanx的计算公式分别算出arctan(1/5), arctan(1/239)就得到π/4从而得到π。
按照这个方法,我算了不到一个钟头,就达到了祖冲之的精确度。当然,祖冲之不可能用这个方法来计算π,他不可能知道计算反三角函数arctanx的公式。
很自然我想知道:计算反三角函数的这个公式怎样的来的?在此之前,我曾经问过中学老师一个问题:三角函数表是怎样算出来的?
现在计算三角函数、反三角函数很容易:用计算器就行了。我读中学的时候,计算三角函数、反三角函数都只能查表。中学生用的表叫做《四位数学用表》,包括平方表、平方根表、立方表、立方根表、正弦(余弦)表、正切(余切)表、对数表、反对数表等等。平方表我知道怎样算出来。比如要算125的平方,将125与自身相乘得到15625,写到表中去,下一次就不用再算只要查表就行了。立方表也是这样。平方根表算起来麻烦些,也有一个算法,慢慢算就行了。我不知道正弦、正切、对数、反对数怎样算,就去问中学老师。
如果现在有学生这样问中学老师,得到的回答一定是:“高考不考,问它干啥?”那时候的老师决不会这么回答。老师说:“你只要会查表就行了,不用管怎样算出来的。”老师的回答是对的,因为他的教学任务是教我们查表而不是教我们编表。我没有再问,但心里想:“我只要查表就行了,编表的人又怎么办呢?一定是查以前的人编的表。以前的人查更以前的人编的表。不过,总不能一直查到人类始祖亚当夏娃那里去,或者在中国查到开天辟地的盘古那里去,总得有第一个人编出第一份表来让以后的人查吧?第一个人是怎样计算正弦正切对数反对数的呢?”这个问题一直存在我的心里。
等等。我眼睛一亮,突然明白了,这不就是计算正弦余弦的公式吗?等式左边的sinx,cosx看起来简单,却计算不出来。等式右边看起来复杂,却可以用多项式来作为近似值,只要算加减乘除四则运算就行了,总可以慢慢算出来,就得到了正弦余弦。如果x很小,例如要计算1°的正弦sin1°,此时x的弧度值为π/180≈0.01745,可以将高次项x^3,x^5,…忽略不计,得到sinx≈x,直接用一次函数x近似代替sinx,得到sin1°≈0.01745。
相关注释请点击:微积分诗(李尚志教授著释)
小时候看电影,很崇拜电影里那些英雄可以从地面跳上房顶。后来知道他们其实跳不到那么高,但可以从上面跳下来。将跳下来的过程拍下来,倒着放映,看起来就是从下面跳上去。中学物理告诉我们,如果函数y=f(x)的自变量x是时间,y是速度,区间[a,x]与曲线所围面积S(x)就是路程。由速度f(x)求路程S(x)是定积分,比较困难。反过来,由路程S(x)求速度f(x)是求导数,很容易。也可以像拍电影那样倒过来拍:找一个函数F(x)使它求导得到的速度F’(x)=f(x)。F(x)不一定是路程函数,但一定是位置函数,末位置减初位置得到的F(b)-F(a)就一定是路程S(x)了。我是从一本小册子《从量变看物理世界》读到这个方法的,当时简直欣喜若狂,当场就求出了n次函数y = x^n下方的面积S(x) = x^(n+1)/(n+1)。后来知道这叫做微积分基本定理,是微积分最重要的定理。F(x)叫做f(x)的原函数。以上第四首诗说:测量天的高度不需要从下往上量,可以让银河从上往下量,就是说的这个思想方法。
我立刻明白,1加上无穷多个1/2,这个级数趋于无穷大,没有极限。翻回来看书的封面,上面是四个大字:数学分析。