Category Archives: 个人文集

关于“万物皆流”

与先贤共鸣

中国文明和西方文明都有一个光辉的早期哲学宝库。普通公民教育已经教给我们很多典故。世世代代的普通中国人受完当代的教育后,大致都会尊崇能引经据典的人,认为这是一种文化涵养的体现。我们的经典大概就是诸子百家诗词歌赋。西方人的经典大概就是古希腊哲学和圣经。因此西方文明下成长起来的文化人——比如一些科学家们——凡是想要为新的知识找到一种文化上的解读,都一律会求助于他们的经典——古希腊哲学。你哪怕说是牵强附会也好,文化归属感也好,反正这两大文明的人都是这么干的。

近代科学的发展基本发生在西方,学科的开宗立派就更不用说了。流变学(rheology)这个词的杜撰、美国流变学会及会刊的建立,都是令当事人特别兴奋的事情。搁我们文化下可以形容为“不禁要吟诗一首”。这本质上是一种先人对话的冲动,想向他们汇报:老头子们,虽然我做成的事情与你们的智慧相比平庸琐碎不值一提,但巧的是它恰好再一次体现了您老人家们的智慧;我们的文明,在几千年后仍在你们智慧的光辉照辉之下。

M. Reiner就为流变学最独特的知识性贡献——流体的粘弹性——附会于西方先贤的智慧。他找了两个。一个是据说来自古希腊哲学家赫拉克利特的“万物皆流”(panta rhei)这条观念;另一个是圣经中先知诗人Deborah的诗句,从而把流变学为流体的无量纲世界新贡献的一个(Deborah数和Weissenberg数是不是等同的概念还有争议)无量纲数以此诗人的名字命名。

他这么一弄,今天的中国人就得这么学。“万物皆流”啥意思?哦,那是古希腊的。Deborah是谁?哦,她是《圣经》里的。

同理,近代科学许多学科,在开始时就在西方文化背景下升华过了。例如医学始祖就成了希波克拉底,尽管基于实证主义的现代医学跟希波克拉底本身也没有直接联系,但这是人家文明的先贤,人家发展新学问的时候就是愿意去彰显一下,谁让是人家先搞好了这个学科呢?

咱们也不应该过于纠结这件事。既然是现代人发现的智慧,按照“真理无国界”(意思是牛顿力学不会只在西方适用而在中国不适用)的观念,那么无论哪个文明下的人重新学习人类共同智慧的时候,都有平等的资格和机会去对它作出源于自己文化上的理解。

高分子/流变学的中国故事

我国在百废待兴的时代,流变学研究力量的建立和发展,离不开几位老前辈。他们恰好都充满了对中国文化的热爱,他们写的学术著作和非学术的散文,都为中国学者更深刻理解流变学铺设了丰富的文化氛围。更加重要的是,当代中国科学家谱写的篇章本身就蕴含着强大的和独特的科学精神;每当后人想“与先贤共鸣”时,告慰这些当代科学家,精神上比从古人那里引经据典更加得到满足。

我没有作正式的搜集,只列一下给我上述印象的一些见闻。

有一本书,是钱保功带头编写的《高分子科学技术发展简史》。分上、中、下篇。上篇是译自Morawetz的原著Polymers: The Origins and Growth of a Science,第二篇是从Seymour编辑的论文集 History of Polymer Science and Technology中找了几篇译过来的。事实上,Morawetz和Seymour的这两部文献已经为“高分子科学技术发展史”这一主题提供了非常完整和细致的资料了。但是《高分子科学技术发展简史》一书不忘整理了下篇:中国古今高分子科技成就,其中“新中国高分子科技成就”一章荡气回肠,写满了血汗。尽管文字上保持了科技资料的平实客观,但所幸还是有两段感情充沛的文字,足以代替我读完这一历史后的感受:

顺丁橡胶是我国自行开发的生产规模最大的高分子工业项目,这在前面已两处提及。1985年,以“顺丁橡胶工业生产新技术”的项目名称,荣获首次颁发的“国家科学技术进步奖”特等奖,也是石油化工领域中唯一的特等奖获奖项目。这是弥足自豪的。它反映了我国高分子科技界同仁自60年代以来,戳力同心、协作攻关的辛勤劳动与丰硕成就。然而由于评奖当时距今已时隔多年,加以“文化大革命”时期的动乱、人事机色的变迁以及其他局限性,疏漏之处在所难免。为此,我们以白描的方式,加以记述,以誌其盛,以存其真,也用以告慰那许多曾为之呕心沥血、艰苦奋斗、但其功绩未能得到恰当反映的同志以及所代表的单位。

