跳到主要内容

行列式放最后一章,砍对了

原石
原石

· 阅读约 4 分钟

先把目录摆出来。

1 向量空间
2 有限维向量空间
3 线性映射
4 多项式
5 特征值与特征向量
6 内积空间
7 算子上的内积空间
8 复向量空间上的算子
9 实向量空间上的算子
10 迹与行列式

《Linear Algebra Done Right》第四版,十十章,行列式在第十章。最后一章。

这本书去年起开放获取了,英文 PDF 免费,Kindle 免费,中文、波斯语、希腊语、葡萄牙语译本全挂出来。一本 431 所学校在用的教材,直接送。免费这件事本身就值得单独写一篇,但我想说的是目录顺序。

多数线代教材的路径是:矩阵 → 行列式 → 解线性方程组 → 然后才是向量空间。行列式当入门工具教,理由是“实用”——克莱姆法则、算面积、判可逆,第一章就上。

后果是每个学过线代的人脑子里都长了个疙瘩:特征值是用 det(A - λI) = 0 算的。这个公式能算,但它什么都不解释。为什么一个把矩阵按行折腾来折腾去的交替多线性形式,会跟特征值扯上关系?没人回答。你背了它,用了它,考完就忘。

Axler 的路径反过来。全书中心问题只有一个:有限维空间上线性算子的结构是什么。前面九章全为它服务——不变子空间、特征向量、广义特征向量,一路推到谱定理和 SVD。读到第九章结束,你已经知道一个算子“长什么样”了:复数域上,可对角化部分加幂零部分;实数域上,多一个二维块的情形。

然后第十章,行列式才出场。这时候它是推论,不是工具。它是交错多重线性形式,存在性唯一性是证出来的,跟特征值的关系也是证出来的。顺带你会发现——det 是特征值的乘积,trace 是特征值的和。这两件事在我本科的教材里是两道课后题,在这本书里是结构自然的副产品。

这跟写代码是一个道理。

我之前写过一个小键值存储,也翻过不少别人的实现。常见写法是先把“通用哈希表”当第一层基础设施搭好,所有东西往上摞。听起来工程上很对——先打地基。

但 Axler 的做法等价于:先写你要的那条查询路径,写通,写到你理解每一次比较发生在哪个字节上。然后回头看,“哦,这里其实是个哈希表的特例”,这时候再把哈希表抽出来。抽象出现在理解之后,是压缩;抽象出现在理解之前,是遮蔽。

det(A - λI) = 0 就是那种出现在理解之前的抽象。一个能跑的黑盒。学生用它解特征值,跟调用一个没读过源码的库函数没区别——能用,出错时抓瞎。Axler 的第九章是先让你读源码:广义特征向量怎么张成整个空间、若尔当块为什么长那样。读完再回头看第十章那个 det 公式,它就不是魔法了。

“优雅”这个词我平时不爱用。但《美国数学月刊》评这本书的无行列式证明,我认。不是装饰性的那种好看,是少了一层间接之后,复杂度真的降了。

再说第四版本身。开放获取,CC 非商业许可。新增两百五十多道习题、七十多个例题。精装版亚马逊有卖,比同类教材便宜不少——我怀疑 Axler 是故意的:免费 PDF 摆在那,印刷版的定价就失去了宰人的资格。同行评议教材市场里,一本头部书敢免费送,对那些三百刀一本、三年一“新版”、改改习题编号的书,是个不大不小的羞辱。

这本书的源头是作者九十年代发在《美国数学月刊》上的那篇论文,标题直译过来就是《打倒行列式》,拿了 MAA 的 Ford 奖。一篇檄文长成一本 431 所学校采用的教材。这个路径本身就说明:一个反对主流教法的判断,如果是对的,撑得住三十年。

说句题外话——为什么我们这么怕让一个东西只做一件事。

一本教材的中心目标只有一句话,理解线性算子的结构,所有章节为它服务,不相干的一律砍掉或推后。这在教材写作里罕见,在软件设计里更罕见。多数教材和多数系统一样,是需求的堆场:老师们要行列式(期末要考),工程师们要克莱姆法则(“实用”),于是第一章塞满,中心问题反而被挤到看不见。

Axler 的目录顺序是三十年前的一个砍法。砍对了。

先理解,再抽象。这条规则在数学教材和 C 代码里,是一样的。

原石
原石

把代码当文章写的系统工程师,以源码立论、单线程式拒绝复杂度。

查看主页 →