为什么学习数学应当从线性代数开始

当我读完大学时已经 17 岁了 ...... 我考虑选 Delone 和 Kurosh 做我的导师。他们代表的不只是两种不同的数学类型,简直是两种截然相反的数学类型。Delone 是彼得堡学派的典型代表 ...... 但 Kurosh 正相反,是一个激进分子。他告诉我,数学可以分为两部分:哲学和会计学 ......
—— 引自《代数基本概念——中文版序言》中沙法列维奇的回忆

线性代数是高等教育中一门重要的课程,不但是理工科而且也是一部分人文科学必修或选修的课程。线性代数在高等院校的教学安排中属于较「初级」的课程,通常是和微积分并列,作为一年级新生的数学入门课程。按照这样的安排,线性代数按道理应当是一门比较简单或容易学的课程,但事实却完全相反,线性代数的教学口碑一直是恶名昭彰。和微积分相比,线性代数似乎离直觉更远、我们过去的数学经验极少有帮助,一堆被称作「矩阵」的莫名其妙的数字排列被颠来倒去,学习者很难理解其中的意义,不知道自己真正在学什么。

线性代数课程开始时,我们通常会被告知「这是一门解线性方程组的学科」。此时我们的困惑可能是:三元或以下的方程组我已经会解了,而且解线性方程组在中学数学的内容中只占很小比例,难道还真的需要一个数学分支大动干戈地学习解方程组?但实际上真正的噩梦始于学习解方程组之后。我们感觉被骗了,线性代数的绝大部分内容根本不是什么解方程组,而是一大堆莫名其妙的东西,大量的晦涩难懂的概念术语每天对我们进行狂轰滥炸,我们毫无招架之力,几近精神崩溃。不少人干脆躺平,不再追究线性代数的真实意义,勉强对付考试及格了事。

工作后,人工智能大盛,据说基础之一就是线性代数。不得已又得拿起书,但是那些令人生厌不知所云的语言、符号、公式、定义、定理、证明一阵阵袭来,顿感一股嫌恶困倦之意。如果你随意比较若干本线性代数的教科书,会发现和微积分相比,每本书内容的排列顺序都不一样,后一章和前一章在内容上没有任何承接关系,而且毫无章法,东一榔头西一棒子。就像是读《儒林外史》,每个故事都是独立成章。内容和顺序的安排往往是任意的,完全是根据教科书作者的主观意志而定。这种随意性,在其它数学教科书中是非常罕见的。

可以说,学习线性代数是学习生涯中最痛苦的经历之一。刚刚学完解线性方程组,就转入没有什么太大关系的行列式,然后又进入到莫名其妙的矩阵;折腾进向量空间还没弄明白,又要经受特征值特征向量、线性算子等的折磨。一路走来,收获甚少,只觉得我已经成了教科书的局外人。如果你有这样的经历,那你绝不孤单,天下所有学习线性代数的学子,少数学霸天才除外,绝大多数都有相同或相似的经验。

 线性代数的教学,一直是一个令人棘手、广受争议的问题。美国于上世纪90年代还特意成立了 Linear Algebra Curriculum Study Group(线性代数课程研究小组),研究线性代数的教学改革问题。加拿大数学学会于1999年召开年会,专门讨论线性代数教材的改革问题。这些专门会议和组织召集各路专家,经过一番研究讨论后得出的结论是:Linear algebra as a cognitively and conceptually difficult subject。20年以后,线性代数的教科书出现了一些新的变化但问题并没有得到解决。许多学生视线性代数为畏途,谈线性代数而色变。

那么,被数学教育专家定性为 cognitively and conceptually difficult subject 的线性代数,为什么又被指定为大学基础数学的入门课程?这是由这门学科的有用性决定的。特别是新的人工智能热潮带来的各种机会,使得线性代数成为数学中的显学。任何教育机关都无法忽略这门课程在教学中的地位,但同时使得线性代数的教育在没有一致的科学方法的情况下盲目施教,负责任的老师在各显神通,不负责任的老师在照本宣科,而教学失败的后果皆由学生概括承受,许多人毕业多年,至今仍不知道线性代数到底是一门什么样的学科。在 Quora 中,甚至有教线性代数的老师这样问:

  • What is the point of linear algebra?
  • How can I motivate students to study this?
  • Are there any tangible reasons why students should study linear algebra?

