Category Archives: 班主任

分享一些书(2)

按道理,高考一结束,数学——以及所有学科知识——就立刻回到其本来面貌;人一上了大学,就应该能自由地学习。至少,我读书的年代,高中生都向往上了大学之后,能摆脱高中和高考的束缚,真正自由地徜徉在知识的殿堂。所谓自由学习,意思就是爱学什么就学什么、爱学多少就学多少。这既是学术自由的意义,也是大学的意义。很可惜我们今天的大学生并不完全享有这些自由。但相比于中学,大学生仍然有很大的自由学习空间。

大学图书馆的开架书库,索书号从A~Z,就放满了全人类所有知识;因为所有门类的知识都不超过这26个字母。图书馆就是所谓“知识的殿堂”之具象化。你从A的书架逛到Z的书架,随手可以拿起一本书,翻开其目录,看看这一标题的知识,到底是讲什么的,包括哪些内容。不管它跟你的专业相不相关,“对就业有没有帮助”,在此当下站在书架前的你手捧着一本书,愿意多看几页就多看几页。这就是一种巨大的自由。我在大学时代经常不带目的地逛图书馆。有很多影响我至今的书,都是我在图书馆逛出来的。

自然哲学是人类最原始的兴趣。但是在很多人那里,数学和物理的印象在中学期间已经搞坏了。我碰到太多的人,明明已经离开中学的环境很多年了,但是一提到数学,都无法按其本身意义来理解。最常听到的回应是:”啊,不要烦我,我数学最差了。“似乎但凡提到数学,那一定就是要出题考试,要对他的数学水平作一番评判。

中学怕数学,是因为中学要做题考试。但数学本身不强迫任何人必须懂哪些,必须懂多少。因为数学本不是一个全知全能者强加在人类头上叫人类学的东西,而恰恰是人自己产生的疑问积累而成的。而且这些疑问在人类之间是有普遍性的;只要你也像人一样思考,那就毫不例外地要面临相同的疑问。

想要寻回自己作为人原本就应该的、对自然哲学的一丝兴趣,可能需要把自己抽离当下这个高度发达的现代社会,回到古希腊,重温一次人类的数学史和自然科学史,重获一颗数学的心灵和自然哲学的心灵。

Wikipedia的英文词条History of mathematics是一篇非常不俗的文章。由于数学史的书往往都不薄,我推荐先看Wikipedia的上述词条,这样能够用比较短的时间,先对数学史有一个总的概览。这篇文章本身也是很好的数学史文章。它很注意把一个时代的数学和它的时代精神联系起来。它不仅专注于每个时代出现了哪些值得写在教科书上的数学成果和相应的数学家,还更关注于那个时代的人在生产生活中使用什么数学,传播什么应用数学知识。看Wikipedia词条的另一个好处是,随时能够通过超链接跳到相关领域的知识那里,往往能以很快的速度展示出你前所未知之大的世界。

我在中学的时候看过一本《数学史》,但是已经失落了,无法介绍给大家。最近我在看另一本:

E. T. Bell (1937), Men of Mathematics, Simon & Schuster, Inc.

这本书语言风格很特殊,未必适合所有人。作者选择了几个不同时代的数学家来研究,把大量的笔墨放在了数学家的人生经历和所处的时代背景。

[W]e are primarily interested here in mathematicians as human beings.

p.3

电影《莫扎特传》(Amadeus)完整地呈现了一幅17世纪欧洲的风情画,也真实地呈现了一场人性的大戏。如果你听古典音乐觉得“无感”,那也许需要的不是理论解说,而是类似这个电影那般提醒你这种音乐中的“人”的因素。Men of Mathematics这本书也有类似的品质。我觉得这对于被中学摧毁了数学的印象的化类专业学生而言是尤其“对症”的。

按照着“只推荐我看过的书”的原则,我在这里就不推荐其他数学史的书了。大家可以自己在豆瓣或者amazon.com根据书评来找适合自己的书。

自然科学史方面,首先同样地Wikipedia的英文词条仍然是最好、最丰富的资料。也许它占据了我50%的科学史阅读。

但在我知道Wikipedia之前,我主要看了这本书:

J. Gribbin (2002), The Scientists, Random House

这本书仍然是以一个个人为对象来写的。我们看科学史的目的,最初始的一条就是想了解,在教科书里被系统地、(貌似)自洽地铺陈出来的知识,当时是以什么样的思考顺序提出、猜测和证实(伪)的。特别是,今天一些我们认为不止一种可能的说法和做法,是什么样的历史所固定的。这些都一定会追溯到历史上相关的个人经历和他的思考特点,只能通过以个人为对象的叙述得以阐明。科学史就是要重视个人、重视主观因素,因为我们要从中获得的智慧的不是“历史的规律”,而是导致具体科学的原始思想。

除了看数学史,还可以看一些经典的科普书。我的感受是化类专业学生在学习一些物理之前,似乎需要先看一大堆本该高中的时候看的科普读物。这一代的学生,中学时代完全没有“课外知识”这个世界来促使他们重新看待课内知识。讲到时空的时候,他们脑中没有酷炫的画面。数学方面我看过阿西莫夫写的《数的趣谈》。这本书的写法,比一本按年份写的科学史更易读。类似科普书我看过的还有《趣味物理学》和《趣味物理学续编》、《从一到无穷大》等等。这些书本来就是经典,无需我多作介绍了。以下是这些书的豆瓣链接。

上面列的是前苏联和美国作者写的经典。还有一本日本人写的科普:

似乎它在豆瓣上还没有建立条目。还有一本中国人写的科普书,语言文字十分感人:

这些书内容的程度对大学生来说是十分浅的,它比较适合初中生看。我之所以推荐这些书,是感觉现在的很多学生似乎完全没拥有过这样的初中生活。我本以为,每一位最终落进了大学理工科专业的年轻人,一定都是在中学受到过课外科普的熏陶的。任何一个理工科专业的学生,或多或少都会知道一些科普物理中的一些典故。比如有哪几种永动机的版本,有哪些奇怪的思想实验等等。同样应该共享的,还包括这些我们共同遵循的提问和讨论的方式。在这些科普著作中,科学家提出和思考问问题的基本逻辑,就化为了讲故事时情节展开的启承转合。这些也这些本应该是所有理工科专业的学生天然具有共同语言,就好像暗号一样。更不用说在这些具体知晓背后的一股共同兴趣,在任一佯谬前毫不例外会产生的兴奋感。

事实却完全不是如此。在自由学习的前提下,如果听众完全没有这些基础,那么我根本找不到上课的方向。如果你没有这种兴奋感,为什么还要来听任何一门课呢?理由只剩“要毕业”、“要生存”等。说服学生去理解任何数学抽象的理由就一律都是苍白的。总地来说我认为现在的大学生普遍经历的是一个只有课内,没有课外的残缺的青少年。介绍一些程度只有初中水平的科普书,简直只能说是我对这种残缺的一种行为艺术似的控诉,而非真认为有什么实际的弥补作用。

关于线性代数教材

我调查了部分以矩阵和行列式运算为主要内容的线性代数教材,在这里总结一下。做这件事的初始动机来缘是知乎上很多学生对这类线性代数教材的怨言。但本文还是主题比较凌散的,未必是对这些怨言的回应。

文中提到的每一本书我都自己看过原文。

一、矩阵具有独立的意义。了解“矩阵”,未必就是为了线性代数。

集合论、拓扑空间和抽象代数的体系形成的很晚,但矩阵却是很早就在不同的古文明中为人认识。我很早就有这印象,因为学习MATLAB的时候,MATLAB的帮助经常使用幻方(magic square)来作为例子。包括当年的我在内的任何一个学习者,只要去维基百科进一步查询什么是幻方,都不会不对这个词条(英语)中的大量古代历史形成很深的印象。

幻方矩阵很有代表性。因为它的主要玩法,在于对矩阵的单元、行、列的各种操作,而非线性运算。 我认为这是矩阵这一事物不可替代的一种特点。因为线性运算未必一定要在矩阵之间,但只有矩阵才有单元、行、列的概念。也可以说,我所认为的矩阵的特殊意义,更偏向于组合数学的兴趣。

另一个突出此意义的例子是拉丁方阵,也就是现在的数独游戏。它的历史比幻方稍微迟一些,但线性仍然是不是它的主要兴趣。

因此我们至少应该先独立于今天其在线性代数教材中的用法去认识“什么是矩阵”,然后我们再去看,它在何时因何故应用于线性代数教材中的这些话题的,以及它还曾应用于哪些其他地方。

同理,对于“行列式”,也应有类似的叙述方式,在这里我就不就“行列式”重复上述的观点了。想要正式了解这件事,可以参见维基百科“矩阵”的词条(英语)和“行列式”的词条(英语)中的History一节。这些地方恰好就按照我上述的角度给出了非常详尽的资料,所以我也不在这里搬运了,本文从此就假设读者已经读过它们。只举一例:行列式的英语determinant跟中文意义不同,如果直译的话应译作”决定子“。作为“决定子”的行列式,到底“决定”(determines)什么?——它决定一个导出它的线性方程组是否有非平凡解。根据资料中介绍的历史,尽管行列式起初就是为了线性方程组而形成的概念(不同于矩阵的情况),但它也仍然被用于与线性无关的方向比如数论当中,即它也并非只与线性代数问题独家绑定。

诚然,无论矩阵具有多少“独立的意义”,在它至今的发展历史中,与线性方程组的解的紧密关系(以及由此而与整个线性代数的关系)很难说不是主题。通过历史上对线性方程组的关注来解释“矩阵运算的意义是什么/为什么要学习矩阵运算”等疑问的文章和资料也很多。我想,每一个在学习本科的线性代数时感到困惑的学生,也自然看过不少这类资料;学生的怨言和学习困难却并没有因为这种常规解释而减少。因此我也没有兴趣再把这种陈辞滥调(尽管正确)再复述一次了。我在文章的最后会对学生产生怨言的深层原因作一些猜测。但是,认识到矩阵具有“独立意义”的一面,不时忘掉矩阵的线性代数角色,也许在缓和情绪上能有所帮助。这是写就本节的的初衷。

二、本科“线性代数”关于矩阵和行列式的传统,与“代数”(algebra)一词意思的历史也有关

当我们说“代数”的时候具体是要说什么?维基百科的词条History of algebra很详细地介绍了“algebra”一词所代表的意思的发展历史。词条的第一段就作了很好的概括。长期以来(至19世纪)algebra一词专指解代数方程(包括高次的)的相关理论。而在今天“代数”回到了其“抽象运算”的一般意义。

牛顿有一个著作叫Arithmatica Universalis,是后人从他的课堂整理的讲义。原文是拉丁语的,我能找到的是后人翻译成英语的版本。其序言说,这个著作的主题是algebra。这个著作的内容包括了解方程的知识,也包括了“数与形的关系”这一永恒话题在牛顿那里的新结论。书的标题所强调的“普适”(universal),意思就是指用符号代替数来研究运算,也就是algebra的原始意义。具体数字的运算(例如小学一年级的数学)则被该书称作“粗俗算术”(vulgar arithmetic)。在这里提到牛顿,可近似代表17世纪。

麦克劳林(Colin MacLaurin)的著作A treatise of algebra(1748)的序言中则说,该书其中一个目的是对上述牛顿的著作的一个补充,因为后者中记录的结论有很多没有经过证明。麦克劳林的书分三部分。其中第三部分仍然是“代数与几何的关系”。该书的内容,大概是今天我国高中数学的程度。在麦克劳林(也许还以及与他同时代、18世纪的同行)那里,“代数”主要关心多项式及其根的问题。

至此可以说,如果“代数”指的是解方程,那么“线性代数”就是指解线性方程。这也许是为什么今天仍然存在着很多似乎仅由解线性方程引出的、又冠以“线性代数”这一标题的叙事。