我国顺丁生产技术的发展可分为以下几个阶段,即试验室工作为主的孕育阶段,第一次会战攻关阶段,工业化建设以及二次现场攻关阶段,最后是迄今仍在进展中的高水平发展阶段。由于这个过程中,相当一段时间处于“文革”动乱时期,不少知识分子受到歧视打击的情况屡有发生,所以也是一个波澜 起伏、惊心动魄的过程。这既是我国科技界知识分子忠贞刚正的写照,也是世界上绝无仅有的一种科技发展史况。

——《高分子科学技术发展简史》“7-3 顺丁橡胶发展简史”

科学网已故博客主人郑融老师,写了大量跟流变学相关的文化散文。我在怀念郑融老师文中简单表达过我的崇敬之情。我把部分还能访问的、跟流变学有关的文章,整理成了一个链接列表:郑融流变学散文。在《流变琐谈(3) ─ ─ 从孔夫子说到松弛时间》一文中,郑老师提到,Tanner和Walters在撰写流变学历史时,根据《论语》英译本认为,孔子所谓“逝者如斯夫”,与赫拉克利特所说的panta rhei不谋而合,将二者相提并论。这件事情,超出了“中西”之分。不管中国的文明还是西方的文明,都能相互引起重视、欣赏和共鸣!

中国的流变学研究的创建人之一——许元泽教授,曾在一篇访问中为我们讲述了这段历史:访复旦大学、厦门大学许元泽教授:流变学 高情逸韵往何方。他说:

古人云“君子和而不同,小人同而不和”,为什么?各有所长,互敬互学;低水平差不多的人易重复,难合作,矛盾多,上面压力再大一点,下九流做法就出来了,更难创水平。在国内要取得科研事业的成功需要更全面为人处事的素质与性格上的坚韧,这对一些科研尖子不免是苛求。真不希望我们孩子从小生活在人际竞争的压力下,变得机敏平庸,磨掉了对科学的由衷热爱。只要减少干扰,避免浮躁,科研环境就好,有那么多青年才俊潜心钻研,科学发达与技术的进步是必然的,明星不靠刻意捧也会冒出来,海外有志人才不赏重金也会回来。

最近,他总结了高分子科学乃至软物质科学中的思想大观如下:

到底是谁把rheology译成“流变学”,一直没有答案。我曾作过有限的努力,但只能知道这个翻译很可能是建国前就已经使用的。我能查到的资料显示,钱保功、钱学森、钱人元在建国后的头几年,都不约而同地把rheology称作“流变”,说明把这个词称作“流变”可能是当时已经通行的。钱保功在H. Mark指导下于1947年高分子化学硕士获得硕士学位。钱人元早年在Wisconsin大学化学系(这是对流变学有重要贡献的一个系),至1948年回国。他们都是应该深刻理解rheology意思的。陈宗基的博士论文标题使用了rheology,回国后第一篇论文(1957),英文只用了mechanical behavior,但中文就已频繁使用了“流变”一词。与前面提到的“三钱”也是不约而同的,仍然说明“流变”一词建国后已经通用为rheology的翻译。更早的就可能看李四光在研究中是否引入了流变学理论。我无法查到李四光的大部分研究著作,仅从网上的信息,无法显示李四光提到过“流变”一词。目前我的猜测是,“流变”一词来自哲学词汇的翻译。首先,赫拉克利特的主要哲学思想在英文中的提法是“flux”,这个哲学思想在中文中的提法就是“流变”。然后,1929年,美国人在杜撰rheology一词的同时(同一文章中)就明确了对赫拉克利特哲学的引用。那篇文章自发表那天起就成为后人解释rheology这个词的基准。不排除我国早年的前辈在对这篇文章精神理解的基础上,从当时关于赫拉克利特哲学思想研究的中文词汇选择了“流变”来作为对rheology的翻译。

正如现代医学的具体做法跟希波克拉底关系不大一样。流变学关于万物皆流的具体思想跟赫拉克利特的“流变”哲学也好,跟孔子的“逝者如斯夫”也好,都只是在很抽象的层面上有所共鸣而已。我们当然不能认为,古代的一些朴素的思想能指导现代科学的研究。现代科学和技术的突破性进展到底是怎么产生的,靠的是什么精神,我在前文提到的关于新中国高分子科学史的章节已经体现了。 但又不能否认,文化上的共鸣,是只有我们抱着最纯粹的格物致知态度去做学问并有所收获,才会产生的情愫;但凡是抱着世俗功利的心态搞研究的人,都会觉得谈这种文化共鸣是多余的。

关于线性代数教材

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

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

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

集合论、拓扑空间和抽象代数的体系形成的很晚,但矩阵却是很早就在不同的古文明中为人认识。我很早就有这印象,因为学习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

研究生导师的伦理规范

我之前在这个博客放出过我导师关于如何做导师的一些想法,引出他联想的文章是冯培忠老师的文章:科学网—立德树人 如何做一名合格的研究生导师? – 冯培忠的博文 (sciencenet.cn)。我导师最后说,冯培忠老师所列出的若干条——