我自己的线性代数学习,同样也经历了这个痛苦历程。迄今为止一共学过三遍,最痛切的感觉就是:没有一部教科书能够完全理解。并非是内容本身无法理解,而是不知道为什么要学这个!线性代数每个部分的细节都可以理解,也会做题,但是无法从概念上拼成一个完整的全图,我的困惑和上面那个教线性代数的老师的那三个问题基本相同,就是 point、motivation 和 tangible reason。

最终让我「开窍」的,是后来风靡世界的3Blue1Brown的视频系列《Essence of Linear Algebra》—— 这是我见过的世界上最好的线性代数讲座,建议所有想认真学习的初学者都应当至少看一遍(这个视频在B站已经有中文版)。

但是仅仅靠这个视频讲座,离完全掌握线性代数的基本思想、基础架构、各个知识点之间的联系还差得很远。在此基础上,我又精读了一些数学大家的经典之作,泛读了大量口碑较好的教科书和一些论文,深深感觉需要在这个视频讲座的基础之上进一步提炼线性代数最基础、最本质的概念,重新组织、架构整个知识体系——至少让这个知识体系成为一个有序空间,展现各个话题之间的逻辑继承关系。目前这个笔记系列就是我自己学习后对线性代数这门课程进行反思的结果。在这个笔记中,我试图将线性代数的内容从一个基础概念出发,用一个统一的框架一般化,形成一个具有紧密逻辑关系的知识体系。这个最基础的概念就是【基】(basis)。在这个笔记系列之前,作为尝试,我曾在豆瓣【日记】写了一系列的《从零开始学习线性代数》的笔记,试图展示我对线性代数基本思想的理解。今后《从零开始》系列还会继续下去。这两个系列的重点不同,《从零开始》系列起点比较低,语言尽量通俗,不求数学的严谨,只求让尽可能多的人理解。而本系列将比较「严肃」,formal,更像是真正的学习笔记。

本篇笔记作为开卷第一回,不打算深入技术细节,而是展示学习线性代数的motivation 和 point,以及线性代数的核心思想,由此而引申对整个数学学习的反思。

回到标题,为什么我这里主张将线性代数作为数学学习的起点?首先声明,这只是我个人和一部分人的观点,远不是教育界的共识,但正在引起越来越多人的共鸣。本篇笔记对这个观点的展开,基本是在讲「大道理」而没有关注学习者学习时的选择策略。

为了使讨论更加清晰,首先要澄清我这里所说的「学习数学」中的「数学」指的是什么。这里的「数学」,不是泛指,而是特指20世纪以后产生、发展、成熟后的现代数学。它发源于古希腊以逻辑推理为基础的欧几里得的《原本》,其特征是公理化。这个传统在20世纪初经希尔伯特的公理化运动和1930年代布尔巴基学派的数学重构之后,已经定型为形式化、结构化,高度抽象化的基于逻辑推理演算的公理系统。

相对于这个体系,我们在中学所学习的数学以及衍生出的考试体系、包括中考、高考、考研和背后的巨大产业,大致相当于中国传统意义上被称为「算学」的学问。算学与数学的区别在于,前者关注特定实际问题的解决,后者关注理论体系的自洽与完备,解决具体问题仅仅是理论体系的应用。目前我们所接受的数学教育无一不是以做难题为目标,以刷题为手段,其核心思想与精神属于「算学」,而不是这个特定意义上的数学。

而线性代数,则是完全脱离了「算学」范畴的最初级的公理化数学,因此,要学习这个特定意义上的【数学】就需要从线性代数开始。与此相对,初级微积分仍然是在「算学」的范围之内,我们借助导数、微分、积分公式,代入实际问题解题,这个和中学的数学方法没有本质的不同。线性代数之所以让人觉得陌生,其理由之一就是抛弃「算学」,开始从结构的概念,公理化的架构展示「数学」。有了对「数学」概念的明确定义,下面就展开谈一下这个问题。

一、数形同体是线性代数的核心思想

