我计划写一个数学方面的系列,分享我学数学的心得。我会教学习数学和思考数学的方法,而非数学知识。所以,我会假设读者已经知道了一些最基本的数学概念。我会直接使用一些数学术语而不复述定义。我的绝大部分内容不会超过大学本科的水平。如果你看到一个术语不知道是什么意思,在网上查一下,很容易就能找到。
我会使用大量的例子。这些例子具有一定的独立性。如果你看不懂一个例子,可以直接跳过去,不会影响后续内容的理解。
本系列文章面向的读者是大学低年级学生,以及所有有志于学习数学且正在打基础的人。
好,正式开始。要学好数学,最关键的是要掌握数学的思维方式,用英语来说,learn to think mathematically。
要解释什么是数学的思维方式不是一件容易的事,我自己也不一定就已经掌握。所以,我挑一件容易一点的事情来做,那就是举一个不是数学思维的需要避免的思维方式的例子。
这种需要避免的思维方式我称之为符号式的思维方式,即把数学看成字符串的操作,而忽略了数学符号背后的数学含义。
举个例子,求导公式
可以看成是对字符串"sin ax"的操作:把"sin"和"x"之间的子字符串照抄一遍到最左边,然后把"sin"替换为"cos"。
学生即使完全不知道导数的定义,甚至不知道"sin"和"cos"代表的是三角函数,单凭这种字符串操作规则也能做出大部分习题。
诚然,从数理逻辑和公理化的角度来看,数学的确可以看成是字符串的操作。但是,如果你真的把数学看成字符串的操作,你就无法真的理解数学,无法掌握数学的思维方式。
不幸的是,从我的教学经历来看,相当一部分学生的确就是把数学看成了字符串的操作。
我曾经出过一道这样的测验题。很简单,求 的导数。有个学生是这样做的:
有一个微小的可能他在故意戏弄我。但我觉得更大的可能是他刚学了哪个求导法则就硬套哪个求导法则,并没有真正理解自己到底在做什么。
一个人如果习惯于符号化的思维,就会忘记定理和公式的原理,甚至忘记了检查precondition。
我曾经见过一个助教出了这样一道题:计算定积分
这位助教自己给出了解法:
这个也是典型的符号化思维。(想一下这个解法错在哪里)
更糟糕的是,许多教材也在使用符号化思维。举个例子,解微分方程
大部分教材用分离变量法来解这个方程。顾名思义,就是把和
分开到方程的两边:
两边积分:
两边取指数,再整理一下,就得到
看出问题在哪里了吗? 是一个整体的 notation,表示一个函数的导数。单独的dx或dy其实是没有定义的,至少在当前的 context 没有定义(在后续课程微分几何中,dx和dy的确有严格定义,但是含义和这里不完全一样)。
事实上,如果我们令,然后把导数的定义代回去,方程就变为
我们看到,左边的分式出现在极限里面,你没有办法把它拆开到方程的两边。
把一个极限形式化地写成一个分式,然后把分式形式化地拆开到方程的两边,再形式化地在方程两边同时添加一个积分号,对我来说,这些操作是荒谬的,就好像下面这张图一样荒谬。

当然,许多数学家也很喜欢用这种 informal argument。但是,他们已经足够熟练,更重要的是,他们在做这种形式化的操作的时候心里明白有一种机制在保证他们可以做这种操作。
而刚接触高等数学的学生不知道这种机制,教材也没有写出来,甚至没有指出需要这种机制和存在这种机制。学生会以为数学就是这种形式化的操作。这对学生数学思维的培养是极其不利的。学生经过-
的训练刚刚建立起一点数学思维,到了微分方程又被推向了符号化思维。
所以,想要真正学好数学,就要时刻紧记数学符号背后的数学含义。如果你在书上看到一种形式化的操作,你应该停下来想一想,这种操作背后的机制是什么?为什么可以这样操作?如果实在想不出来,你也应该这样对自己说:”我明白这种操作背后有一种我现在还不能理解的机制。既然书上这样写,我也就跟着这样做题了。但是,我不会想当然地以为数学就是这种形式化的操作。我也不会把这种操作推广到另外一个领域。在另外一个领域,这种形式化的符号化的操作可能就是错的。”
(此文为本人原创,转载或者引用本文内容请注明来源及原作者)