那些是“至少”的对正常人的要求吧,如不跑腿办私事、不当骡马、不主宰学生、不语言暴力、不与异性独处等等,全做到了也难说就是学术导师了。

其实在应用伦理学当中,所谓“对正常人的要求”,应该是对应着基本道德原则。而那些具体指导着研究生导师事务的伦理规范(关于什么是好/坏的做法的一般原则),则属于“职业伦理”的范畴。

导师如何指导研究生、如何管理实验室,也有很多必须讨论的伦理学问题。关于“如何指导研究生”的正确和负面描述已经很多了。正面的描述包括科学家的传记、回忆录和类似上述这种个人观点的总结;负面的描述包括了广大经历不幸遭遇的研究生的控诉。尽管这些文字相当多,它们对于形成共识的帮助很有限。哪怕是那些正面的描述,差异都非常大。著名科学家提导研究生的方法就已经风格各异,甚至相反。他们指导研究生的经验,也无法直接向普通科学家和研究生群体推广。说到最后似乎就只剩下“导师指导研究生的风格可以很多样,没办法一概而论”这种和稀泥的结论。只有正规的伦理学研究,才能把帮助我们把道理讲清楚,形成共识。可是我留意到,目前大部分关于科学伦理的研究资料都是关注科学研究过程的,关于导师指导研究生、以及实验室建设和管理过程的伦理资料很少。

“研究生导师”,英语有好几个词:mentor、advisor、supervisor等等。但关于指导研究生这件事的抽象名词,是用mentor加上后缀-ship得到的,mentorship。Mentor这个词最早来自古希腊,是荷马史诗《奥德赛》中的人物名称,作为人名译为曼托尔。曼托尔是奥德修斯的朋友。当奥德修斯前往特洛伊的战争时,他让曼托尔指导他儿子忒勒玛科斯的学习。也有人说,mentor今天的含义,更多地来自荷马史诗中的女神雅典娜。她化身成为自称Mentes的酋长来帮助忒勒玛科斯。之所以认为曼托尔不足以作为mentor一词今日含义的来源,而需要考虑雅典娜所化身的Mentes,是因为mentor一词在今日被认为同时具备以下意义:

[Mentors should be understood] as role models, as counsellors, as advisors, as teachers, as nurturer, as friends and as sponsors.

Homer’s Mentor – Duties Fulfilled or Misconstrued (nickols.us)

Role model(榜样)、counsellor(辅导员)、advisor(顾问)、teacher(教师)、培育者(nurturer)、friend(朋友)和sponser(赞助者),对于研究生导师来说似乎都是普遍期望之内的角色,而没有过份夸大。因此把指导研究生这件事叫做mentorship应该是再恰当不过。只不过,从规范伦理学的角度来说,如果上述不同的角色都要同时扮演,将难免引入大量道德两难处境。如果我们以这种综合角色作为理想的研究生导师,严肃而详细的伦理学研究就更加必要了。而且相应地,mentorship的伦理一定能镜象出menteeship(研究生)的伦理。

我在多年前就尝试整理一份面向课题组的科学伦理学的介绍。我希望不是那种外行的泛泛而谈式的无聊说教,而是先正式地介绍什么是伦理学,并在正式的规范伦理学层面阐述作为职业伦理的科学伦理学话题。当时因相关资料缺乏我停在了研究生导师与学生关系的伦理学上。但有一对资料,分别面向导师和学生,已经非常接近规范伦理学的层度了——它只是没有提取出伦理学概念重述为伦理学家的专业语言而已,而这在我的目标中也其实并不必要。我在此郑重推荐它们,可在University of Michigan的Rackham Graduate School关于mentoring的网页下载。

这两个文件同等重要。我觉得更值得赞赏的是写给导师那份。在读它的内容的过程当中,我止不住跟中国的情况相比较。显然,这些指导建议在中国充满了水土不服,从而能看出了很多中国的文化问题,不说罄竹难书也至少足以让我写十几篇文章去讨论。

2018年Nature Biotechnology上的一篇报道报告了研究生群体中更高的焦虑和抑随比例,促使美国高校在院系层面对mentorship的重视。除了上面提到的University of Michigan研究生院有公开的committment外,我看到MIT也有一个Committed to Caring,(好像是)每年会选举表彰真正关注学生福祉的教师导师,其选举条件中也相当于声明了在MIT看来何谓“关注学生福祉”的标准。

更多关于mentorship的学术研究和讨论,首先可以看UMich那份文件中的Further reading,然后这个网页也给出了更加近期的参考文献。

尽管文化、体制等现实完全不鼓励(甚至是在破坏着)这种良性的师生关系,但我仍希望不惜牺牲自己的职业前途而致力于做一个真正意义的研究生导师的人,能至少做对了事情,牺牲得其所。