学习「数学」应当从线性代数开始的第一个理由,在于隐藏于其后的基本思想,是对数学中两个最本质的对象——数与形性质的再认识和再塑造,而不像微积分,引入全新、陌生的概念。数与形,是我们再熟悉不过的两个概念。例如我们都学过如何求长方形的面积,这其实是我们生平第一次将形状(大小)的概念和算数联系在一起。我们学得了长方形的面积是一个乘法运算:长 × 宽,但尚未有反向的认知:长方形是乘积的几何形象,按照逻辑的术语——几何解释。但是,通过面积求解的问题,随着我们认识、计算更复杂几何对象的面积、体积,对数与形之间的关系有了越来越深的理解。到了中学,算数变成了代数,我们很少再对具体的数字感兴趣,更多的时候是在操作符号。以等号为界,把两边的字母按照基本的代数规则移来移去,得到我们想要的结果。这时,解析几何出现了,这门课程借助直角坐标系更系统地展示了几何图形与代数符号之间的逻辑关系——代数方程式是对几何图形的「代数解释」,这使得我们不必再画图,而是借助代数方程来表示图形、求解问题。同时,函数概念使我们进一步了解到如何将数「投射」到坐标系上得到直线或曲线。函数的代数表达式,可以通过直线和曲线得到「几何解释」。到了开始学习线性代数的时候,我们将要建立的是一种更加清晰明确、更加一般的数形联系:任何代数对象都可以找到相应的几何解释,任何几何对象都可以找到相应的精确或近似的代数描述。这应当是我们开始学习线性代数时建立的最基础认知——数形同体。

线性代数,是一门将代数→几何、几何→代数之间的关系进一步升华——将静态「图形」变成动态「动画」的学问。产生「动画」的基本机制是动态的代数几何关系——线性转换。一个线性转换,就像是视频或者GIF的一幅帧图。如果说,解析几何是从代数的角度研究几何,函数是通过几何图像解释代数,那么线性代数则完全将代数和几何融化为一个整体,一个数学对象的一体两面,就像人的两只臂膀一样,不可分割。再说一遍:数形同体。

二、线性代数对数概念的扩充

线性代数使我们重新思考什么是数,使我们重新思考什么是数学,使我们重新思考数学和算学的区别。思考方式不是拥抱全新的概念,而是对已知概念的扩展、延伸、升华、细化与抽象度的提高。这一点,和微积分很不相同,因为极限是全新的概念,对极限的理解需要很高的概念提升门槛和质的飞跃,连续、变化、极限、无穷小等都是我们知识储备全无的概念。

开始学习线性代数,首先需要重新理解数学最本质的问题。这个第一问就是:数是什么?数是从哪里来的?对第二个问题按照我们的实践经验可知,数概念的产生,有两个基本来源:

    计数(数人头、清点)
    测量(使用工具衡量物理对象某个特征的大小、多少)

而数,是通过计数和测量这两种活动后对所获得的量值符号的表达,这个符号系统的元素就是阿拉伯数字。获得了数,我们的第一概念就是:数有大小。有了大小的概念,两个数就可以进行比较,多个数就可以按照大小顺序排列。从计数活动,我们获得了自然数的概念;从测量活动,我们获得了小数和分数的概念。而更一般的有理数、实数和复数概念则是在加入计算、特别是通过解方程这一类数学活动得到的。

我们对于数的第二次理解是通过数轴完成的。数轴,让我们知道了数的几何解释就是直线上的点,同时,通过数轴和正负数,我们获得了方向的概念:数不仅有大小还有方向,可以把数投射到直线上的点。这个阶段,我们对数的认知是:数的大小是任意的,但数的方向只有向左的 $180°$ 和向右的 $0°$,表示数方向的手段是数的正负号;而数的几何解释是在一条水平直线上点的一字排开线性序列。

后来因为解方程,我们认识了虚数,虚数把数的方向扩展到了 $90°$(向上) 和 $270°$(向下),数的几何解释不再仅仅是水平直线上的点,而且可以是垂直直线上的点。把实数轴和虚数轴组合,形成平面,叫作复平面。而因复平面,我们对数的认知产生了飞跃。在我们的眼中,数开始有了立体感。数的几何解释,变成了在平面上、而不仅仅是在直线上的点。表示一个数,用单个的阿拉伯数字已经不够,需要两个数字和一个加法运算符号,$a + bi$,由此我们见识了更大的复数系。复数系的出现,对于我们的认知是革命性、颠覆性的。它的革命性、颠覆性意义有四点:

1. 数,不仅有大小、有方向,还必须有维度。有了维度,数的概念就不再是一个原子概念,而是复合概念,是由多个分量按照加法规则形成的复合对象。在平面上的数的一般表示形式是:𝑎 + 𝑏𝑖。
2. 加法,被赋予了新的意义:除了可以表示同一维度上两个量的叠加,还可以表示维度的数量。例如复数的一般形式 𝑎 + 𝑏𝑖,代表这个数是两个维度的。
3. 数轴,原本作为数的一维几何解释,现在成为更大维度的坐标系的一个部分。有了平面坐标系以后,数轴就不再仅仅是水平直线,而可以扩大定义为二维平面上的过原点的任意直线,亦即,数轴和平面直角坐标系共享一个原点。可以想像的是,在平面坐标系上,可以定义无数条数轴。有了任意数轴的概念,推而广之,平面直角坐标系在三维空间,就可以定义为和空间直角坐标系共享原点的任意平面坐标系,类似的,在空间坐标系中可以定义无数个平面坐标系和数轴。
4. 有了一维的数轴、二维的平面和三维的空间的概念,我们可以将它们一般化,抽象化,统一定义为【空间】。它们之间唯一的不同是维度。有了这个抽象的【空间】概念,我们就可以定义超过三维的任意维度的空间,甚至是无限维度的空间。由于一维的数轴被包含在二维的平面,二维的直角坐标系被包含在三维的空间,所以,我们把 $n-1$ 维的空间称作 $n$ 维空间的子空间(subspace)。

这是对数与形的革命性、颠覆性的认知。数,现在是作为一个复合概念,既是代数概念,也是几何概念,数的大小、方向和维度必须要在空间这个语境中才能确定、才有意义。线性代数的主题,就是研究在空间的环境下数作为一个【数形同体】的对象,它的各种性质和操作规则。

空间,作为线性代数中出现的新的数学对象,按照我们上述的理念,也必须是一个代数几何综合概念。对三维以内的空间,我们已经初步了解了它们的几何形象,依次是:一维的数轴、二维的平面、三维的立体空间。但是这远远不够。线性代数的任务有两个:

  •      第一、空间本身的代数描述和几何解释是什么?
  •      第二、空间是由哪些元素组成?几何元素和代数元素。

为了讨论方便,我们将一维空间、二维空间和三维空间分别讨论。在讨论之前,我们需要对一些简单的代数几何概念再确认。

  1. 点】:点、是几何学无定义的抽象概念。在一维空间的直线上,确定点的位置需要一个数字,例如3;在二维空间的平面上,确定点的位置需要两个数字,例如 (3,2);在三维空间,确定点的位置需要三个数字,例如 $(3,2,1)$;以此类推,在 $n$ 维空间,确定点需要 $n$ 个数字,例如 $(a_1,...,a_n)$。
  2. 【直线】:直线在几何学中的描述是:点在空间内沿相同或相反方向运动的轨迹,没有终点。这里的重点是:直线可以无限长;在平面上确定直线的位置是直线方程 $ax + by = c$;
  3. 【平面】:平面而直线类似,是直线在空间内沿相同或相反方向运动的轨迹,没有边缘。在空间确定平面的位置是方程 $ax + by + cz = d$;
  4. 【空间】:这里特指三维空间,是平面在空间内沿相同或相反方向运动的轨迹,没有边缘。
  5. 【线段】:相对于直线,线段有起点和终点的点的运动轨迹;起点和终点之间的距离可以测量,叫作长度。
  6. 【平行四边形】:相对于平面,平行四边形是有四条边和固定面积的平面;
  7. 【平行六面体】:相对于空间,平行六面体是由固定体积的立方体;
  8. 【原点】:在一维、二维和三维空间中确定其它点位置的中心参照点;

一维空间

  • 一维空间的几何解释是一条由无数个指定为单位长线段组成的直线,又称作数轴;
  • 一维空间的代数表示是以 1 作为基数的数的集合,和在这个集合之上的加法乘法运算;
  • 一维空间的几何元素直线上无数的点;
  • 一维空间的代数元素是以 1 为基数的数。

一维空间是我们最了解最熟悉的数学对象。一个数,例如 $3$,它的代数表示就是这个数本身;它的几何解释就是在数轴上离原点向右三个单位的点。这里一维的意思是,从代数角度看,只需要一个数字就可以表示这个数;从几何角度看,表示这个数的点都在一条水平直线上。所有数都可以在这条数轴上找到相应的点,数轴上所有的点都对应一个且仅仅一个数,它们的对应是一对一的关系。同时,这条数轴本身代表了对应所有数的点。因此,所有数的全体,代数概念就是数的集合,几何概念就是这条数轴本身。