19世纪,数学的发展方向已经具有20世纪这种一般化和公理化的明显特征,只不过它们并非在一开始就以20世纪的统一体系被提出而已。可以说,19世纪的数学是一种既高于“高中数学的”,但是又凌散的集合。我们可以想象,在20世纪的前半叶,一所大学如果要给本科生教一些高于中学的数学,那么这些内容主要是来自19世纪的,而且是以19世纪的体系被描述的。“在20世纪的统一理解方式下重塑本科数学”这件事,甚至在今天西方的大学中都尚未完全占据主流(成功的尝试当然很多了),所以在20世纪应该更罕见了。这也许仍是为何“线性代数”作为本科课程,在20世纪仍然关于矩阵和行列式(即以解线性方程为引入所具有的特征),而少见开篇就介绍抽象代数意义的向量空间的书(见后文给出的调查)的其中一个缘故。

三、“矩阵代数”是否就是“线性代数”

许多教材甚至不使用“线性代数”(linear algebra)作为标题,而直接自称为“矩阵代数”(matrix algebra)或“矩阵分析”(matrix analysis)。这也是我调查的书的范围限定。基于我很有限的调查的结果首先可以明确的至少是,在二十世纪的大学本科,人们本来就是打算只教给学生矩阵的那些“运算”,而不关心抽象代数意义的“向量空间”。我们关心的是,这些教材的作者是否觉得“矩阵代数”和“矩阵分析”就是“线性代数”的同义词;同时,为何这些专门关于矩阵的、独立于向量空间的抽象代数思想的运算法则知识那么重要。

[1] Maxime Bôcher (1915), Introduction to higher algebra, The MacMillan Company

这本书的内容编排,鲜明地体现了“线性方程组理论”的特色。因此,该书标题用algebra一词,代表了上一节所述“代数就是解方程”的“前20世纪理解”。

[2] Roger Horn, Charles Johnson (1985), Matrix analysis, Cambridge University Press

这本书前言说:

One view of “matrix analysis” is that it consists of those topics in linear algebra that have arisen out of the needs of mathematical analysis, such as multivariable calculus, complex variables, differential equations, optimization, and approximation theory. Another view is that matrix analysis is an approach to real and complex linear algebraic problems that does not hesitate to use notions from analysis — such as limits, continuity, and power series — when these seem more efficient or natural than a purely algebraic approach. Both views of matrix analysis are reflected in the choice and treatment of topics in this book. We prefer the term matrix analysis to linear algebra as an accurate reflection of the broad scope and methodology of the field.

从这一段话,我们不仅了解到作者观察到,“矩阵”在数学中的角色的两类观点。同时作者还明确自己在“矩阵分析”和“线性代数”这两个词中的偏好。

这两本书几乎横跨了整个20世纪,因此它们在一定程度上可以代表该世纪的教科书作者普遍如何理解“线性代数”跟“矩阵”之间的关系。

四、二十世纪的背景

二十世纪应该说见证了大量学科被补上“工程”二字的过程。把一门学问“工程化”,在二十世纪是很热门的概念。它代表着一种“如何让任何一学问、理论变生出可以卖的产品”的一种思路。它大致认为,要让一种学问产生出产品,必须辅以工业化的其他流程。而这些流程所需的一般性知识,需要各个具体学科的学生都去学习,才能使这些学科从理科变成工科、使这些学生从科学家变成工程师。

二十世纪也是一个非常特殊的世纪,打了两次世界大战,并且还持续了很多年的意识形态冷战。二十世纪的许多科技成就,都直接脱胎于这些热战和冷战。最典型、影响最深远的就是航天、导弹、核武器的大型国家工程。这些工程调动了一个国家几乎所有最优秀的科学家,也深刻地影响了这个国家的高等教育体系。关于这件事,我也有一些调查的基础,但是本文没有空间去讨论。我在此确认的就是,这些国家的一些工科教学的传统,往往都打有冷战时期国家大工程的人才需求的烙印。而与本文话题相关的是,在这样的政治背景的压力下,各国恰好站在了技术发展的什么位置?面对压力而新形成的工程思想和方法论,恰好无非是哪些东西?

理解这个问题的一个代表就是钱学森。他既代表美国,也代表中国。我们只要了解,钱学森参与主导的各个大工程,到底需要什么工程知识和工程能力,就能理解在那个年代,什么知识和能力被视为特别重要。我看大致包括:微积分和微分方程的非常成熟的解题应用、数理统计分析预测、过程反馈与控制、动力学系统的稳定性、数学建模与最优化计算、数值计算,处理大量简单数据处理能力等等。这些话题都有很浓的“两弹一星”式的大型工程的味道,应该说也代表了二十世纪下半叶这一整个时代的科技主题。一个题外话,这也是人们对二十世纪回顾后普遍感受到的特色,也就是为什么生物兴起得迟些,就被形容为“二十一世纪的学科”了。在那个告别苦难连篇的二十世纪,马上印来“新千年”的九十年代,动辄上升到“世纪”的视角,对21世纪充满了和平与发展的乐观憧憬,也是一个时代色彩。这是00后可能难以完全体会的,所以在他们眼中“二十一世纪的学科”就是很单纯的宣传和谎言。

二十世纪科技的另一个重要的标志性事件就是大型计算机的出现(1960年代)及其立刻投入具体工程应用的那种迅速。在有计算机之前,就已经有数值方法了,只不过是需要大量的人去完成这种计算(特别是要求高精度的宇航问题),这是为何大型计算机甫一出现立刻能被应用的原因。关于这个问题可以去看电影《隐藏人物》。而我国中科院在1958年研制出“103机”、1959年研制出“104机”也是面向“两弹一星”的需求的,但是很经贵。例如有传说,104机排队算的都是更重要的单位的东西,以至邓稼先要算的东西不优先,只能还是用手摇计算机。于是像邓稼先这样的“中心大脑”在当时其中一个数学负担就是先要把原问题化成可用手摇计算机算出来的形式,才能分发给下面的计算员,利用上“人多力量大”的便利。

