抽象的数学怎么学

(这是我在博雅教育学会公益讲座的讲稿,现在整理出来供大家参考)

这是当时 的讲稿,可以下载:

我们知道,数学越学到后面,概念越来越抽象,运算也越来越抽象。我们要怎么样学才会比较容易呢?

我用一句话概括,就是:抽象的数学要用具体的例子和计算来学。

这样说,是不是太抽象了呀?那我们就用一些具体的例子来说明这句话。

先看两个简单的、高中的例子。

我每年在辅导学生的时候,都会碰到类似这样做题的:

\[\require{cancel}\frac{6-x}{2x}=\frac{6-\cancel {x}}{2\cancel {x}}=\frac{5}{2}\]

一般的情况下,我不会跟学生说对不对,也不会说哪里错了,我会问,如果 \(x=2\),那会怎么样呢?

\[\frac{6-2}{2\cdot 2}=\frac{5}{2} ?\]

学生简单一算,两边不相等,就知道这样运算是不对的。然后我再告诉他们,什么样才是对的。

变量对于初高中生来说,是比数字更抽象的概念,那么理解关于变量的运算或者相关概念的时候,数字就是具体的例子。

第二个例子,就是复合函数的定义。

两个函数 \(f\) 和 \(g\) 的复合函数 \(f\circ g\) 的定义为

\[(f\circ g)(x)=f(g(x))\]

意思就是我们用 \(g(x)\) 来代替 \(f(x)\) 表达式里的所有的 \(x\)。例如

\[f(x)=x^2+x+3, g(x)=2x+1\]

那么 \[(f\circ g)(x)=f(g(x))=f(2x+1)=(2x+1)^2+(2x+1)+3\]

这么讲,还是很多同学不能理解这个概念,那么我一般是这么进行的,问

\[f(2)=?\]

这时候基本上都会

\[f(2)=2^2+2+3\]

同样的再问几个同样的问题

\[f(5)=5^2+5+3=33,\cdots\]

这时候,基本上知道是用括号里的数字代替 \(x\),进一步,用别的字母代替数字,

\[f(a)=a^2+a+3, f(b)=b^2+b+3\]

更进一步用别的字母的表达式代替数字

\[f(a+1)=(a+1)^2+(a+1)+3\]

这时候基本上就懂了,知道是用括号里的表达式来代替原本 \(f(x)\) 表达里的所有 \(x\),

\[f(2x+1)=(2x+1)^2+(2x+1)+3\]

这两个例子都是用数字来具体化变量,因为相对于数字来说,变量就是抽象的。碰到变量相关的概念和运算,用具体的数字来举例,就比较容易理解了。

接下来的例子来自于大学课程。首先是无限并与无限交的概念。

设 \(\displaystyle A_n=(-\infty,-\frac{1}{n}]\cup[\frac{1}{n},\infty)\),求

\[\bigcup_{n=1}^{\infty}A_n,\quad \bigcap_{n=1}^{\infty}A_n\]

这样的问题,有些同学看到这么一大堆符号,首先就懵了。实际上,对于无限的运算,我们先写出有限项来,然后可以看出一些规律。

我们先把表达式写得更具体一些

\[\bigcup_{n=1}^{\infty}A_n=A_1\cup A_2\cup A_3\cup\cdots\]

\[\bigcap_{n=1}^{\infty}A_n=A_1\cap A_2\cap A_3\cap\cdots\]

然后把 \(A_1,A_2,A_3,\cdots\) 的具体表达式写出来,

\begin{align*}&A_1=(-\infty,-1]\cup[1,\infty), A_2=(-\infty,-\frac{1}{2}]\cup[\frac{1}{2},\infty),\\ & A_3=(-\infty,-\frac{1}{3}]\cup[\frac{1}{3},\infty),\cdots\end{align*}

现在可以看出,\(A_1\subset A_2\subset A_3\subset\cdots\),\(A_1\) 是所有其它集合的子集,从而

\[\bigcap_{n=1}^{\infty}A_n=A_1\cap A_2\cap A_3\cap\cdots=(-\infty,-1]\cup[1,\infty)\]

同理,

\[\bigcup_{n=1}^{\infty}A_n=A_1\cup A_2\cup A_3\cup\cdots=\lim_{n\to\infty}A_n= (-\infty,0)\cup(0,\infty)\]

这里我们把比较抽象的无限运算用有限的几个集合的具体表达式就算出来了。

我们再看一个集合族的问题。事实上,这个问题是我这个讲座的最初的来源。

\[X_t=\left\{x\in\mathbb{R}\Big| 1+\frac{1}{t}<x<2+\frac{1}{t}\right\}\]

\[\bigcap_{t>0}X_t,\quad \bigcap_{t>1}X_t, \quad \bigcup_{t>0}X_t\]

这样的集合族,都没办法象之前那个例子一样,列出全部的集合来。因为 \(t>0, t>1\) 都是不可数集。我在当时跟问这个问题的同学说,你先列几个集合出来看看,或许就可以找到答案了。

我们这样试一下,

\[X_{0.001}=\{x|1001<x<1002\}=(1001,1002)\]

\[ X_1=(2,3), X_2=(\frac{3}{2},\frac{5}{2}), X_{1000}=(1.001,2.001),\cdots\]

观察一下,就知道,\(X_{0.001}\) 和 \(X_1\) 都是不相交的,或者它们的交集是空集,那么集合族的交集自然是空集。也就是说

\[\bigcap_{t>0}X_t=\emptyset\]