二维空间

  • 二维空间的几何解释是一条由无数个指定为单位正方形段组成的平面,又称作平面直角坐标系;
  • 二维空间的代数表示是以 $((1,0),(0,1))$ 作为基数的向量的集合,和向量加法、标量乘法运算;又称作向量空间;
  • 二维空间的几何元素平面上无数的点,称作坐标值
  • 二维空间的代数元素是以 $((1,0),(0,1))$ 为基数的向量。

二维空间对我们来说既不是完全陌生也不是非常熟悉。我们曾在中学学过平面直角坐标系,学过函数,学过解析几何,对平面图形有一定认识。但是,代数和几何是完全不同的数学对象这一观念在我们头脑中还是根深蒂固的。线性代数则是要拆除这个藩篱,让代数几何融为一体。

我们先来看二维空间的几何解释。如果说一维空间是由无数个单位长线段组成,那么二维空间就是由无数个单位面积的正方形组成。就像我们家里浴室墙上贴的瓷砖,一堵墙是由多片瓷砖组成。由无数个单位正方形组成的平面又称作平面直角坐标系。有了这些单位正方形,我们就可以在这个平面上确定任意点的位置。

二维空间的代数表示超出了我们中学的范围,亦即,我们如何用代数表达式表达这个单位面积的正方形。在数轴上表示单位线段很容易,用一个点,相应的用一个数字 1 即可,这个 1 表示从原点出发我们计数的基本单位。但是,在平面上,就需要两个点,一个是正方形水平边到原点的距离 (1,0),另一个是正方形垂直边到原点的距离 $(0,1)$,把这两个点合在一起,才能完整表示这个正方形:((1,0),(0,1))。这种表示法,在线性代数中,称作矩阵:$\begin{bmatrix}1&0\\0&1\end{bmatrix}$

所以,这个矩阵所对应的几何形象就是那个单位正方形两个直角边终点的坐标值。这个值,叫作【基数】。通俗地说,在数轴上数自然数,我们是一条线段一条线段地数;而在平面直角坐标系上,我们是一个方格一个方格地数。所以,在二维空间计数,就是用一个方格乘以方格的个数。举个例子:在坐标系上,以原点为参照点,向右获得三个正方形,向上获得两个正方形,一共获得 $3 × 2 = 6$ 个正方形。这个在直观上非常容易理解。但是在线性代数表示上,就不那么直观了。计算原理很简单,一个方格,乘上向右的三个方格,向上的两个方格。我们用上面的矩阵表示单位方格,用一个竖着写的向量表示向右得3、向上得 2 个方格:

$\begin{bmatrix}1&0\\0&1\end{bmatrix} \cdot \begin{bmatrix}3\\2\end{bmatrix} = \begin{bmatrix}3\\2\end{bmatrix} $

意思是,一个方格 $× (3, 2) = (3,2)$ 个方格。那如何得到 $6$ 个 方格呢?线性代数用的工具叫作「行列式」,写作:

$Det(\begin{bmatrix}1&0\\0&1\end{bmatrix} \cdot \begin{bmatrix}3\\2\end{bmatrix}) = Det(\begin{bmatrix}3&0\\0&2\end{bmatrix}) = 3\times2 = 6 $

把上面的例子总结一下就是:在数轴上数数,我们是用单位长线段乘以个数得到数;在平面上数数,我们是用单位正方形乘以水平方向的个数和垂直方向的个数得到数。

就像我们上面概括抽象空间的概念一样,我们现在需要抽象化每个空间中的单位元素的概念,这个概念叫作【基】(basis)。「基」,概括了一维数轴中的单位线段,二维平面上的单位正方形,三维空间中的立方体。
而【基】的代数描述就是矩阵。所以,在任何维度的空间中数数,基本的模式就是:基 × 每个维度的数,写成公式,就是:矩阵 × 向量 = 向量。

对数学对象的集合而不是集合中个别对象进行研究,是现代数学的最大特征,也是与算学最显著的差异。通过线性代数的学习,我们可以进一步深刻认识代数的下列本质:

代数的研究对象是【符号的集合】以及在这个符号集合上进行【操作的各种规则】