与此同时,就算是美国,在有大型计算机代替人力计算之前,由于需要的计算员(亦称作computer)人数很大,因此对这些人员的数学水平作高于高中毕业的要求是不现实的,在我国在那个普遍文盲的年代就更不现实了。所以,面现上述这种背景的人才需求的很多教材都会很强调读者只需要“高中数学的知识”。

二十世纪的工程应用的物理基础,仍然还是局限于低速经典力学。量子力学远未显示出它成为“工科必修”的一面。同时,二十世纪工科主要还是继续食用第二次工业革命的果食,因此基本采用19世纪的数学语言已然足够,而无需用二十世纪所发展的语言重述。因此“线性代数”在这些应用领域自然就主要是面向数字的,而非代数结构的。相比而言今天理论物理关于世界的本质的远非“毕达哥拉斯”式的数字理解的、而是更抽象的深刻解读,包括量子计算和量子通信的实用化等,已经进入了很多文艺作品和科普文字当中了,才至于让“基于数的理解已经落后”、“经典低速知识已经落后”这些观念变得流行起来。围绕矩阵写成的“线性代数”,对二十世纪的工科教学来说不仅足够,还很对口。

数学本来就具有容易广泛应用于大量不同学科的特点。给定一套数学知识,你往往很难预计它会以什么方式应用于什么领域。上述提出的二十世纪的一大特点,仍然只能部分解释为何“线性代数”会以“矩阵运算”为普遍内容作为二十世纪的大学本科课程。这件事当然还会来自于二十世纪其他学科的发展特点。比如经济学、社会学、生物医学的定量化,大量应用了数理统计和随机过程,且数据量往往巨大。

以矩阵为主题的教材,也有不少提到了抽象意义向量空间(更多的书会提到仅限于R^n的所谓“行空间”和“列空间”),但是往往只是附加介绍,在全书当中并没有应用;全书仍然以R^n上的东西作为讨论对象。关于向量空间的章节,也往往放在最后,显得独立于全书其他章节的关联体系之外。

以上是我对我所调查的教材作出的一般性总结。下面我列出我就各个教材记录下来的一些想法。

五、教材调查

[3] Paul Horst (1963), Matrix Algebra for Social Scientists, Holt, Rinehart and Winston, Inc.

这本书标题明确了面向社会科学。它的前言在本文关心的问题之下很有代表性,值得去看。第一段说明了社会科学越来越量化,数学工具的使用越来越频繁的背景。在这样的社会学研究当中,逐渐形成了:1) 搜集数据;2) 分析数据;3) 建模预测;4) 给出政策建议——的研究思路。我们很容易联想到今天的“数据科学”。向量和矩阵的(非R^n的)抽象代数意义在这样的应用中并不相关。前言的第二段则介绍了作者在二十世纪的大形历史事件当中的经历如何塑造了这本书的撰写风格。特别地,作者在组织高中文化程度的人进行计算任务方面具有丰富的经验。

这本书的内容十分紧密地联系到统计分析、方差分析等应用。从目录来看,内容被区分为不同的parts,具体的区分方式也代表了十分独特的思想:

  • Part I: Simple matrix concepts。可以看到,作者在首次引入”何谓矩阵“的时候选择提及的是各种“行、列操作”。这与本文第一节所提到的观点不谋而合。此外,在此部分中的六章共100页的篇幅全都在于强调“矩阵是什么”本身。
  • Part II. Simple matrix calculation。作者把所有矩阵之上的运算全部归到了一个部分。读者在这一部分就会感到大量运算法则的集中罗列。而且还包括了一些统计学应用章节,例如第12、13章。
  • Part III: The Structure of a Matrix。正交矩阵、秩、迹、对角化的话题,被认为属于“矩阵的结构”。
  • Part IV: Matrix Solutions。矩阵的逆的相关问题,被归作“矩阵的解”。

这也说明一本好的教科书,如果在章以上还有分part的做法,那么它不能只为了分而分,而是必须传达出具有教学效果的信息。

[4] Franz Hohn (1964), Elementary Matrix Algebra, 2nd ed., MacMillan

这本书的第1版年份是1958年。从两版的前言可知,作者在University of Illinois开设了研究生通选课,给不同专业的学生选。

这本书的第1版年份是1958年。从两版的前言可知,作者在University of Illinois开设了研究生通选课,给不同专业的学生选。这暗示了,矩阵代数在当时已经显示出在很多学科当中的应用价值(“aeronautical engineering, agricultural economics, chemistry, econometrics, education, electrical engineering, high speed computation, mechanical engineering, metallurgy, physics, psychology, sociology, statistics, and pure mathematics”)。作者在前言强调,尽管他搜寻了一些不同的应用,但仍以列出一般知识为主,需要读者“机智地”(intelligently)在他自己的领域理解下学习。

这本书属于“上来就是行列式”,但最后一章和附录有一些抽象代数话题。

[5] Richard Dorf (1969), Matrix Algebra: A Programming Introduction, John Wiley and Sons

作者是俄亥俄大学工程学院的院长。在前言中他也提到了矩阵代数在社会学、经济学、教育学和商科等领域应用背景,列了一个长长的列表。

这本书带有非常典型的“只罗列计算要求,完全不讲动机和理由”的特点——也就是知乎上的学生经常吐槽的中国线性代数教科书的特点。我想至少在这一年代的这一本书而言,这种特点可能来自其面向的应用领域太过广泛。正如上一本书前言所说的那样,只能负责罗列,而需要各专业的读者自己机智地在自己领域去应用。也就是说,经常被问到的某线性代数的概念“到底是什么”这种问题,答案应该是:它在你的专业最终被如何应用,它就是什么。关于这一点还有一些问题我会在文末进一步讨论。

相对于matrix algebra,比较深的的书会说自己是matrix analysis。比如——

