士之读书治学,盖将以脱心志于俗谛之桎梏,真理因得以发扬。思想而不自由,毋宁死耳。
數學
這幾年偶爾拿出一兩個月時間學學數學。 想搞經濟史不懂數學不行。 學哲學也是不學數學不行。
看笛卡爾和斯賓諾莎的哲學,讓我吐血。那數學推理去搞哲學。 雖然我當年數學自以為還行,跟這些數學家哲學家真不是一個層次。
當然從歷史的角度看數學。從哲學的角度的看數學。 都是不同的心境。
最近看到一個人從生物學的角度看歷史。 很像施堅雅拿地理學的知識扯歷史搞人類學。眼界不開闊不行,也不能樣樣都學,樣樣知道,而無深刻的理解。
由博到約,由約到博。 很難?很難!
今天看到兩篇從天朝數學的視野看數學。轉過來下。
這兩篇文章的作者,都是我挺喜歡的blogger。 5年常看matrix67的blog,現在幾乎放棄歷史和能賺錢功利以外的所有閱讀。
當然Matrix67所說的數學的三種境界,就是王國維先生的《人間詞話》所講的三重境界。
—————————————————————
有感于Matrix67神牛的这篇文章(强烈建议大家去读一读),我也发表一下自己对于教材编写的一点看法。
1.对线性代数的吐槽
(没学过线性代数的同学请忽略下面3段往后接着看。)
我一直觉得线性代数用那种严格公理化的语言写成课本根本不适合初学者学习,一开始学习线性代数的时候,我本人对很多概念的直观意义根本就是完全不知道。我们的课本是丘维声的《简明线性代数》,我在此毫不掩饰的表示对这本教材的鄙视:这本教材居然是按照这样的顺序讲线性代数的:线性方程组->行列式->线性方程组的进一步讨论->矩阵的运算->一大堆东西->线性空间->线性映射->一大堆东西。这个狗屁顺序直接导致我前半个学期一直以为线性代数就是研究怎么解线性方程组的,我心想,这么简单的问题,具体问题谁都会解,值得这么大动干戈的定义出这么大堆东西么。。。一直到线性空间那一个章节以前,我完全就不知道线性代数整个是在干什么..后来学的多了我才知道,其实线性代数就是研究线性空间和线性映射的嘛,什么线性方程组,根本没那么重要。一个更加合理的顺序是:先讲线性空间、线性映射,其中明确说明矩阵就是线性映射,然后再讲行列式,然后线性方程组只作为一个例子出现就可以了。
然后在说说那个不靠谱的行列式。。我就不明白,国内的教材是基于怎样一种考虑,居然把行列式放在矩阵前面讲,放在线性映射前面讲。?于是就导致行列式的定义居然诡异的用到了逆序对,一上来就来这么个定义我们怎么可能明白行列式到底是个什么东西,它是干什么的?!还有矩阵的概念,我们的课本引入矩阵是从线性方程组引入的,于是让我在前半学期里面就仅仅以为矩阵就是一堆排成了方阵的数而已。。。于是我就死活不能理解,为什么矩阵之间还能引入乘法,乘法的定义还能那么诡异?!非要等到后面学到了线性映射,我们老师才终于跟我们讲清楚了:原来矩阵就是用来表示线性映射的嘛。。矩阵相乘就是表示先后做两个线性映射嘛,之所以那么定义矩阵乘法,就是因为这样定义了之后,乘得的新矩阵确实能够等价的表示先后做两次线性映射。。。但是行列式到底是什么,课本根本就到最后都没有说清楚。还是Matrix67文章里的一句话道清了本质:“其实,行列式的真正定义就一句话:每个单位正方形在线性变换之后的面积”。为什么所有的教材里就不能把这样一句话放在教材里呢?!
还有很多概念都没有讲清楚它们的直观意义到底是什么。有许许多多学经济或者学其他学科的同学,可能学完了整个线性代数也不明白,算特征值和特征向量到底是干什么的,为什么要研究这么诡异的问题。如果不是我们老师上课讲道它在量子力学里会体现出无穷重要的价值,我单看课本肯定不明白这是在干什么。特征值其实就是量子力学里的算符对应的可观测物理量(这点可能不学量子力学很难理解)。还有就是迹(trace)的概念,我至今没有搞清楚为什么要定义这么一个量,我根本就不知道它表示了什么。于是我就既记不住它的各种性质,也不知道我到底在何种物理问题里会用到迹这个诡异概念。你说我都完全不理解到这个地步了,学这个概念还有什么用?不光是我一个人的问题,我问了问身边的人,他们同样回答不出来迹是个什么。
国内好多同学应该都会对此有共鸣,因为我们国内的教材都是这样对概念只下严格数学定义,而基本上不作直观解释的,于是就导致很多很多人学完了线性代数都不知道自己学了些什么。理解数学概念的直观图像,其作用不仅仅是能够帮助记忆那些概念的性质,甚至可以帮助捋出证明思路,甚至都可以帮助数学家发明新的数学。可是现有的课本就是讲不清楚直观解释!
2.对理论力学的吐槽
但是,我忽然间想到,我其实也一直觉得理论力学课本只是拿牛顿力学作为例子去推导那些更加普遍的原理,让我觉得把握不住它的逻辑。而这样的课本的弊端,恰恰与线性代数相反。(没学过理论力学的同学可以跳过下4段直接往后看。)
至少我见过的所有理论力学课本(北大自己印的课本、Goldstein的《Classical Mechanics》),全都是大致按照这样一个顺序讲的:用牛顿定律推导出拉格朗日方程,然后用拉格朗日方程推导出正则方程(即哈密顿方程),然后再从拉格朗日方程推导出最小作用量原理(或者叫哈密顿原理),然后是再推导一些其他的比如哈密顿雅克比方程和诺特尔定理之类的。/*补充说明一点 朗道的《力学》确实是从最小作用量原理出发的。我可能当初没太看懂。但是我仍觉得即使是朗道的力学也没有说清楚L的定义*/
如果说以上这些方程的地位是等价的,这么讲是没有问题的,可是最关键的问题是,正则方程和最小作用量原理的普遍性适用于任何物理系统的(有人甚至认为适用于任何系统,比如说金融之类的也有这些方程),但是众所周知牛顿力学是有很大局限性的。也就是说我们实际上是从一个特例推出了普遍成立的原理。于是我们其实只是拿牛顿力学作为了一个例子,稍微讲了一下在宏观低速的条件下这两个普适原理和牛顿力学是如何等价的。但是理论力学并没有指出正则方程和最小作用量原理在牛顿力学不适用的情况下是如何仍然成立的。尤其让我不能忍的是,拉格朗日量L和哈密顿量H在牛顿力学不成立之后如何定义,课本上都只字未提。于是我就搞不清楚整个理论力学的逻辑基础了。
记得几星期以前我们组的一个老师在黑板上在任意一个系统内(不限于物理系统),随手推出了正则方程,并且据此说正则方程是普遍适用于任何系统的!一开始我并没有太跟上他的思路,只是觉得这个结论实在是非常神奇,还因此而兴奋了许久。后来我仔细想想就觉得越想越不对劲,他的推导到底用到了什么前提条件?要写出正则方程首先得有哈密顿量H,那么任何一个系统的H是怎么给出的?如何定义任何一个系统里面的H?于是我找同学讨论,有找那个老师问,最后终于明白了整个理论力学的逻辑是怎样的了:
首先我们有一种信仰,那就是最小作用量原理总是成立的。即在任何一个系统(至少是物理系统)内,我们总能找到一个拉格朗日量L使得最小作用量原理得到满足。这就是L的定义式。有了L便可以很容易的定义出H。有了H的定义,就可以去推导正则方程了。于是那个老师的推导其实一点都不神奇,实际上就是从最小作用量原理推导正则方程而已,而这在理论力学课上肯定推得滚瓜烂熟了。但是把最小作用量原理做为最基本原理有一个问题,就是他并没有给出如何找到这样一个L的方法。于是在特定的物理体系中寻找合适的L便成了一个非常困难的核心难题。
总之,到底哪个原理是处于公理地位的,那些物理量是如何在普遍情况定义的,在现有理论力学课本里都只字未提。于是,理论力学课本里缺少的,正是线性代数课本中让我觉得不爽的:那就是严格的公理化系统和严格的逻辑。
3.结论
所以现在想想,真正好的教材其实应该把要讲的内容写两遍:第一遍怎么直观怎么讲,尽量用最少的数学让大家明白研究的对象到底是什么东西,要在头脑中有一个直观物理图像,然后讲的顺序可以按照历史上这些概念是怎么提出来的来讲;第二遍就上公理化系统 严格地列出这套理论的所有定义和公理,然后按照逻辑的先后顺序推演出所有需要掌握的定理。
于是我就有一个打算,等我也能教书育人了,我一定要自己写一本线性代数教材和一本理论力学教材,把我的这套理念发扬光大,让大家以后再学的时候少走些弯路。
嗯就是这样。
————————————————————————————————————————————————
注:这篇文章里有很多个人观点,带有极强的主观色彩。其中一些思想不见得是正确的,有一些话也是我没有资格说的。我只是想和大家分享一下自己的一些想法。大家记得保留自己的见解。也请大家转载时保留这段话。
我不是一个数学家。我甚至连数学专业的人都不是。我是一个纯粹打酱油的数学爱好者,只是比一般的爱好者更加执着,更加疯狂罢了。初中、高中一路保送,大学不在数学专业,这让我可以不以考试为目的地学习自己感兴趣的数学知识,让我对数学有如此浓厚的兴趣。从 05 年建立这个 Blog 以来,每看到一个惊人的结论或者美妙的证明,我再忙都会花时间把它记录下来,生怕自己忘掉。不过,我深知,这些令人拍案叫绝的雕虫小技其实根本谈不上数学之美,数学真正博大精深的思想我恐怕还不曾有半点体会。
我多次跟人说起,我的人生理想就是,希望有一天能学完数学中的各个分支,然后站在一个至高点,俯瞰整个数学领域,真正体会到数学之美。但是,想要实现这一点是很困难的。最大的困难就是缺少一个学习数学的途径。看课本?这就是我今天想说的——课本极其不靠谱。
这个我深有体会。最近两年,我一直在做初中数学培训,有了一些自己的看法。数学教育大致分成三个阶段,看山是山看水是水,看山不是山看水不是水,看山是山看水是水。
最早数学教育就是,教你几个定理,告诉你它们是怎么证的,再让你证明一些新的定理。
后来的要求就变了:光学数学不够,还要用数学。数学教育已经上升了一个层次:大家要把数学用到生活中去,解释生活中的现象。一时间,课本也好,中考题也好,全是与生活实际紧密联系的数学应用题,仿佛放眼望去身边真的处处都是数学一样。商场卖货,书店卖书,农民耕地,工人铺砖,再一次涌现在了课本、教辅书和考试题里。其实,数学可以解释生活,只是我们并不会这样去做。生活的变量太多,再强大的数学模型也不可能考虑到一切。对于平常人来说,真正能用到数学的地方,也就只有算算帐了。
总有一天,数学教育会拔高到第三层:返朴归真,数学真正牛 B 的还是它本身。你会发现,那些伟大的数学思想,那些全新的数学理论,最初研究的动机并不是要急于解释我们身边的某某诡异现象,而是它本身的美妙。线性代数的出现,很大程度上要归功于神奇的 Cramer 悖论;群论的诞生,也是 Galois 研究多项式的解的结构时的产物;Euler 创立图论,源于那个没有任何实用价值的 König*****erg 蛋疼问题;非欧几何的出现,则完全是由于这个问题本身的魅力。微积分呢?它确实有非常广泛的实用价值,物理学的各种定义都依赖于微积分;但很可惜,它不是一种具有颠覆性的数学思想。
初一课本讲负数时,反复说负数的实际意义,比如海拔、得分、温度、收支等等,把负数变成一种真实的存在。其实,这不是人们使用负数的主要动机。负数的价值在于,它可以把减去一个数变成加上一个负数,很多加加减减复杂到甚至需要分类讨论的东西都能够用一个式子统一在一起了。比如说小学的盈亏问题:如果每人分 3 个苹果还多 8 个,如果每人分 5 个苹果则还多 2 个,问有多少人多少苹果?解法是,两种分法多出来的苹果相差 6 个,这是每个人多分了两个苹果引起的,因此一共 3 个人,从而可以算出有 17 个苹果。但是,如果把问题改成“每人分 3 个就多 8 个,每人分 5 个就少 2 个”该怎么办?上面的公式就变了,8 不能减 2,要加 2 。因此,小学讲盈亏问题会分“盈亏”、“盈盈”、“亏亏”三种情况讨论。其实,如果把“少 2 个”理解成“多 -2 个”,问题是一模一样的,之前的公式同样适用。负数这一新思想立即把三种情况统一在了一起,它们的本质变得一模一样了。
这是我给初一学生讲负数时必讲的例子。这才是负数的意义。这才是课本里应该反复举例强调的。
某次看到论坛里有人问,群论有什么意思啊?某人回复,群论很有意思啊,只是课本把它写得没意思了,比方说,讲群论怎么能不讲魔方呢?我不赞同这个回复。数学吸引人的地方,不在于它在生活中的应用,而在于它本身的美。为什么不讲 Lagrange 定理?为什么不讲 Sylow 定理?对于我来说,最能吸引我学习一个数学课题的,莫过于一系列非平凡的结论以及它的精彩证明了。
科幻小说《伤心者》的末尾列举了很多长期以来未得到实际应用的数学理论,不过却没有说到一个更为极端的例子。数学中的皇冠——数论——2000 年来一直没有任何实际应用,是最纯粹的数学。直到计算机,尤其是现代密码学的出现,才让数论第一次走出数学,走进了人们的生活中。是什么在支持数论的研究呢?只能是数学本身了。
在我给初中孩子出几何题时,我都尝试着给出一般性的问题,求证三角形中两边的平均长度大于第三边上的中线长,求证三角形三条高的倒数和等于内切圆半径的倒数,等等。即使是纯代数问题和解析几何问题,我也总能编出题目描述简单并且极具挑战性的问题。两数的和与积相等共有多少个整数解?把直线 y=x 沿 y=2x 翻折后得到的直线方程是什么?在感受结论之美的同时,他们也会因自己独立解决了一个真正的数学问题而激动。
然而,这还不算教育的主要问题。某次与一个数学专业的同学聊到 Riemann 假设时,对方说她从没听说过 Riemann 假设。我大吃一惊,数学专业的人怎么可能不知道 Riemann 假设呢?随即明白,这也是拜数学教育所赐。翻开数学课本,总是成套的理论体系,先定义再证明,说得头头是道。可是,这些东西都是怎么来的呢?在得出这些东西的过程中,数学家们走了哪些弯路呢?课本上只字不提。课本里从来都只讲什么是对的,却从来不讲什么是错的。数学考试只会让你证明一个结论,从不会让你推翻一个结论。
2010 年江苏高考数学题因为“太难”备受争议。其中最后一道大题如下:已知 △ABC 的三边长都是有理数,(1) 求证 cos(A) 是有理数; (2) 求证对任意正整数 n , cos(nA) 是有理数。其实这道题是一个非常漂亮的好题,描述简单,问题普遍,结论有趣,证明巧妙,中考题就该这么出。不过我觉得,如果再补上这么一个小问,这道题就真的完美了:证明或推翻, sin(A) 一定是有理数。当然,问题本身并不难,等边三角形就是一个最简单的反例。关键在于,推翻一个结论,寻找一个反例,也是数学研究的一个基本能力,而这是中学数学教育中很少重视的。
于是,在教初中数学时,我布置的每道作业题都无一例外地以“证明或推翻”打头。偶尔,有些题目真的是需要学生们去推翻它。比方说,证明或推翻,周长和面积都相等的两个三角形全等。不同的人找到的反例不一样,有的简单有的复杂,有的深刻有的盲目。再用一整节课的时间逐一讲解并点评大家构造的反例,给孩子们带来的收获远比直接讲题要大得多。
但是,我还没有讲到数学教育中最主要的问题。前段时间去图灵的作译者交流会,期间和刘江老师简单地聊了几句。刘江老师提到一个网站叫做 Better Explained 。他说,其实大家没能理解数学之妙,是因为教的时候没教好,数学本来可以讲得更直观,更通俗的。
我非常同意刘江老师的说法。举个例子吧。如果有学生问,质数是什么?老师会说,质数就是除了 1 和自身以外,没有其它约数的数。不对,这不是学生想要的答案。学生真正想知道的是,质数究竟是什么?其实,质数就是不可再分的数,是组成一切自然数的基本元素。 12 是由两个 2 和一个 3 组成的,正如 H2O 是由两个 H 原子和一个 O 原子组成的一样。只是和化学世界不同,算术世界的元素有无穷多个。算术世界内的一切对象、定理和方法,都是由这些基本元素组成的,这才是质数为什么那么重要的原因。
高中学复数时,相信很多人会纳闷儿:虚数是什么?为什么要承认虚数?虚数怎么就表示旋转了?其实,人们建立复数理论,并不是因为人们有时需要处理根号里是负数的情况,而是因为下面这个不可抗拒的理由:如果承认虚数,那么 n 次多项式就会有恰好 n 个根,数系一下子就如同水晶球一般的完美了。但复数并不能形象地反映在数轴上,这不仅是因为实数在数轴上已经完备了,还有另外一个原因:没有什么几何操作连做两次就能实现取相反数。比如,“乘以 3”就代表数轴上的点离原点的距离扩大到原来的三倍,“3 的平方”,也就是“乘以 3 再乘以 3”,就是把上述操作连做两次,即扩大到 9 倍。同样地,“乘以 -1”表示把点翻折到数轴另一侧,“-1 的平方”就会把这个点又翻回来。但是,怎么在数轴上表示“乘以 i ”的操作?换句话说,什么操作连做两次能够把 1 变成 -1 ?一个颇具革命性的创意答案便是,把这个点绕着原点旋转 90 度。转 90 度转两次,自然就跑到数轴的另一侧了。没错,这就把数轴扩展到了整个平面,正好解决了复数没地方表示的问题。于是,复数的乘法可以解释为缩放加旋转,复数本身自然也就有了 z = r (cosθ + sinθi) 的表示方式。顺着这个道理推下去,一切都顺理成章了。复数不但有了几何解释,有时还能更便捷地处理几何问题。
一直对线性代数很感兴趣,于是大学选了线性代数这门课,结果收获几乎为零。原因很简单,本来期待着来一次大彻大悟,结果学了一个学期,我还是不知道矩阵究竟是什么,矩阵乘法为什么要这么定义,矩阵可逆又怎么了,行列式究竟表示什么。
直到今天看到这个网页,才看见有人一语道破线性代数的真谛(这也是我终于决定写成此文的直接原因)。我终于找到了我那一个学期企图寻找的东西。就好像把 x 变成 2 x 一样,我们经常需要把 (x, y) 变成 (2 x + y, x – 3 y) 之类的东西,这就叫做线性变换。于是才想到定义矩阵乘法,用于表示一切线性变换。几何上看,把平面上的每个点 (x, y) 都变到 (2 x + y, x – 3 y) 的位置上去,效果就相当于对这个平面进行了一个“线性的拉扯”。
矩阵的乘法,其实就是多个线性变换叠加的效果,它显然满足结合律,但不满足交换律。主对角线全是 1 的矩阵所对应的线性变换其实就是不变的意思,因此它叫做单位矩阵。矩阵 A 乘以矩阵 B 得单位矩阵,就是做完线性变换 A 后再做一次线性变换 B 就又变回去了的意思,难怪我们说矩阵 B 是矩阵 A 的逆矩阵。课本上对行列式的定义千奇百怪,又是什么递归,又是什么逆序对,还编写口诀帮助大家记忆。其实,行列式的真正定义就一句话:每个单位正方形在线性变换之后的面积。因此,单位矩阵的行列式当然就为 1,某行全为 0 的行列式显然为 0 (因为某一维度会被无视掉,线性变换会把整个平面压扁), |A·B| 显然等于 |A|·|B| 。行列式为 0 ,对应的矩阵当然不可逆,因为这样的线性变换已经把平面压成一条线了,什么都不能把它变回去了。当然,更高阶的矩阵就对应了更高维的空间。一瞬间,所有东西都解释清楚了。
难以置信的是,如此令人兴奋的东西,我们所用的课本上竟然一点都没有说到!那些开篇就讲行列式定义的课本,为什么不先把线性变换下的面积当作行列式的定义,再推导出行列式的计算方法,再来补充说明“其实从逻辑上说,我们应该先用这个计算公式来定义行列式,然后才说行列式可以用来表示面积”?为了严密性而牺牲了可读性,太不值得了。写到这里,我真想立即拾起线性代数课本,用全新的眼光重看所有的定义和定理,然后重新写一份真正的线性代数教材来。
高数课本同样荒唐。主流的高数课本都是先讲导数,再讲不定积分,再讲定积分,完全把顺序弄颠倒了。好多人学完微积分,虽然已经用得得心应手,但仍然没懂这是怎么回事。究其原因,还是数学教学的问题。
我理想中的微积分课本则应该是先讲定积分,再讲导数,再讲不定积分。先讲定积分,不过千万不能用现在的定积分符号,避免学生误认为定积分是由不定积分发展而来的。讲自古就有的积分思想,讲分割求和取极限的方法,自创一套定积分的符号。然后另起炉灶,开始讲微分,讲无穷小,讲变化量。最后才讲到,随着 x 一点一点的增加,曲线下方面积的变化量就是那一条条竖线的高度——不就是这个曲线本身的函数值吗?因此,反过来,为了求出一个函数对应的曲线下方的面积,只需要找到一个新函数,使得它的微分正好就是原来那个函数。啪,微积分诞生了。
光讲形式化的推导沒有用。这才是真正把微积分讲懂的方式。严格定义和严格证明应该放到直观理解之后。只可惜,我还没看到哪本课本是这样写的。
说了这么多,其实总结起来只有一句话:我们学习数学的过程,应该和人类认识数学的过程一样。我们应该按照数学发展历史的顺序学习数学。我们应该从古人计数开始学起,学到算术和几何,学到坐标系和微积分,了解每个数学分支创立的动机,以及这个分支曲折的发展历程。我们应该体会数学发展的每个瓶颈,体会每个全新理论的伟大之处,体会每一次数学危机让数学家们手忙脚乱的感觉,体会先有直观思维再给出形式化描述的艰难。
可惜,我没有找到任何用这种方式学习数学的途径。
不过也好。既然没有捷径,那就让我自己把那堆形式化的定义和证明通看一遍,然后自己去体会其中的道理吧。这样看来,我们的教育也没错:先用考试逼着大家把该学的东西都学了,尽管自己也不知道自己学的是啥;等将来的某一天达到一定高度时,回头看看过去学的东西,突然恍然大悟,明白了当初学的究竟是什么。这无疑是一件更有乐趣的事情。我希望有一天能像今天这样,能悟出高等代数究竟在讲什么,能悟出范畴论到底有什么用,能悟出 Riemann 假设为何如此牛 B,能悟出 Hilbert 空间是什么东西,然后把它们都写下来。
这恐怕得花我大半辈子的时间吧。
相关文章
Previous post: 内部动乱(下)(一八六〇至一八七七)
Next post: 杨秀清的人缘
定义矩阵乘法,用于表示一切线性变换。几何上看,把平面上的每个点 (x, y) 都变到 (2 x + y, x – 3 y) 的位置上去,效果就相当于对这个平面进行了一个“线性的拉扯”。
士之读书治学,盖将以脱心志于俗谛之桎梏,真理因得以发扬。思想而不自由,毋宁死耳。
數學
這幾年偶爾拿出一兩個月時間學學數學。 想搞經濟史不懂數學不行。 學哲學也是不學數學不行。
看笛卡爾和斯賓諾莎的哲學,讓我吐血。那數學推理去搞哲學。 雖然我當年數學自以為還行,跟這些數學家哲學家真不是一個層次。
當然從歷史的角度看數學。從哲學的角度的看數學。 都是不同的心境。
最近看到一個人從生物學的角度看歷史。 很像施堅雅拿地理學的知識扯歷史搞人類學。眼界不開闊不行,也不能樣樣都學,樣樣知道,而無深刻的理解。
由博到約,由約到博。 很難?很難!
今天看到兩篇從天朝數學的視野看數學。轉過來下。
這兩篇文章的作者,都是我挺喜歡的blogger。 5年常看matrix67的blog,現在幾乎放棄歷史和能賺錢功利以外的所有閱讀。
當然Matrix67所說的數學的三種境界,就是王國維先生的《人間詞話》所講的三重境界。
—————————————————————
有感于Matrix67神牛的这篇文章(强烈建议大家去读一读),我也发表一下自己对于教材编写的一点看法。
1.对线性代数的吐槽
(没学过线性代数的同学请忽略下面3段往后接着看。)
我一直觉得线性代数用那种严格公理化的语言写成课本根本不适合初学者学习,一开始学习线性代数的时候,我本人对很多概念的直观意义根本就是完全不知道。我们的课本是丘维声的《简明线性代数》,我在此毫不掩饰的表示对这本教材的鄙视:这本教材居然是按照这样的顺序讲线性代数的:线性方程组->行列式->线性方程组的进一步讨论->矩阵的运算->一大堆东西->线性空间->线性映射->一大堆东西。这个狗屁顺序直接导致我前半个学期一直以为线性代数就是研究怎么解线性方程组的,我心想,这么简单的问题,具体问题谁都会解,值得这么大动干戈的定义出这么大堆东西么。。。一直到线性空间那一个章节以前,我完全就不知道线性代数整个是在干什么..后来学的多了我才知道,其实线性代数就是研究线性空间和线性映射的嘛,什么线性方程组,根本没那么重要。一个更加合理的顺序是:先讲线性空间、线性映射,其中明确说明矩阵就是线性映射,然后再讲行列式,然后线性方程组只作为一个例子出现就可以了。
然后在说说那个不靠谱的行列式。。我就不明白,国内的教材是基于怎样一种考虑,居然把行列式放在矩阵前面讲,放在线性映射前面讲。?于是就导致行列式的定义居然诡异的用到了逆序对,一上来就来这么个定义我们怎么可能明白行列式到底是个什么东西,它是干什么的?!还有矩阵的概念,我们的课本引入矩阵是从线性方程组引入的,于是让我在前半学期里面就仅仅以为矩阵就是一堆排成了方阵的数而已。。。于是我就死活不能理解,为什么矩阵之间还能引入乘法,乘法的定义还能那么诡异?!非要等到后面学到了线性映射,我们老师才终于跟我们讲清楚了:原来矩阵就是用来表示线性映射的嘛。。矩阵相乘就是表示先后做两个线性映射嘛,之所以那么定义矩阵乘法,就是因为这样定义了之后,乘得的新矩阵确实能够等价的表示先后做两次线性映射。。。但是行列式到底是什么,课本根本就到最后都没有说清楚。还是Matrix67文章里的一句话道清了本质:“其实,行列式的真正定义就一句话:每个单位正方形在线性变换之后的面积”。为什么所有的教材里就不能把这样一句话放在教材里呢?!
还有很多概念都没有讲清楚它们的直观意义到底是什么。有许许多多学经济或者学其他学科的同学,可能学完了整个线性代数也不明白,算特征值和特征向量到底是干什么的,为什么要研究这么诡异的问题。如果不是我们老师上课讲道它在量子力学里会体现出无穷重要的价值,我单看课本肯定不明白这是在干什么。特征值其实就是量子力学里的算符对应的可观测物理量(这点可能不学量子力学很难理解)。还有就是迹(trace)的概念,我至今没有搞清楚为什么要定义这么一个量,我根本就不知道它表示了什么。于是我就既记不住它的各种性质,也不知道我到底在何种物理问题里会用到迹这个诡异概念。你说我都完全不理解到这个地步了,学这个概念还有什么用?不光是我一个人的问题,我问了问身边的人,他们同样回答不出来迹是个什么。
国内好多同学应该都会对此有共鸣,因为我们国内的教材都是这样对概念只下严格数学定义,而基本上不作直观解释的,于是就导致很多很多人学完了线性代数都不知道自己学了些什么。理解数学概念的直观图像,其作用不仅仅是能够帮助记忆那些概念的性质,甚至可以帮助捋出证明思路,甚至都可以帮助数学家发明新的数学。可是现有的课本就是讲不清楚直观解释!
2.对理论力学的吐槽
但是,我忽然间想到,我其实也一直觉得理论力学课本只是拿牛顿力学作为例子去推导那些更加普遍的原理,让我觉得把握不住它的逻辑。而这样的课本的弊端,恰恰与线性代数相反。(没学过理论力学的同学可以跳过下4段直接往后看。)
至少我见过的所有理论力学课本(北大自己印的课本、Goldstein的《Classical Mechanics》),全都是大致按照这样一个顺序讲的:用牛顿定律推导出拉格朗日方程,然后用拉格朗日方程推导出正则方程(即哈密顿方程),然后再从拉格朗日方程推导出最小作用量原理(或者叫哈密顿原理),然后是再推导一些其他的比如哈密顿雅克比方程和诺特尔定理之类的。/*补充说明一点 朗道的《力学》确实是从最小作用量原理出发的。我可能当初没太看懂。但是我仍觉得即使是朗道的力学也没有说清楚L的定义*/
如果说以上这些方程的地位是等价的,这么讲是没有问题的,可是最关键的问题是,正则方程和最小作用量原理的普遍性适用于任何物理系统的(有人甚至认为适用于任何系统,比如说金融之类的也有这些方程),但是众所周知牛顿力学是有很大局限性的。也就是说我们实际上是从一个特例推出了普遍成立的原理。于是我们其实只是拿牛顿力学作为了一个例子,稍微讲了一下在宏观低速的条件下这两个普适原理和牛顿力学是如何等价的。但是理论力学并没有指出正则方程和最小作用量原理在牛顿力学不适用的情况下是如何仍然成立的。尤其让我不能忍的是,拉格朗日量L和哈密顿量H在牛顿力学不成立之后如何定义,课本上都只字未提。于是我就搞不清楚整个理论力学的逻辑基础了。
记得几星期以前我们组的一个老师在黑板上在任意一个系统内(不限于物理系统),随手推出了正则方程,并且据此说正则方程是普遍适用于任何系统的!一开始我并没有太跟上他的思路,只是觉得这个结论实在是非常神奇,还因此而兴奋了许久。后来我仔细想想就觉得越想越不对劲,他的推导到底用到了什么前提条件?要写出正则方程首先得有哈密顿量H,那么任何一个系统的H是怎么给出的?如何定义任何一个系统里面的H?于是我找同学讨论,有找那个老师问,最后终于明白了整个理论力学的逻辑是怎样的了:
首先我们有一种信仰,那就是最小作用量原理总是成立的。即在任何一个系统(至少是物理系统)内,我们总能找到一个拉格朗日量L使得最小作用量原理得到满足。这就是L的定义式。有了L便可以很容易的定义出H。有了H的定义,就可以去推导正则方程了。于是那个老师的推导其实一点都不神奇,实际上就是从最小作用量原理推导正则方程而已,而这在理论力学课上肯定推得滚瓜烂熟了。但是把最小作用量原理做为最基本原理有一个问题,就是他并没有给出如何找到这样一个L的方法。于是在特定的物理体系中寻找合适的L便成了一个非常困难的核心难题。
总之,到底哪个原理是处于公理地位的,那些物理量是如何在普遍情况定义的,在现有理论力学课本里都只字未提。于是,理论力学课本里缺少的,正是线性代数课本中让我觉得不爽的:那就是严格的公理化系统和严格的逻辑。
3.结论
所以现在想想,真正好的教材其实应该把要讲的内容写两遍:第一遍怎么直观怎么讲,尽量用最少的数学让大家明白研究的对象到底是什么东西,要在头脑中有一个直观物理图像,然后讲的顺序可以按照历史上这些概念是怎么提出来的来讲;第二遍就上公理化系统 严格地列出这套理论的所有定义和公理,然后按照逻辑的先后顺序推演出所有需要掌握的定理。
于是我就有一个打算,等我也能教书育人了,我一定要自己写一本线性代数教材和一本理论力学教材,把我的这套理念发扬光大,让大家以后再学的时候少走些弯路。
嗯就是这样。
————————————————————————————————————————————————
注:这篇文章里有很多个人观点,带有极强的主观色彩。其中一些思想不见得是正确的,有一些话也是我没有资格说的。我只是想和大家分享一下自己的一些想法。大家记得保留自己的见解。也请大家转载时保留这段话。
我不是一个数学家。我甚至连数学专业的人都不是。我是一个纯粹打酱油的数学爱好者,只是比一般的爱好者更加执着,更加疯狂罢了。初中、高中一路保送,大学不在数学专业,这让我可以不以考试为目的地学习自己感兴趣的数学知识,让我对数学有如此浓厚的兴趣。从 05 年建立这个 Blog 以来,每看到一个惊人的结论或者美妙的证明,我再忙都会花时间把它记录下来,生怕自己忘掉。不过,我深知,这些令人拍案叫绝的雕虫小技其实根本谈不上数学之美,数学真正博大精深的思想我恐怕还不曾有半点体会。
我多次跟人说起,我的人生理想就是,希望有一天能学完数学中的各个分支,然后站在一个至高点,俯瞰整个数学领域,真正体会到数学之美。但是,想要实现这一点是很困难的。最大的困难就是缺少一个学习数学的途径。看课本?这就是我今天想说的——课本极其不靠谱。
这个我深有体会。最近两年,我一直在做初中数学培训,有了一些自己的看法。数学教育大致分成三个阶段,看山是山看水是水,看山不是山看水不是水,看山是山看水是水。
最早数学教育就是,教你几个定理,告诉你它们是怎么证的,再让你证明一些新的定理。
后来的要求就变了:光学数学不够,还要用数学。数学教育已经上升了一个层次:大家要把数学用到生活中去,解释生活中的现象。一时间,课本也好,中考题也好,全是与生活实际紧密联系的数学应用题,仿佛放眼望去身边真的处处都是数学一样。商场卖货,书店卖书,农民耕地,工人铺砖,再一次涌现在了课本、教辅书和考试题里。其实,数学可以解释生活,只是我们并不会这样去做。生活的变量太多,再强大的数学模型也不可能考虑到一切。对于平常人来说,真正能用到数学的地方,也就只有算算帐了。
总有一天,数学教育会拔高到第三层:返朴归真,数学真正牛 B 的还是它本身。你会发现,那些伟大的数学思想,那些全新的数学理论,最初研究的动机并不是要急于解释我们身边的某某诡异现象,而是它本身的美妙。线性代数的出现,很大程度上要归功于神奇的 Cramer 悖论;群论的诞生,也是 Galois 研究多项式的解的结构时的产物;Euler 创立图论,源于那个没有任何实用价值的 König*****erg 蛋疼问题;非欧几何的出现,则完全是由于这个问题本身的魅力。微积分呢?它确实有非常广泛的实用价值,物理学的各种定义都依赖于微积分;但很可惜,它不是一种具有颠覆性的数学思想。
初一课本讲负数时,反复说负数的实际意义,比如海拔、得分、温度、收支等等,把负数变成一种真实的存在。其实,这不是人们使用负数的主要动机。负数的价值在于,它可以把减去一个数变成加上一个负数,很多加加减减复杂到甚至需要分类讨论的东西都能够用一个式子统一在一起了。比如说小学的盈亏问题:如果每人分 3 个苹果还多 8 个,如果每人分 5 个苹果则还多 2 个,问有多少人多少苹果?解法是,两种分法多出来的苹果相差 6 个,这是每个人多分了两个苹果引起的,因此一共 3 个人,从而可以算出有 17 个苹果。但是,如果把问题改成“每人分 3 个就多 8 个,每人分 5 个就少 2 个”该怎么办?上面的公式就变了,8 不能减 2,要加 2 。因此,小学讲盈亏问题会分“盈亏”、“盈盈”、“亏亏”三种情况讨论。其实,如果把“少 2 个”理解成“多 -2 个”,问题是一模一样的,之前的公式同样适用。负数这一新思想立即把三种情况统一在了一起,它们的本质变得一模一样了。
这是我给初一学生讲负数时必讲的例子。这才是负数的意义。这才是课本里应该反复举例强调的。
某次看到论坛里有人问,群论有什么意思啊?某人回复,群论很有意思啊,只是课本把它写得没意思了,比方说,讲群论怎么能不讲魔方呢?我不赞同这个回复。数学吸引人的地方,不在于它在生活中的应用,而在于它本身的美。为什么不讲 Lagrange 定理?为什么不讲 Sylow 定理?对于我来说,最能吸引我学习一个数学课题的,莫过于一系列非平凡的结论以及它的精彩证明了。
科幻小说《伤心者》的末尾列举了很多长期以来未得到实际应用的数学理论,不过却没有说到一个更为极端的例子。数学中的皇冠——数论——2000 年来一直没有任何实际应用,是最纯粹的数学。直到计算机,尤其是现代密码学的出现,才让数论第一次走出数学,走进了人们的生活中。是什么在支持数论的研究呢?只能是数学本身了。
在我给初中孩子出几何题时,我都尝试着给出一般性的问题,求证三角形中两边的平均长度大于第三边上的中线长,求证三角形三条高的倒数和等于内切圆半径的倒数,等等。即使是纯代数问题和解析几何问题,我也总能编出题目描述简单并且极具挑战性的问题。两数的和与积相等共有多少个整数解?把直线 y=x 沿 y=2x 翻折后得到的直线方程是什么?在感受结论之美的同时,他们也会因自己独立解决了一个真正的数学问题而激动。
然而,这还不算教育的主要问题。某次与一个数学专业的同学聊到 Riemann 假设时,对方说她从没听说过 Riemann 假设。我大吃一惊,数学专业的人怎么可能不知道 Riemann 假设呢?随即明白,这也是拜数学教育所赐。翻开数学课本,总是成套的理论体系,先定义再证明,说得头头是道。可是,这些东西都是怎么来的呢?在得出这些东西的过程中,数学家们走了哪些弯路呢?课本上只字不提。课本里从来都只讲什么是对的,却从来不讲什么是错的。数学考试只会让你证明一个结论,从不会让你推翻一个结论。
2010 年江苏高考数学题因为“太难”备受争议。其中最后一道大题如下:已知 △ABC 的三边长都是有理数,(1) 求证 cos(A) 是有理数; (2) 求证对任意正整数 n , cos(nA) 是有理数。其实这道题是一个非常漂亮的好题,描述简单,问题普遍,结论有趣,证明巧妙,中考题就该这么出。不过我觉得,如果再补上这么一个小问,这道题就真的完美了:证明或推翻, sin(A) 一定是有理数。当然,问题本身并不难,等边三角形就是一个最简单的反例。关键在于,推翻一个结论,寻找一个反例,也是数学研究的一个基本能力,而这是中学数学教育中很少重视的。
于是,在教初中数学时,我布置的每道作业题都无一例外地以“证明或推翻”打头。偶尔,有些题目真的是需要学生们去推翻它。比方说,证明或推翻,周长和面积都相等的两个三角形全等。不同的人找到的反例不一样,有的简单有的复杂,有的深刻有的盲目。再用一整节课的时间逐一讲解并点评大家构造的反例,给孩子们带来的收获远比直接讲题要大得多。
但是,我还没有讲到数学教育中最主要的问题。前段时间去图灵的作译者交流会,期间和刘江老师简单地聊了几句。刘江老师提到一个网站叫做 Better Explained 。他说,其实大家没能理解数学之妙,是因为教的时候没教好,数学本来可以讲得更直观,更通俗的。
我非常同意刘江老师的说法。举个例子吧。如果有学生问,质数是什么?老师会说,质数就是除了 1 和自身以外,没有其它约数的数。不对,这不是学生想要的答案。学生真正想知道的是,质数究竟是什么?其实,质数就是不可再分的数,是组成一切自然数的基本元素。 12 是由两个 2 和一个 3 组成的,正如 H2O 是由两个 H 原子和一个 O 原子组成的一样。只是和化学世界不同,算术世界的元素有无穷多个。算术世界内的一切对象、定理和方法,都是由这些基本元素组成的,这才是质数为什么那么重要的原因。
高中学复数时,相信很多人会纳闷儿:虚数是什么?为什么要承认虚数?虚数怎么就表示旋转了?其实,人们建立复数理论,并不是因为人们有时需要处理根号里是负数的情况,而是因为下面这个不可抗拒的理由:如果承认虚数,那么 n 次多项式就会有恰好 n 个根,数系一下子就如同水晶球一般的完美了。但复数并不能形象地反映在数轴上,这不仅是因为实数在数轴上已经完备了,还有另外一个原因:没有什么几何操作连做两次就能实现取相反数。比如,“乘以 3”就代表数轴上的点离原点的距离扩大到原来的三倍,“3 的平方”,也就是“乘以 3 再乘以 3”,就是把上述操作连做两次,即扩大到 9 倍。同样地,“乘以 -1”表示把点翻折到数轴另一侧,“-1 的平方”就会把这个点又翻回来。但是,怎么在数轴上表示“乘以 i ”的操作?换句话说,什么操作连做两次能够把 1 变成 -1 ?一个颇具革命性的创意答案便是,把这个点绕着原点旋转 90 度。转 90 度转两次,自然就跑到数轴的另一侧了。没错,这就把数轴扩展到了整个平面,正好解决了复数没地方表示的问题。于是,复数的乘法可以解释为缩放加旋转,复数本身自然也就有了 z = r (cosθ + sinθi) 的表示方式。顺着这个道理推下去,一切都顺理成章了。复数不但有了几何解释,有时还能更便捷地处理几何问题。
一直对线性代数很感兴趣,于是大学选了线性代数这门课,结果收获几乎为零。原因很简单,本来期待着来一次大彻大悟,结果学了一个学期,我还是不知道矩阵究竟是什么,矩阵乘法为什么要这么定义,矩阵可逆又怎么了,行列式究竟表示什么。
直到今天看到这个网页,才看见有人一语道破线性代数的真谛(这也是我终于决定写成此文的直接原因)。我终于找到了我那一个学期企图寻找的东西。就好像把 x 变成 2 x 一样,我们经常需要把 (x, y) 变成 (2 x + y, x – 3 y) 之类的东西,这就叫做线性变换。于是才想到定义矩阵乘法,用于表示一切线性变换。几何上看,把平面上的每个点 (x, y) 都变到 (2 x + y, x – 3 y) 的位置上去,效果就相当于对这个平面进行了一个“线性的拉扯”。
矩阵的乘法,其实就是多个线性变换叠加的效果,它显然满足结合律,但不满足交换律。主对角线全是 1 的矩阵所对应的线性变换其实就是不变的意思,因此它叫做单位矩阵。矩阵 A 乘以矩阵 B 得单位矩阵,就是做完线性变换 A 后再做一次线性变换 B 就又变回去了的意思,难怪我们说矩阵 B 是矩阵 A 的逆矩阵。课本上对行列式的定义千奇百怪,又是什么递归,又是什么逆序对,还编写口诀帮助大家记忆。其实,行列式的真正定义就一句话:每个单位正方形在线性变换之后的面积。因此,单位矩阵的行列式当然就为 1,某行全为 0 的行列式显然为 0 (因为某一维度会被无视掉,线性变换会把整个平面压扁), |A·B| 显然等于 |A|·|B| 。行列式为 0 ,对应的矩阵当然不可逆,因为这样的线性变换已经把平面压成一条线了,什么都不能把它变回去了。当然,更高阶的矩阵就对应了更高维的空间。一瞬间,所有东西都解释清楚了。
难以置信的是,如此令人兴奋的东西,我们所用的课本上竟然一点都没有说到!那些开篇就讲行列式定义的课本,为什么不先把线性变换下的面积当作行列式的定义,再推导出行列式的计算方法,再来补充说明“其实从逻辑上说,我们应该先用这个计算公式来定义行列式,然后才说行列式可以用来表示面积”?为了严密性而牺牲了可读性,太不值得了。写到这里,我真想立即拾起线性代数课本,用全新的眼光重看所有的定义和定理,然后重新写一份真正的线性代数教材来。
高数课本同样荒唐。主流的高数课本都是先讲导数,再讲不定积分,再讲定积分,完全把顺序弄颠倒了。好多人学完微积分,虽然已经用得得心应手,但仍然没懂这是怎么回事。究其原因,还是数学教学的问题。
我理想中的微积分课本则应该是先讲定积分,再讲导数,再讲不定积分。先讲定积分,不过千万不能用现在的定积分符号,避免学生误认为定积分是由不定积分发展而来的。讲自古就有的积分思想,讲分割求和取极限的方法,自创一套定积分的符号。然后另起炉灶,开始讲微分,讲无穷小,讲变化量。最后才讲到,随着 x 一点一点的增加,曲线下方面积的变化量就是那一条条竖线的高度——不就是这个曲线本身的函数值吗?因此,反过来,为了求出一个函数对应的曲线下方的面积,只需要找到一个新函数,使得它的微分正好就是原来那个函数。啪,微积分诞生了。
光讲形式化的推导沒有用。这才是真正把微积分讲懂的方式。严格定义和严格证明应该放到直观理解之后。只可惜,我还没看到哪本课本是这样写的。
说了这么多,其实总结起来只有一句话:我们学习数学的过程,应该和人类认识数学的过程一样。我们应该按照数学发展历史的顺序学习数学。我们应该从古人计数开始学起,学到算术和几何,学到坐标系和微积分,了解每个数学分支创立的动机,以及这个分支曲折的发展历程。我们应该体会数学发展的每个瓶颈,体会每个全新理论的伟大之处,体会每一次数学危机让数学家们手忙脚乱的感觉,体会先有直观思维再给出形式化描述的艰难。
可惜,我没有找到任何用这种方式学习数学的途径。
不过也好。既然没有捷径,那就让我自己把那堆形式化的定义和证明通看一遍,然后自己去体会其中的道理吧。这样看来,我们的教育也没错:先用考试逼着大家把该学的东西都学了,尽管自己也不知道自己学的是啥;等将来的某一天达到一定高度时,回头看看过去学的东西,突然恍然大悟,明白了当初学的究竟是什么。这无疑是一件更有乐趣的事情。我希望有一天能像今天这样,能悟出高等代数究竟在讲什么,能悟出范畴论到底有什么用,能悟出 Riemann 假设为何如此牛 B,能悟出 Hilbert 空间是什么东西,然后把它们都写下来。
这恐怕得花我大半辈子的时间吧。
相关文章
Previous post: 内部动乱(下)(一八六〇至一八七七)
Next post: 杨秀清的人缘
{ 1 comment… read it below or add one }
什么是直线?
什么是直线?或者更加准确的问法是如何定义直线?不知道你有没有思考过这个问题。尽管我们实际生活中都有对直线概念的直观理解,但是考虑到后来非欧几何的问世,我们理应对直线有一个更深刻的认识。
欧几里得的几何原本上是这么定义直线的:“直线是它上面的点一样地平放着的线”,其中线的定义是“线只有长度而没有宽度”。显然在逻辑上这样的定义是极其不严格的,因为什么叫做“一样的平放着”只是一个日常生活中的直观概念。这也就是说欧几里得的几何原本相当于并没有对直线给出定义,尽管直线是几何学最基本的基本概念之一。
可能很多人会认为直线被定义成“两点间最短的线”(在这里就不去区分线段和直线了),然后就觉得在逻辑上就已经定义清楚了。但是这里还有一个问题,那就是什么叫做短?要有长短的概念就要先有距离的概念,而仅仅在几何学内考虑这个问题的话,要丈量距离就必须先有尺,而尺的形状又是直的,因此距离的概念其实是建立在直线的概念之上的。所以如果只考虑几何学那么用距离定义直线就成了循环定义了。
所以在数学上,我们就不能单从几何的角度去定义距离了。为了定义距离,我们需要在空间的每一个无穷小的区域上建立一个笛卡尔坐标系,在每一个小的笛卡尔坐标系内部可以通过普通的解析几何的方法定义出距离,然后在整个路径上对每一个小段上的距离进行叠加,从而定义出两点间连线的距离。之所以能在无穷小区域上建立笛卡尔坐标系,是因为一条曲线在无穷小区域上,我们可以把它近似为一小段直线(这个直线就是我们通常直观认识的直线),这个思想其实在最基础的微积分里面就已经有了。(如果一个空间奇异到在无穷小区域上无法建立笛卡尔坐标系,那么一般我们就不去研究它了。)至于为什么不能直接在大区域上直接建立笛卡尔坐标系来定义距离,原因很简单,坐标轴要画成直线啊,在没有直线概念的时候又哪里来的坐标轴呢…一个能够帮助理解的简单例子是在球面上定义最短线,如果直接建立笛卡尔坐标,其中的坐标轴就用我们直观感受的那种直线的话,那么最短线是必须脱离球面而经过球面之外的空间的。但是在球的表面的每一个无穷小区域上建立微小笛卡尔坐标系,就可以很好的沿着球表面定义出一条最短线。
至此,我们基本上可以把直线就定义成两点间距离最短的线了。但是,一定要知道一点,如此定义并没有定义出唯一一种直线。显然在一个球面上定义出的最短线,在我们看来其实是圆弧;在马鞍面上画出的最短线,在我们看来也是弯弯曲曲的线…他们都属于非欧几何。庞加莱圆盘模型(参见这篇文章)就是非欧几何的一种,按照那里定义的距离,圆盘模型内的直线在我们看来就成了圆弧了。
那么怎么定义才能保证刚才定义出来的直线就是我们通常直观上的直线呢?其实很简单,只要再加上一个公理,即传说中的欧几里得第五公设就可以实现:同一平面内一条线段和另外两条线段相交,若在某一侧的两个内角的和小于两直角,则这两线段经充分延长后在这一侧相交。非欧几何正是做出了与第五公设相反的假设而得名的,给出不同的公理,就会得出各种各样的非欧几何。
至此,我们终于可以引入Hilbert大神对直线的理解了:点和直线不可定义,真正需要的是点和直线之间的关系!而对于点和直线之间的最基本关系,Hilbert用公理来确定。“几何学就是给直线一个定义”,只要给出一个直线的定义,就有一套几何学!(这里说的给直线一个定义,意思就是给出一个与现有数学体系无矛盾的描述直线和点之间关系的公理)。而许多不同的几何学在数学上都是正确的,因为它们都被证明是与现有数学体系没有矛盾的。
以上都是数学上对直线定义的讨论。但是现实世界中,我们总得给出对直线的唯一一种定义,然后我才能说从宿舍到食堂到底有多远,以及天文里面一颗恒星距离我们到底有多远。那到底哪一种几何学是“真”的呢?什么是现实世界中的客观的直线呢?
通过上面的讨论我们知道了,对于直线的定义其实是随意的。但是基于一些的物理上的信仰,我们仍然对现实中直线的定义作出几条限制:1.不能依赖于主观参考系;2.该定义对于长距离一定也要有效。
现代物理学认为自然界中只有4种相互作用力,其中只有电磁力和引力是长程作用力,于是对应着只有光子和引力子满足上述两条要求(在量子场论中,光子是传递电磁力的粒子,引力子是传递引力的粒子)。鉴于现在引力子仍然没有被观测到,因此我们只剩下了唯一一种选择:定义直线为光子走过的路径!于是相对应的,现实世界也就只有唯一一种几何学了。(将来很有可能观测到引力子,因此在未来很有可能把直线定义为引力子走过的路径…当然引力子的性质和光子是不同的,于是这两种直线的定义就是不同的,于是将来就会有两种不同的真实几何学。这两种不同的几何学必须要统一起来,可见理论物理学的核心问题之一——统一引力和其他三种作用力是多么重要!)
有意思的是,天文学的观测表明,光经过大质量物体时会发生偏折,也就是说我们真实的宇宙中三角形的内角和并不等于180°!(这正是广义相对论的预言)。。。于是,非欧几何不仅仅在逻辑上是存在的,它更是真实世界的几何学!到头来我们才发现,原来我们一直以为很显然的初中学的欧几里得几何学,充其量只是数学家头脑中凭空构造出来的玩具而已。。。
最后再补充一点,鉴于在物理上我们定义直线为光走过的路径,而在小尺度上光子因为量子效应不再具有很好的粒子性,不再具有通常意义上的轨迹,因此,在小尺度上(小到量子效应很明显),几何学根本就是不存在的!这也就是为什么量子力学中就再也没有轨迹这种几何学概念了。
至此,总算是把直线的定义给说清楚了…
//本文基本观点来自北京大学数学科学学院范后宏教授“古今数学思想”课。