反过来,这种将研究对象从个别数学对象扩展到对象集合的研究方法又对研究个别问题提供了洞见和创新的灵感。例如伽罗瓦的群论,为解高次方程指明了方向:为什么五次和五次以上的方程没有一般的代数解?有代数解的高次方程和没有代数解的方程的区别在哪里?再例如,线性代数的最大应用之一就是解多元线性方程组。现代意义上的公理化数学和传统的以解决个别问题的「算学」的最大区别就在于系统性,是对以集合与集合上运算规则为核心概念的研究。

三、数学的代数化

线性代数的学习,使我们可以见识什么是数学的代数化。根据上面对代数本质的刻画,这里给出了代数的定义:

代数是研究符号集合与该集合之上操作规则的数学分支。

这个定义的关键词是「集合」和「操作规则」,确定研究对象的集合,例如、数的集合、函数的集合、向量的集合、矩阵的集合、多项式的集合等,然后确定在这些集合之上可以进行哪些操作,进而确定这些操作的基本规则——公理。从这些公理出发进行推理论证,产生数学证明,获得数学定理。以这些公理、定理为工具可以解决多种科学问题。把这一套系统理论化,我们可以得到一个抽象的数学概念:【结构】,这个过程就是数学的代数化。如果这个代数化的数学结构可以使用一阶逻辑语言表达,就称作数学的形式化,或者,该数学分支的公理系统。数学结构概念的建立和一阶逻辑语言的完美对接,形成了数学结构的语言接口,这使得数学更加精密完整。但是,在数学家们对这样的精致的理论感到赞叹的同时,另一方面,对学习数学的初学者来说,这样数学变成了晦涩难懂的天书,学习的噩梦,因为这样的数学,使得一些完全可以用日常语言理解的概念成为了数学代数化、公理化、形式化的牺牲品,使得大多数人视数学为畏途,谈数学而色变,数学成了少数学霸精英的乐园。

四、线性代数可以让我们深刻理解数学的本质

学习线性代数,并不仅仅是学习其中的基本术语、概念,而是从中学习上面所指出的更本质的东西——代数几何一体化的数学对象集合。但是现实是,所有的数学教科书、包括线性代数教科书在内,过多地强调了上面第三点的数学的形式化特性,以常人难以理解的一阶语言语法,加上大量的、在日常生活中从未出现过的术语和高度抽象的概念,使得这门学问成为曲高和寡的阳春白雪。我们需要这样的向导,不是从肤浅又高深的术语开始,而是从数学的本质出发,将那些抽象高深的概念抽丝剥茧,对接我们熟悉的现实世界。教员曾经说过,感觉到了的东西,我们不能立刻理解它,只有理解了的东西才更深刻地感觉它。我们现在的数学教育,只是让我们通过刷题「感觉」数学,而从未将「理解」作为数学教育的本质。

五、线性代数更全面地展示了数学的全貌

现代意义上的数学,是一个综合体,它集成了本栏目公告栏中总结的六个方面。线性代数是这六个方面最典型的学科,也是学习其它学科的基础。这个基础就是上面所说的代数化——数学结构的学习。而与此相对应的微积分或者数学分析,是关于实数、连续和变化这三个概念的学问。但是这三个方面,只是数学本质的部分总结,我们现在尚无法完全对分析进行完全的公理化和代数化。同时,对于无穷、无限这些概念,是否已经从底层概念得到解决仍没有定论。

六、线性代数可以直接实现计算机处理

数学的物理化——计算机化的过程揭示了分析学中大部分概念是形而上的、只存在于意识中的东西,无法落地具现化。要将这样的数学对象在计算机上实现,就必须经过离散化的改造,变成像线性代数那样的有着实证的、物理的基础的对象。例如,我们可以直接利用编程语言的数据类型编码向量、矩阵、多项式之类的数学对象,却无法描述理论意义上的极限概念。求曲边形面积,我们只能使用积分的数值解法(定积分的离散化),把无穷小的子面积ƒ(x)dx 离散化为一个确定的量然后使用有穷数量的加法完成整体面积的计算。而线性代数之所以能完美地在计算机上实现而不须经过所谓「数值化」亦即离散化过程,这固然和线性代数的本质——线性关系有关,但是不能否认的是,线性代数是完全代数化的数学分支,而代数化是数学走向完全算法化、自动化的基础。线性代数是学习数学结构——代数结构最理想的实例。有了对线性代数的深刻理解,就可以从更高的代数结构视角观察、审视其它数学分支,例如数论,例如分析等。