[6] Richard Bellmann (1970), Introduction to Matrix Analysis, 2nd ed., McGraw-Hill

这本书是许多人口中的经典,其前言也是受很多人重视并引用的。别的不说,这个前言至少有一个突出的特点就是:非常长。这本书在amazon.com上的评语(尤其包括差评),都十分值得看。我在此只想说,此书虽然话题偏深,但仍然是使用“行”与“列”来讲述的。此书与各种当时的应用结合点很多:最优化,“dynamic programing”、微分方程、动力学系统的稳定性、马可夫过程、过程控制、数理经济学……依旧是浓浓的“两弹一星”味。

[7] S. Searle, W. Hausman (1970), Matrix algebra for business and economics, Wiley-Interscience

这本书的标题明确了应用领域。这里起主要因素的还是最优化计算和概率论经济类学科中的应用,尤其是一些之前不太量化的分支如管理学和市场营销在向越来越量化的方向发展。

作者在第1.1节中说,在矩阵这一工具的视角下,许多不同的问题之间只剩下数据量大小的区别。而这在大型计算机的存在下将变得次要,从而使矩阵的知识实用性更强了。

[T]he almost universal nature of matrix expressions has great appeal, for often the same results can be applied, with only minor changes, to situations involving both small amounts of data and extremely large amounts… Size does not affect the understanding of the procedures, only the amount of calculating involved, which in turn determines time and cost, factors whose importance in today’s world of high-speed computers is rapidly diminishing.

这本书列了很多其他应用章节。比如,第8章是介绍马可夫链的。矩阵代数在这里面的应用主要在于马可夫链的概率矩阵。这其实是一种随机矩阵(stochastic matrix)了。第9章是关于所谓“线性编程”(linear programming),内容其实是以线性回归为主的最优化计算。

[8] David Steinberg (1974), Computational Matrix Algebra, McGraw-Hill

书名中的“computational”是否跟今天的用法(即表示利用计算机计算的意思)一样,但在该书出版的年代则是十分新的。该书的前言就强调,鉴于电子计算机应用的发展,矩阵代数如何体现在具体程序设计上的书太少,所以需要写一本。从前言我们还看到,到了这一年,基本的矩阵代数已经广泛成为工科专业本科的必修课——正如今天《线性代数》的情况一样。这也再一次暗示了当时的人口中的矩阵代数和线性代数,在本科课程的意义上,几乎同义。教线性代数就是教矩阵的那些东西(而不是抽象向量空间)。目标人群也是20世纪水平的工科领域。

[9] Richard Yantis, Richard Painter (1977), Elementary Matrix Algebra with Applications, 2nd ed., Prindle, Weber &Schmidt, Inc.

很多之前几本书都提到过的一些时代共同特点,我就不再重复了。这本书关于应用的章节非常多,领域非常广,“二十世纪工科”色彩非常强。

这本书的前言有一个有趣的教学观察:学生就是喜欢先学点儿数学,然后等待之后的课,看看刚学完的数学会有何应用。如果说,这是对学生学习心理的规律性认识,那么可以想像,如果学生在学完了大量数学之后,却没有看到任何应用——知乎上的学生吐槽国内线性代数教材的主要一点——将会多么失望。文末会进一步讨论这件事。

到了80年代和90年代,我们渐渐看到,采用“矩阵代数”标题的书少了,采用“线性代数”标题的书多了。但是,以数的矩阵为主要内容的仍然过半。我想学完线性代数的人都能明白,抽象意义上的有限维向量空间上的很多话题(包括算符代数和对偶空间),确实都能用同构地用矩阵、行向量、列向量、行空间、列空间……等语言去讲。也许是这一事实加上了上述80年代之前的惯性,使得许多教材编写者认为仍然不需要煞有介事地把讲述语言变为近世抽象代数。在这里我只列举个别的教材了。

[10] David Harville (1998), Matrix Algebra From a Statistician’s Perspective, Springer

这是一本到很后期仍然使用matrix algebra这个词组的少数例子。作者是IBM的。因此从前言第一段我们再一次看到,矩阵代数与计算机在工程领域的大量应用的关系。

[11] Anthony Delatorre, William Cooke (1998), Matrix Algebra, Master Thesis, Naval Postgraduate School

这不是一本书,而是一个硕士学位论文。我认为它很有趣,在这里只为了调节一下气氛。一是我第一次看到两个作者合著同一个学位论文,同时拿到学位的例子。另外也许由于单位是海军研究生院的,这篇论文从封面、版式、字体到文字风格都充满了浓浓的军事风。

它的摘要(比很多普通小论文的都简短)又显示,这又确实是一本教科书——

This thesis is designed to act as an instructor’s supplement for refresher matrix algebra courses at the Naval Postgraduate School (NPS). The need for a beginning matrix algebra supplement is driven by the unique circumstances of most NPS students. Most military students attend NPS several years after receiving their undergraduate degrees. This supplement, unlike most college textbooks, bridges the gap between the student’s educational lay-off and the rigors of mathematically oriented degrees such as applied math, operations research and engineering. By reviewing the fundamental concepts of vectors and matrices, and performing basic operations with them, the student quickly develops the background needed in NPS”s demanding curriculums. This supplement focuses on matrix and vector operations, linear transformations, systems of linear equations, and computational techniques for solving systems of linear equations. The goal is to enhance current matrix algebra textbooks and help the beginning student build a foundation for higher level engineering and mathematics based courses.

因此,这两位作者,共同写了一本面向自己所在的研究生院的教科书,来作为硕士学位论文。我们也看到,这本书经常使用以the students为主语的一般现在时,来描述写书的目的,一种军事文本的特点。还有,老师不叫老师,叫“教员”(instructors),因此这里的student也应该是“学员”——军事院校的叫法。

六、关于中国学生的怨言