另外 \(t\) 越大, \(X_t\) 越接近于 \((1,2)\),\(t\) 越小,\(X_t\) 越接近于长度为 \(1\) 的区间,其端点趋近于无限远。所 以

\[ \bigcup_{t>0}X_t=(1,\infty)]\]

而 \(t>1\) 时,

\[X_{1.001}=(1.999,2.999),\]

\[ X_2=(\frac{3}{2},\frac{5}{2}),X_{1000}=(1.001,2.001),\cdots\]

可以看出,所有 \(X_t\) 只有一个共同点 \(2\),也就是

\[\bigcap_{t>1}X_t={2}\]

这里我们可以看到,不可数的集合,我们可以用可数的集合来具体化运算,可以简化或者帮助我们理解与运算。

接下来看两个抽象的概念。

我们说一个 \(\mathbb{R}^n\) 上的一个子集 \(\mathcal {U}\) 是一个线性子空间是指它满足这三个条件:

(1)\(\vec{0}\in\mathcal{U}\);

(2)如果 \(\vec{x},\vec{y}\in\mathcal{U}\),那么 \(\vec{x}+\vec{y}\in\mathcal{U}\);

(3)如果 \(\vec{x}\in\mathcal{U}\),那么对任意的 \(\lambda\in \mathbb{R}\),有 \(\lambda\vec{x}\in\mathcal{U}\)。就是任何两个元素之和在集合里面,任何一个元素的数乘也在集合里面。

我们用一个例子来说明这个概念。

集合\[\mathcal{U}=\left\{\vec{x}=\begin{pmatrix}x\\y\\0\end{pmatrix}, x,y\in\mathbb{R}\right\}\]

是 \(\mathbb{R}^3\) 上的一个线性子空间。

但是这个例子还是有点抽象,那我们用更加具体的例子来说明。这个例子说的是,一个集合是由这样的向量组成:第一个分量和第二个分量是任意的数,第三个分量是 \(0\),那么这样的两个向量是在这个集合里的

\[\begin{pmatrix}1\\2\\0\end{pmatrix}\in\mathcal{U},\begin{pmatrix}-2\\1\\0\end{pmatrix}\in\mathcal{U}\]

它们的和也是这种形式的,对它们乘以一个数也是这种形式的,

\[\begin{pmatrix}1\\2\\0\end{pmatrix}+\begin{pmatrix}-2\\1\\0\end{pmatrix}=\begin{pmatrix}-1\\3\\0\end{pmatrix}\in\mathcal{U}, \quad 3\begin{pmatrix}1\\2\\0\end{pmatrix}=\begin{pmatrix}3\\6\\0\end{pmatrix}\in\mathcal{U}\]

所以两向量的和也在这个集合里,数乘也在这个集合里面,所以这个集合就是一个线性子空间。

最后我们看一个本科高年级的概念:拓扑

一个集合 \(X\) 上的拓扑是指 \(X\) 的一个子集的集合 \(\mathcal{T}\),满足:

(1)\(X\in\mathcal{T},\emptyset\in\mathcal{T}\):

(2) 任何个 \(\mathcal{T}\) 里的元素的并也在 \(\mathcal{T}\) 里 (无限并在 \(\mathcal{T}\) 中);

(3) \(\mathcal{T}\) 中有限个元素的交也在 \(\mathcal{T}\) 中(有限交在 \(\mathcal{T}\) 中)。

我们很多拓扑学教材,或者泛函分析的教材,对拓扑的举例也都是一些比较抽象的例子,基本上是函数空间或者其它的无限维空间,使得这些例子对于理解这个概念并无多大帮助。其实越简单的例子,越能帮助理解。我们来看一个简单的例子:

设 \(X=\{a,b\}\), 则 \(X\) 的所有子集为 \(\{\emptyset, \{a\},\{b\},\{a,b\}\}\),我们可以定义 \(\mathcal{T}=\{\emptyset,\{a\},\{a,b\}\}\)。那么可以直接验证

(1)\(\displaystyle\emptyset\in\mathcal{T},\quad X=\{a,b\}\in\mathcal{T}\)

(2)\[\emptyset\cup\{a\}=\{a\}\in \mathcal{T},\]

\[ \emptyset\cup\{a,b\}=\{a,b\}\in\mathcal{T}, \]

\[\{a\}\cup\{a,b\}=\{a,b\}\in\mathcal{T}\]

\[ \emptyset\cup\{a\}\cup\{a,b\}=\{a,b\}\in\mathcal{T}\]

(3)\[\emptyset\cap\{a\}=\emptyset\in\mathcal{T}\]

\[\emptyset\cap\{a,b\}=\emptyset\in\mathcal{T}\]

\[\{a\}\cap\{a,b\}=\{a\}\in\mathcal{T}\]

\[\emptyset\cap\{a\}\cap\{a,b\}=\emptyset\in\mathcal{T}\]

我们看到拓扑所要求的三个条件都满足,所以 \(\mathcal{T}\) 是 \(X\) 的上拓扑。

另外一个例子,定义 \(\mathcal{T}_2=\{\emptyset,\{a\},\{b\}\}\),那么 \(\mathcal{T}_2\) 不是 \(X\) 上的一个拓扑。因为

\[\{a\}\cup\{b\}=\{a,b\}=X\notin\mathcal{T}_2\]

所以 \(\mathcal{T}_2\) 不是 \(X\) 上的拓扑。

最后几句话。

(1)例子越简单,越具体,越能理解抽象的定义与定理;

(2)例子不能代替证明,只能帮助理解;

(3)高年级的课程,总是能在低年级课程里面找到例子。

发表回复

您的电子邮箱地址不会被公开。