七、线性代数是对各种数学对象的抽象,也是学习其它更高数学学科的基础

更重要的是,线性代数提供了一个平台,使我们可以全面理解多种数学对象集合的共性:数集、向量集、矩阵集、函数集和多项式集,这个理解的基础就是代数结构。有了代数结构,就可以派生许多其它数学分支:代数数论、代数几何、代数拓扑、代数概率论等,而微积分的代数化——代数微积分,目前也有人在尝试。总之,数学的形式化就是代数化,用代数结构作为统一的接口,这样就可以使用一阶逻辑语言进行统一的描述,为未来的数学完全算法化、自动化铺平道路。

我在本栏目的公告栏中列出了数学学习的六个方面,这六个方面,也是我们学习线性代数的学习指针和方向。这里再次列举如下:

  1. 系统地学习什么是抽象,抽象的过程、抽象过程后的结果、如何抽象,训练自己的思维从具体到抽象,从低度抽象到高度抽象的能力,充分认识、熟悉、理解各种不同抽象度的数学对象。数学的学习,其实学习各种不同抽象度的对象,不但认识当前所学对象的抽象度,还可以降维,获得抽象度较低一层数学对象的实例。理解抽象的现实工具是【集合】的概念以及相应的集合运算。
  2. 学习数学的专用语言,一阶逻辑语言。数学之所以晦涩难懂同时被标榜严密精确,和数学所使用的语言不无关系。虽然中外教科书都使用自然语言,但我们会发现教科书中的数学语言和我们现实生活中的语言有很大的差异,而且这种差异不是零散的、偶然的、个别的现象,而是系统的、全面的差异。本质上,数学教科书中的语言是一阶逻辑语言的直译。同时,数学文本中使用了大量的符号,包括拉丁、希腊字母,特殊的非线性符号,如和、积符号、积分符号,极限表达式、矩阵等。这里需要注意的是:数学教科书中的定义只关心概念在当前抽象度上的意义,而不关心在下位抽象度的解释和说明,如果学习者没有达到和作者同等的抽象度的认知高度,那么书中的定义、说明、解释将是是毫无意义的,这就是数学难懂的最基础原因。我经常被一些同学要求提供学习数学教科书,但不幸的是,绝大多数教科书都是数学专业人士的作品,他们只是在他们自己的抽象度中解释需要解释的概念,术语,而不会降维解释。这就像你不会讲外语,我再怎么用外语解释外语,你仍然听不懂。所以,读懂数学文本的关键,首先是学习数学的语言,包括作为词汇的各种符号,一阶语言特有的语法,格式,以及对所有表达式的语义的理解。
  3. 数学的学习包括了计算和证明两大活动。我们的教育这两种活动的教学是单向的,从解决问题本身出发,学习如何解类似问题。华罗庚先生在《数学归纳法》曾经提到,应当从正反两个方向解决问题,除了学会从教科书的示例从问题提出开始出发,获得已知条件,需要解决问题的工具,设置辅助条件,按照一定的规则、定义、定理和逻辑推理解决问题,还要学会从问题的答案反推这个问题是如何产生的。同学们在解一道难题,是否想过出这道题的老师是如何设计这道题的,要设计这样的题,需要哪些知识、包括数学知识、逻辑知识、知识合成、综合分析判断的知识等。因此解数学问题,其实是数学知识和逻辑知识的综合能力的体现。另一方面,我们在刷题过程中掌握了大量的「题型」,却不会从中得到算法的概念,然后从算法的角度理解做题的本质。第三方面是对证明题的掌握。证明题,说到底就是以数学内容作为推理论证的过程,除了理解各个数学对象之间的关系外,最主要的是掌握逻辑论证的方法,因为做证明题的过程就是逻辑推理的过程。
  4. 数学抽象概念的实例化理解。这个和上面的第1、2紧密相关。我们通过学习抽象化过程,不仅可以将具体的对象集合抽象,可以将低抽象度的对象、概念抽行为高抽象度的对象、概念,还可以反向,将高抽象度的概念、对象、术语还原为低抽象度的概念、对象,把低抽象度的概念、对象还原为具体的对象实例。这种从具体到抽象,从低抽象度到高抽象度、再从抽象到具体,从高抽象度到低抽象度的双向转换,是我们学习数学是最最重要、最基本的训练活动。但可惜的是,现在很少有人注意到、意识到这个问题,期望有人在这个方面给予我们指导更是不可能。
  5. 数学的抽象和哲学的抽象有很多相似点,二者都是从形而上的角度解释世界。但二者不同的是,数学对世界的解释是微观的,详细的、严密的、精确的,逻辑的,而哲学对世界的解释是宏观的,叙述的,散列的,模糊的、定性的。如果认识到数学与哲学的这层关系,对于我们认识世界改变世界具有重大的意义。马克思曾经说过,批判的武器不能代替武器的批判;毛主席也说过,人类认识世界的目的是改造世界。我们通过对数学和哲学对比的认识,可以利用数学作为解决问题的工具,同时,在有了哲学高度之后,对这个工具会产生新的认识,甚至可以依靠这种见识作为创新的源泉。
  6. 数学中存在大量的术语,在有了上述的见识之后,术语的学习就变成了对新符号的解释问题。而解释,按照逻辑学术语,则是对符号与模型之间的绑定过程——将数学术语与现实经验的联系问题。