从上面的教材调查当中我们应该能够强烈地感受到,基于矩阵的“线性代数”是在何种语境下成为主流的。再反观今天听到的学生抱怨,他们抱怨什么、为何抱怨,也许就能更清晰些。这最好还是留给读者自己去思考,我在此只简要讲一些个人看法。

实际上,按照抽象代数成的线性代数教材也很早就有了。例如Hoffmann & Kunze的书,第1版在1961年,第2版在1971年。前言介绍这本书是给本科生上课用的。这本书的前言很值得拿出来详细地阅读,并与本文上述的那些矩阵代数教材的前言进行比较。但鉴于吐槽的学生本来就呼唤和推崇面向抽象代数的教材,因此想必他们已经熟读并赞赏Hoffmann & Kunze在前言中阐述的思想了,我就不再次具体说明。这里我只是再一次提示,既然影响力广泛的、面向抽象代数的本科线性代数教材,也出现得非常早,这就说明上述长期继续存在的矩阵代数教材,并非因为作者们的认识落后,看不到数学的发展,而是为着特定的目的——既前文分析过的那些。所以,在未看到教材之所以这样撰写,而不那样撰写的具体原因之前的那些批评,至多也只能说是十分朴素的。至今,以矩阵为主要内容的线性代数,仍然以面向工程计算的角色而流行。例如C. Lay的那本和done right,都是大量矩阵。矩阵仍然是本科线性代数课本的特色。

我举一个中文教材的例子。李尚志的那本《线性代数》(数学专业用)的前言,回答了许多中学学生学习线性代数时中普遍的疑问。总结他对这些疑问的回答,主要意思包括: “前人在发明这些内容的时候都是为了解决一定的问题。写进教科书中的内容,更是经过历史的检验被证明是最重要最有用的东西。”——这两句话,看上去很像是空话套话,但却是对本文上述调查的最佳总结。当然,李尚志书仍然是“用矩阵来讲线性代数”的例子。

完全不应用矩阵来讲线性代数的场合,例如当我们需要把函数理解为向量,讨论希尔伯特空间上的算符的时候。又例如,我们需要使用一种自带“标架不变性”的语言的时候。这两种需求,也许可以非常粗暴地概括为量子力学的需求,和理论力学、广义相对论的需求,于是可以说,都是当我们是理论物理学生的时候的需求。这跟上述描述的“二十世纪的工程领域”的数学和物理学基础形成了鲜明的对比。所以,也可以说,相当一部分学生的吐槽,是来自理论物理专业的。他们面临的问题实质是,为何理论物理专业的本科,仍然上一种面向工科的线性代数。这其实是受到一所大学的“全校通选课”波及的问题。李轻舟写过一篇文章《量子世纪的创世余晖——读冯·诺依曼〈量子力学的数学基础〉》,就介绍了二十世纪的数学和理论物理语言特点的哲学渊源。可见所有的这些特点都是二十世纪专属的,它进入不了面向工科的世界,因为二十世纪的工科,如前文所说,主要基于十九世纪的果实。

“全校通选课”,其实也是使线性代数教材变成“纯罗列、无应用”的因素。线性代数课长年作为泛工科专业的通选课。数学系中的同一批教学小组的几位老师,负责全校不同专业的课程。因此讲义和教科书中的任何一个具体专业的应用,都很可能无法移植到其他专业的课堂上。

但是需要承认的是,“学完数学看不到应用”,在教学上是破坏性的。假设一下,如果在所有本科修改《线性代数》的这么多专业中进行调查,看哪个专业的学生(大四)对这门课和教材关于“不知道应用背景/动机/意义”的吐槽最激烈,那么这种分布应该会跟这一专业的课程计划中,后续专业课对(基于矩阵的)线性代数知识的应用密度密切相关;后续课程用得越具体的,学生应该吐槽地越不激烈。很多真心吐槽的学生(除开上述理论物理的学生之外),可能都是一些后续专业课实际用不到什么矩阵代数的,比如一些化类专业。

这联系到问题的本质其实在于,一些工科专业的课程内容在学年与学年、课与课之间长期是割裂的。本科的通选课老师自然不知道你们专业课中有哪些重要应用,大三的专业课,普遍也不紧密结合大一、大二的高等数学和普通物理学知识大纲。

我非正式的一些渠道了解到(没有什么证据),工科专业大一、大二上什么样的大学物理和数学内容,以及怎么上法,曾经也是比较自由的。因此也由不得写大三专业课教材的作者去精确地假想读者懂用什么数学和物理

——甚至懂不懂数学和物理。许多教材的第一版写于中国的特殊年代,远非人人都有机会读大学(或者完整的中学)的。新教材撰写的阻力,部分也来自今天很多人所说的“高校重科研、轻教学”。高校重科研的开始,大概可以划在2000年前后“SCI论文”被普遍重视。因此恰好发生在旧时代教材需要淘汰,要按亲一代大学生的普遍基础写新教材的节点。这件事于是至今都没有发生了。很多这种专业的学生学完困难的一、二年级课程之后到了大三会发现,专业课课本像是写给以前的工农兵大学的,完全看不到需要大学数学和物理学的痕迹。于是一部分学生会永远以为这个专业的基础就是如此浅,滑向本专业贬值论;另一部分学生进入了前沿研究后,会以为当前研究市场已不需要原学的专业(而不会认为原专业的范围是扩大的),则滑向专业过时论。

总之,各方面因素使得大一的数学课只有面向将来考研的意义。这种态势又反过来影响了大一通选数学课的教学。现在教学上也接受了这种唯一意义,例如很多学校的化类专业的通选数学课,是按照“考研数学(二)”的内容砍了。“既然教育部都认为,化学专业的研究不需要这些数学,那我直接不教了也没什么问题”。正是,始作恿者,其无后乎。