而实现上面的理念,线性代数是一个非常理想的平台。首先,我们可以通过线性代数,理解任何数学对象都有代数几何两个侧面,从而得到相关数学对象的抽象,这个过程是我们训练自己学会从具体到抽象,从低抽象度到高抽象度的转换,训练自己学会相应的反向转换;第二、学习公理化的形式语言——一阶逻辑语言,训练自己可以在自然语言和人工语言之间的相互翻译;第三、对线性代数中的所有抽象概念、术语,可以根据抽象度降维的方式得到深刻的独特的理解。第四、通过做证明题,掌握逻辑论证的方法,做计算题,掌握算法的概念,以算法统领整个数学学习;第五、得到对所学习对象的高抽象度理解——哲学式的的理解。例如,向量空间,是一个抽象了多种多维对象的集合体,它的实例表达可以是向量集合、矩阵集合、多项式集合、函数集合所有实例的总和。这个问题的哲学命题就是——事物存在的方式、它们之间的联系以及运动(转换)的规则与规律。

今后的【线性代数】系列,将从微观的角度探讨下列主题:

  • 如何通过训练,建立和提高自己抽象思维的能力
  • 一阶逻辑语言与自然语言的互译
  • 作为所有数学基础的集合结构,这是学习线性代数和其它所有数学知识的前提和必须
  • 数的起源:计数与测量;理论化:德国数学家外尔的「坐标化」概念
  • ,是所有离散化数学对象的基本元素,是学习线性代数的起点
  • 加法运算和乘法运算:是定义任何线性空间的基本工具;标量/纯量的概念
  • 代数结构:集合 + 操作规则,线性代数是如何实现这个框架的
  • 向量空间:复合代数结构,双代数结构的实例
  • 概念在向量空间定义的基础:张成、线性独立性
  • 一阶语言在线性代数的应用:公理化表示
  • 解方程组:数学的算法化和计算复杂性
  • 对数学对象的度量:行列式与内积空间
  • 矩阵与算子的概念
  • 征值与特征向量
  • 向量的变体:多项式——如何从高抽象度理解向量与多项式的统一
  • 线性转换:向量空间内的动画科学与艺术
  • 其它话题,将随时更新。

本系列作为将数学核心内容与逻辑融为一体的初步尝试,我将称之为「逻辑数学」—— 形式系统与代数结构形成的代数公理系统的实例——向量空间。这个尝试的目的则是通过一门最典型数学分支——线性代数展示数学逻辑中的形式系统,代数结构,形式语言的句法和语义,然后降维到一个合理的抽象度,以获得真正的理解而不仅仅是做题技巧上的熟练。

本系列的真正目的,是探索一条新的、更符合线性代数知识逻辑规律的、使初学者更容易接近的线性代数教学体系。

未来笔记系列中的思想灵感除了我的书单开列线性代数教科书、专著以外,还来自于下列三部文献:

- 沙法列维奇《代数的基本概念》
- 柯斯特利金《代数学引论(第一卷)》
- 赫尔曼·外尔的讲义稿《The Classical Groups》关于 coordinatization 的概念

posted @ 2021-12-20 11:20  赛义甫  阅读(1927)  评论(0)    收藏  举报