文献列表:

  1. Maxime Bôcher (1915), Introduction to higher algebra, The MacMillan Company
  2. Roger Horn, Charles Johnson (1985), Matrix analysis, Cambridge University Press
  3. Paul Horst (1963), Matrix Algebra for Social Scientists, Holt, Rinehart and Winston, Inc.
  4. Franz Hohn (1964), Elementary Matrix Algebra, 2nd ed., MacMillan
  5. Richard Dorf (1969), Matrix Algebra: A Programming Introduction, John Wiley and Sons
  6. Richard Bellmann (1970), Introduction to Matrix Analysis, 2nd ed., McGraw-Hill
  7. S. Searle, W. Hausman (1970), Matrix algebra for business and economics, Wiley-Interscience
  8. David Steinberg (1974), Computational Matrix Algebra, McGraw-Hill
  9. Richard Yantis, Richard Painter (1974), Elementary Matrix Algebra with Applications, 2nd ed., Prindle, Weber &Schmidt, Inc.
  10. David Harville (1998), Matrix Algebra From a Statistician’s Perspective, Springer
  11. Anthony Delatorre, William Cooke (1998), Matrix Algebra, Master Thesis, Naval Postgraduate School

分享一些书(1)

一、

我认为(广义的)化学专业的学生有必要学习比现在的教学体系中所含有的多得多的数学和物理。因为,很多物理学领域或问题,今时今日只有化学家们关心了。这些领域在物理学界已经不受重视,或者,做这些领域的物理学家渐渐被认为是化学家。但是从教学背景上,能做得动这些领域研究的人,仍然是物理系背景的为主。以化类专业目前的教学体系,不大量补习必要的数学和物理知识是做不动这些领域的问题的,甚至理解不了。

我认为,既然只有化学家关心这些领域,那这些领域就不该视为物理学领域——无论它多么“像一门物理”。从还原论的观点,所有自然科学都是物理学。如果说这种论调是无聊的,那我们就只剩下根据“谁关心什么领域”这件事上的一些共性来划分学科了例如,化学家如果关心到了生物一些问题,那这些问题就是化学问题,在这些问题上的成就如果能获得诺贝尔奖,那应该属于诺贝尔化学奖——正如实际上过去好多年的诺贝尔化学将那样(尽管很多人并不买帐,认为都是生物学的工作)。

如果领域的划分变化了,本科教学不随之转变,就会面临第一段所说的问题——一些领域,物理界没人做,化学界的人做不动。更糟的是,化学界的人能做动的问题将随时代的推移而越来越陈旧,由这些人组成的所谓“化学学科”将会痿缩。这恰好是正在发生的事情。因此,我们应该根据化学领域的新情况,来更新化学本科的学习体系。如果我们发现,根据当下和未来的研究现状,大量化学的研究领域所需的数学和物理学知识几乎不亚于物理学系,那就应该让化学系的教学作出相应变化,而不应迁就于生源因素的传统惯性(例如许多学生是为了逃避数学和物理,才选择化学学科)。

二、

事实上,就算未必基于上述的观点,也已经有很多化学专业的学生想要自学更多的数学和物理。但是,传统的教学体系对教科书市场的影响非常大。教科书都是按照传统的大学专业和教学习惯来编写的。所以化学专业的学生在这种情况下总会面临,想学的某方面知识,只在面向物理系的书里,并默认了物理系一般的教学顺序,特别是包括了物理系学生数学课的广度和深度。一些“教学用书”色彩不深的教材,也未必适合自学。因此,学生本来就不懂,还需要花大量时间去搜集、鉴定和试验很多本教科书;往往花了很大的工夫,仍然无法正式地、舒适地开始学习。

这时,也许可以在网上找一些其他学习者分享的“书单”、“书评”。

英文书世界amazon.com上的书评水平是比较高的,也很有参考价值。事实上,英文教科书也普遍遵循“最大程度方便自学”的文化,因而在前言部分一般都会讲本书所假设读者已有的先修课程、本书各章节安排和学习(或讲授)顺序建议,然后就是本书难度和深度的设定及理由等。很多网上书店也能提供书的前几页(至少会包括目录,有时能包括前言,甚至整个所谓front matter)的免费预览。这能让读者很快就明确这本书适不适合自己。

但是,中文网站上不仅书评少、水平差,而且中文教科书普遍不是学生至上的,而是教师至上的。因为中国教育风格特别重视课堂教学,特别重视通过课堂讲授来达到尽可能大的理解。因此教科书本身就被放在了辅助、参考的地位,而极少假定它会被学生拿来自学使用的。在我们的教学体系中的英语教学来看,大学生普便英语水平最多就是达到六级。看过六级试卷的人就知道,这种英语水平无法支撑科技论文的阅读(和写作),更别说是几百页的英文教材了。所以尽管中文教材普遍有上述不足,对于英语水平欠佳的大部分学生,中文教材是他们唯一的选择范围。

三、

很多教科书会以A first course of …为书名。所谓“first course”就是说,在第一次学习一门学问的时候适合看的书。第一次学习一门学问时有何特点呢(或说对书有什么特别的要求呢)?我想首先就是不能太厚。要让人在不长的时间内就能了解这门学问大概包括哪些内容,前因后果的顺序。其次就是要“循序渐进”(pedagogical),让初学者看得下去。这时可能还包括要附有一些补充知识,比如一本以测度论为语言写成的概率论,至少书内附有测度论基础知识。

这隐藏了一种学习建议就是,不要想着只学一遍。所以,既然反正要学若干遍,那么我们当然可以理性地根据我们的学习目标预先安排,每一遍分别花多少时间,学到什么样的广度和深度。在“找书”这件事上,最难的是找到方便第一遍学习的书。因为一来这时你完全不懂要学的内容,二来从大量标题相近的书中找出满足first course特点的书,必须一一翻阅才行,很花工夫。有些书,标题写着first course,其实更适合作为second course。就算你已经看了前言、目录,十分肯定这本书适合自己初学,但仍可能学到一小半才发现,内容与预计完全不符,又只好倒回原点继续找书。这样的事情碰到多了,很难说不会耗尽一个好学的学生的毅力。

基于上述考虑,我介绍一些在自己学习的过程和教学实践当中知道的书。我保证所有这些书都是我精读多次,十分熟悉的。而且我推荐的往往不是最为知名的经典。那些书早就被不同人重重复复地推荐了,就算我也觉得它们好,也不用我再推荐一次。而且满篇书评推荐的都是这种经典,实在令人怀疑你是否自己没读过,从别的书单抄袭过来的。我特别厌恶这种洋洋洒洒的书单。它们无非做了搜索引擎能做的事,甚至还不如搜索引擎结果多(我知道的很多书,都是通过善用各类搜索得知的)。

四、

几乎100%的情况,物理的书读不懂或者读不下去,都是因为缺少数学知识。然而,并非每次遇到这种情况,你都能意识到是缺少数学知识。因为具体往往表现为:符号在书中都作过定义,运算法则也在书后列明了,数学公式你都看得懂,你困惑的是物理图像。我在这里希望强调的仍然是:物理图像上的困惑,都是数学语言的习惯性简化、省略和符号滥用造成的。你需要的不是直接帮你形容出易于理解的物理图像,而是更加小心的使用符号和概念来重述一次理论。理论物理的“图像”,就是描述它所使用的数学,而不是其他东西。

但仍然成问题的是,既然遇到这种情况时我们往往意识不到缺数学;就算看到了上一段忠告,你有意识地思考是否缺少了数学,也未必容易确定到底缺少了哪方面的数学。

我提供的办法就是,独立地学一些近世的、统一在集合论之上的一些数学。因为,若说许多物理教材的符号和概念使用不严格而易于在学生读者中诱发一些疑惑,那往往是因为这些教材采用的是20世纪之前的习惯——这更适合本科。

具体地,20世纪之前的物理学先贤(早期的例如库仑、法拉第、拉普拉斯、麦克斯韦等)都是牛顿和莱布尼兹的“门徒”。他们都是学好了微积分,仅靠微积分工具,做出了许多杰出的物理问题。很多他们做出来的物理问题,在今天更常用更近世的数学来做了,可见他们超前之处和天才之处,但同时也是因为他使用旧的数学做出来的版本,是简化/近似/不严格/引入了直觉ansatz/临时发明了运算规定……的版本。它们充满了“物理学上的思想”,但在数学语言上又特别贴近今天的、恰好也只学过基本的微积分的本科学生。因此20世纪前的处理方法,仍然是本科教材中流行的方法。

20世纪初以罗素的《数学原理》和希尔伯特的数学问题为标志,牛顿和莱布尼兹以来分散而庞杂的新的数学被形式逻辑和集合论统一了。很多原本并非没有的数学,被重新用更抽象的语言复述之后,又反过来用于复述曾经用旧数学叙述过的传统物理,当然更多的是构建近世物理。我个人的体会是,初学就目睹逻辑严密的公理化铺陈,才能让人尽快“放弃幻想”,忘却“一定要从曾经见过的事情来理解新知识”的惯性。而且严格、准确地理解数学语言(而并非常见物理学教材中旨在“会算就行”的“数学准备”),大量教学过程中学生普遍会碰到的理解难点和易混易错知识点,都立刻变得特别“安全”、“天然”和“顺利”。值得再一次强调,物理知识点上的混淆误解,几乎100%来自该学生对所使用的数学工具本身的混淆和误解。在这里,基于集合论(而得到的各类“空间”)的数学语言,就是将来能够享有上述的那种“安全”、“天然”和“顺利”的基础。

往大了说,物理学若想追求大一统,那么必然离不开数学语言的大一统。往小了说,在比较统一的数学语言基础上阅读不同分支的物理书,你很容易找到事半功倍的经验。特别是近世物理,往往是理论物理学家使用一种数学形式在一个领域中获得了成功之后,又应用于另一领域而做出来的。一门一门地学这些物理,要学完了才看见;学好数学之后再学物理,不仅很快看见,还能激发你进行新的创造。让你更快地成为主动探索者——这也是高等教育的目标。

五、

很多面向物理系学生的“数学物理方法”课本,是anti-mathematics的。它们不过是一个稍微扩大了的“数学准备”,是“会算就行”邪教产物。因此我不建议纯洁的化学专业学生找这类书来学习数学。但除了一本:

Sadri Hassani (2003), Mathematical Physics: A Modern Introduction to Its Foundations, 2nd ed., Springer

我主要是看这本书的第一版,但第二版值得替换。因为第二版稍微加强了集合论,而且印刷好看了些。这本书的副标题中的“Modern”和“Foundation”,基本标志了它与其他“会算就行”型数学物理方法教材的本质区别。一本巨厚的书,也几乎以coherent的方式把数学的大面积内容覆盖了。这在某种意义上,是适合作为first course的,但在另一些意义上又特别不适合。比如,它应该是你碰到的第一本数学书。但它太厚了,这又当然不是你第一本看完的数学书。也许它更适合用first crush形容吧。

这本书在初学时帮到我的方面包括:1)前面说的coherent。在我初学的时候,我还不知道,这种统一本来就是近世数学的特点,因此是开了眼界的。我想也许很多化学专业的同学跟我一样也需要在一开始就打开这种眼界。2)该书的bibliography让我知道了更多经典的数学书。而且尝到甜头之后,我看其他数学书的时候也经常翻它们的bibliography,试图发现更多更早的经典,因此我很快知道了大量“第一本书”。3)该书的侧注,也成了我看其他数学书时的侧注方法。特别,不以“引理、定理、定义……”的形式写成的,而是把定义和定理藏在了字里行间的数学书或段落,特别需要侧注。

而其余时候,这本书的不同章节更多地是在我后面的需要学习当中的first reference。

可见,这本书有很多不同的“first”的意义。因此就算它厚得不行,也在此先介绍了。

这是我去打印店打印装订完的纸版。当年我还没有Surface Pro也没有iPad Pro,电子版不方便学习。但是纸版实在太重了,不耐重复翻阅,现在它们都快脱胶了。有了平板终端之后,我,就很少翻它们了。