公元一世纪前后成书的《九章算术》,第八章名为「方程」。这一章的第一题,两千年来被无数人抄写、讲解、演算过:
《九章算术》卷八·方程〔一〕
今有上禾三秉,中禾二秉,下禾一秉,实三十九斗;上禾二秉,中禾三秉,下禾一秉,实三十四斗;上禾一秉,中禾二秉,下禾三秉,实二十六斗。问上、中、下禾实一秉各几何?
「禾」是谷物,「秉」是捆。三捆上等谷、两捆中等谷、一捆下等谷,共打三十九斗粮食——问三种谷各一捆各打多少。
用今天的记号,设上、中、下禾一秉之实分别为 x、y、z 斗,这三句话就是三个方程:
《九章》给出的答案是:上禾一秉九斗四分斗之一,中禾一秉四斗四分斗之一,下禾一秉二斗四分斗之三。写成小数,就是 9.25、4.25、2.75。
但《九章》并没有「设未知数」这一步。它把三个方程的系数按列摆在算筹盘上,然后一列一列地减,直到求出答案。这个「一列一列地减」的动作,就是本书要讲的第一件事——消元。
本书把《九章》方程术的这套消元算法称为张苍法。《九章算术》经汉代张苍(秦时为柱下御史,汉文帝时任丞相)删补而定型,这套算法正是全书的骨干。西方传统上把同一算法称为高斯消元法(Gauss,1809 年用于天体轨道计算)。名称不同,动作一样:逐列消去,回代求解。本书两个名字都用,以「张苍法(直除)」为主。
《九章》把那套「一列一列地减」的办法称为「术」。术,就是今天说的算法。一个算法要能交给别人照做,必须满足三件事:
算法的三要素
① 有穷:无论输入什么,都能在有限步内停下;
② 确定:每一步做什么、什么条件下做哪一步,写得清清楚楚,不含糊;
③ 可执行:每一步都是机械的、不需天才灵感的动作。
《九章》的方程术完全符合这三条。「术曰:置上禾三秉、中禾二秉、下禾一秉而参之……」——它交代的不是一个想法,而是一份操作手册。这是中国古代数学最鲜明的性格:以术统学,以算证理。懂了,就得能算出来;算不出来,不算真懂。
算法还有一个了不起的地方:它不需要聪明人。一个足够笨但足够顺从的人(或者一台机器),只要严格照做,也能得出正确答案。《九章》时代,这个「听话的机器」是算筹;今天,是数字计算机。从算筹到芯片,同一个算法一字不改。这就是算法思维的力量,也是本书开设「实验」页的原因——凡有算法,都要在机器上跑一遍,看它是不是真的听话。
方法论旁注:算法不是数学的附属品。二十世纪以来,算法已经成为与「定理」并列的数学一等公民;「存在一个算法」与「存在一个证明」是两种不同的成就。本书明线之所以选解方程,正因为它的算法自古就有、至今仍是标准件,看得见、摸得着、算得清。
只有算法,够不够?举一个简单的问题:把上面那道题改成两个方程、三个未知数:
《九章》的术还能用吗?能用——但答案不再是一个数,而是无穷多个数。它们排成一条直线。这时候,追问「x 等于几」已经没有意义;真正有意义的问题变成了:这个解的全体长什么样子?
问「长什么样子」,就是在问结构。结构不问单个对象是什么,而问对象全体之间的关系:集合里的元素怎么相加、怎么放大;两个集合之间有什么映射;在映射之下什么东西保持不变。于是,同一批方程在另一副眼光下变成了别的东西:
从「求答案」走到「描述解集」,从「会算」走到「懂结构」,正是这门课的全部旅程。算法给我们答案,结构给我们理解。
高等代数可以按很多种顺序讲:先讲多项式,先讲矩阵,先讲空间,都能自圆其说。本书选择从解线性方程组这一条明线切入,理由是:这门课的几乎每一个基本概念,都是从这个问题的追问里长出来的。
还有一层历史的理由。《九章算术》的方程章,是人类最早的线性方程组系统解法;而「解线性方程组」这件事的语言——矩阵、秩、向量空间、线性映射——是十九、二十世纪才逐个补齐的。也就是说,这条明线的两端,一头接着两千年前的算筹,一头连着现代数学的核心语汇。沿着它走,就是从古代走向现代的最短路径。
本书的读法建议:遇到任何新概念,先问它是在回答消元路上的哪个问题。答案往往立刻就清楚了。
上册六章的次序,就是明线的次序:从〈消元〉起手,一步一步把算法提升为语言。
六章各自的分工是:第一章把《九章》的直除讲透,并把它改写成矩阵语言;第二章把消元用到的「记账格子」正式对象化为矩阵,并给出可逆与秩;第三章回答「方程个数等于未知数个数时,解何时唯一」,给出行列式这一可乘的不变量;第四章把解集的形状抽象成线性空间与子空间;第五章把「解方程组」彻底重写为「求线性映射的原像」,秩定理与同态基本定理在此登场;第六章回到多项式,把同一套结构语言用在 𝔽[x] 上,与抽象代数接轨。
上册结束时,语言已经齐备:矩阵、空间、映射。下册要做两件事——把语言用到深处,以及让语言与几何见面。
其一,分类。上册问「解集是什么」,下册问「变换有哪些类型」。线性变换 T 的全部信息藏在一个方阵里;换一套基,方阵变成相似方阵 P−1AP。于是「有哪些本质不同的线性变换」就等价于「方阵在相似之下分成几类」——这是若尔当标准形的任务,也是整门课第一次完整地做一次分类问题。
其二,几何。下册第十章起,代数空间正式与几何点空间接轨:给向量空间加上内积,得到欧氏空间,其上的正交变换正是中学几何里「旋转、翻折」的代数化身;放开原点,得到仿射空间与仿射变换 x ↦ Ax + b;再把「平行的直线交于无穷远点」这一条补上,得到射影空间与射影变换。三种几何,就是三个变换群之下的不变量理论。
一句话记住下册:克莱因(Klein,1872)说,几何学就是研究一个变换群之下不变量的学问。这句话把欧氏几何、仿射几何、射影几何装进了同一个框架,也把下册的三章串成了一条线。
《九章算术》的风格与欧几里得《几何原本》截然不同:后者从五条公设出发,一条一条地证明;前者给出二百四十六个问题,每问之后附一条「术」,说明怎样算出来。一个重论证,一个重算法。二者都不是完整的数学,二者合起来才完整。
本书每章末设一则格物札记,就是要把这两条传统接通:「格物」是把手放在事物上、亲手演算一遍;「致知」是抽象出结构与不变量。算得出来,是格物的功夫;说得清楚,是致知的收获。二者缺一,数学就走不远——只算不讲,是一盘散账;只讲不算,是一座空中楼阁。
九章格的一种读法
「九章」=《九章算术》,代表算法与算功的传统;「格」=格物致知,代表结构与论证的追求。九个类别的问题,配上格物致知的功夫,正是本书希望达到的样子:每一章都有能算的例题,也有能说的道理。
具体到本册,札记会做四件事:① 指出本章的哪个概念在古代已有其「术」的雏形;② 指出它在现代数学中的正式身份;③ 指出它与其他学科的接口;④ 留下三个问题,供复盘。不必同意札记里的每一句话,但要能说出自己的理由。
本书的数学符号一律按 TEX 标准排印,与在论文与教材里见到的一致。
| 符号 | 读法与含义 | 符号 | 读法与含义 |
|---|---|---|---|
| ∈ | 属于 | ∀ / ∃ | 对一切 / 存在 |
| ⊂ | 包含于 | ⟹ / ⟺ | 蕴含 / 当且仅当 |
| ∪ ∩ | 并 / 交 | ≅ | 同构 |
| ℕ⊂ℤ⊂ℚ⊂ℝ⊂ℂ | 数系(自然·整·有理·实·复) | 𝔽 | 一般数域 |
| x, y, f, T | 变量、函数、变换(斜体) | α, A | 向量、矩阵(粗斜体) |
| ab | 分数、比值(上下两层) | AT, A−1 | 转置、逆(上标) |
此外,本书约定:矩阵用方括号并排,方程组用大括号并排,解集用集合记号;角标数字用上标,如 x2、a3;「等于」在演算中用等号,「同构」用 ≅,二者不混用。凡算法步骤,一律配图,一步一图——这是本书的一条硬规矩。
三条建议
① 动手算。每一页出现算法,都在纸上重演一遍。看懂别人的演算,与自己算对一遍,是两种不同的懂。
② 先问形状。遇到方程组,先别急求解;先问「解集可能是什么形状」。这个习惯会陪走完两册书。
③ 记住那条明线。任何时候迷路了,就问:我正走在从方程到结构的第几级台阶上?
准备好了。翻开第一章,我们从算筹盘上那道「上禾三秉」的题目出发。
两千年前的一个书吏,面对这样一道题:三捆上等谷、两捆中等谷、一捆下等谷,共打粮食三十九斗;两捆上等、三捆中等、一捆下等,共三十四斗;一捆上等、两捆中等、三捆下等,共二十六斗。问三种谷各一捆打多少。
他没有纸,也没有字母。x、y、z 要等一千六百年后才会出现在欧洲的纸上;他手里有的,是一把竹签和一块布。他把每一句话的四个数——三种谷的捆数和一个总斗数——摆成一列,四列并排,摆成三行。然后他开始一列一列地减。
减到最后,最左边一列只剩两个数相除,答案就出来了。
这个动作,本书记作消元。它不是某个天才的灵光一闪,而是一套可以原样交给别人照做的算法——今天在计算机上解一百万个未知数的方程组,用的还是同一套动作,只是换了手:从竹签换成了芯片。
本章路线
① 从布式到算法(1.1–1.7):看清《九章》方程术的每一步动作,给它一个名字——张苍法;
② 从算筹到矩阵(1.8–1.12):把布式改写成增广矩阵,把「一列一列地减」改写成初等行变换,把算法的终点提炼为秩这一个数;
③ 从答案到结构(1.13–1.18):说清解集有几种形状,并把它翻译成几何图像。
《九章算术》全书分九章,共二百四十六题,每题之后附一条「术」。第八章名为「方程」,十八题,专讲多元一次问题的布式解法。
「方程」二字今天已经变成等号的同义词,但在汉代,它是个动词。《九章》注者刘徽解释说:「程,课程也。群物总杂,各列有数,总言其实,令每行为率……并列为行,故谓之方程。」意思是:把混杂在一起的各类物品,各按其数排成一行,「并列为行」,摆成一个方阵的样子,这就是「方程」。
考据注:「并列为行」的「行」与今天的「行」正好相反:《九章》的行是竖排的一列(一个方程占一列),今天我们把这样的竖排叫「列」。读古书时要留意这个翻转。本书正文一律用今天的约定:一个方程占一行,与增广矩阵的写法一致。
布式用的算筹,是一根根竹签。数字怎么摆?《孙子算经》有口诀:「一纵十横,百立千僵,千十相望,万百相当」——个位摆纵式,十位摆横式,百位又摆纵式,纵横交替往下走。每个数字的摆法:一至五按数布筹;六至九用一根「当五」的筹放在上面,下面再摆一至四根。空位不摆筹,就是零。这样横竖一换,读数时便不会串位。
布式的规矩是:右行为先。第一个方程摆在最右边,第二个摆在中间,第三个摆在最左边——与今天从左到右写方程恰好相反。这不是随手为之:右行是「基准」,后面所有的减法都是从右行出发,把它作为标准去消减别的行。这一细节,正是理解「直除」的关键。
现在把《九章》方程章第一题完整地做一遍。布式如下(右、中、左三行,四列分别为上禾、中禾、下禾、实):
| 右行 | 3 | 2 | 1 | 39 |
| 中行 | 2 | 3 | 1 | 34 |
| 左行 | 1 | 2 | 3 | 26 |
术文的第一步是:「以右行上禾遍乘中行,而以直除。」拆开看,这是两个动作。
① 遍乘:用右行第一格的上禾数(3)去乘中行的每一格。中行 (2, 3, 1, 34) 变成 (6, 9, 3, 102)。这一步的目的是把中行的上禾数也变成 3,与右行一致。
② 直除:既然两行的上禾数一样了,就可以用减法把中行的上禾数消掉。中行减去右行的 2 倍(因为原来中行系数 2、右行系数 3,公共倍数 6 需要各乘 2 与 3 才能相消):
| 动作 | 上禾 | 中禾 | 下禾 | 实 |
|---|---|---|---|---|
| 中行 × 3 | 6 | 9 | 3 | 102 |
| 减去 右行 × 2 | −6 | −4 | −2 | −78 |
| 所得新中行 | 0 | 5 | 1 | 24 |
中行的上禾数变成了 0——这一格被「消」掉了。用同样办法处置左行:「又乘其次,亦以直除。」左行 (1, 2, 3, 26) 乘以 3 得 (3, 6, 9, 78),减去右行 1 倍 (3, 2, 1, 39):
| 动作 | 上禾 | 中禾 | 下禾 | 实 |
|---|---|---|---|---|
| 左行 × 3 | 3 | 6 | 9 | 78 |
| 减去 右行 × 1 | −3 | −2 | −1 | −39 |
| 所得新左行 | 0 | 4 | 8 | 39 |
现在盘面上只剩两行还带着上禾之外的数:
| 右行 | 3 | 2 | 1 | 39 |
| 中行 | 0 | 5 | 1 | 24 |
| 左行 | 0 | 4 | 8 | 39 |
术文接着说:「然以中行中禾不尽者遍乘左行,而以直除。」——中行上禾已尽(为 0),就拿中行的中禾数(5)去遍乘左行,再直除。左行 (0, 4, 8, 39) 乘 5 得 (0, 20, 40, 195);中行 (0, 5, 1, 24) 乘 4 得 (0, 20, 4, 96);两式相减:
| 动作 | 中禾 | 下禾 | 实 |
|---|---|---|---|
| 左行 × 5 | 20 | 40 | 195 |
| 减去 中行 × 4 | −20 | −4 | −96 |
| 所得新左行 | 0 | 36 | 99 |
左行只剩一个未知数了:36 z = 99。术文曰:「左方下禾不尽者,上为法,下为实。实即下禾之实。」——上格的 36 叫「法」(除数),下格的 99 叫「实」(被除数),于是
接着是回代:术曰「求中禾,以法乘中行下实,而除下禾之实。余如中禾秉数而一」。用今天的话说,就是把 z 代回中行:
| 步骤 | 算式 | 得数 |
|---|---|---|
| 法 × 中行实 | 36 × 24 = 864 | 864 |
| 减去 下禾之实 ×1 | 864 − 99 = 765 | 765 |
| 除以上格中禾数 5 | 765 ÷ 5 | 153(中禾之实) |
| 如法而一 | 153 ÷ 36 = 174 | 414 斗 |
同样地求上禾:36 × 39 = 1404,减去下禾之实 99 × 1,再减去中禾之实 153 × 2,得 1404 − 99 − 306 = 999;除以 3 得 333;再除以 36:
答案(与《九章》原文一致)
上禾一秉 914 斗,中禾一秉 414 斗,下禾一秉 234 斗。
代回检验:3×9¼ + 2×4¼ + 2¾ = 27¾ + 8½ + 2¾ = 39 ✓ 2×9¼ + 3×4¼ + 2¾ = 18½ + 12¾ + 2¾ = 34 ✓ 9¼ + 2×4¼ + 3×2¾ = 9¼ + 8½ + 8¼ = 26 ✓
把整件事回看一遍:乘一乘、减一减、再乘一乘、减一减,然后从只剩一个未知数的那一行起,一行一行往上代。这就是人类最早的多元一次方程组系统解法,写在两千年前。
上面的题目很「顺」:所有系数都是正数,遍乘之后永远是大数减小数。但《九章》方程章第八题遇到了麻烦:相减时会「不够减」。于是它写下了世界上最早的一组负数运算规则——正负术:
《九章算术》方程章·正负术
「同名相除,异名相益,正无入负之,负无入正之。」
「其异名相除,同名相益,正无入正之,负无入负之。」
前段讲减法:同号则相减(同名相除),异号则相加(异名相益);零减正数得负(正无入负之),零减负数得正(负无入正之)。后段讲加法,规则正好互换。
今天看来这是常识。但在公元一世纪,把「欠」当作一种可以与「有」一起运算的数,是一次观念上的跃进:负数不是「没有」,而是与正数同名同姓、只是方向相反的一员。没有这场跃进,消元算法就只能在「永远够减」的题目里打转。
| 《九章》原文 | 今译(减法 a − b) | 例子 |
|---|---|---|
| 同名相除 | 同号相减,取绝对值之差 | 5 − 3 = 2;(−5) − (−3) = −2 |
| 异名相益 | 异号相加,取绝对值之和 | 2 − (−1) = 3;(−2) − 1 = −3 |
| 正无入负之 | 零减正数得负数 | 0 − 7 = −7 |
| 负无入正之 | 零减负数得正数 | 0 − (−7) = 7 |
把这套规则用在消元上,就出现了「对消」这一动作:当两行的同一格系数异号时,不是相减而是相加,反而消得更干净。看一个最小的例子:
用右行上禾(2)遍乘左行:(2, 2, 10);减去右行 (2, −1, 1):中禾格 2 − (−1) = 3(异名相益),实格 10 − 1 = 9。得 (0, 3, 9),于是 y = 3,回代得 x = 2。
现代接口:正负术给出了「ℤ 是一个环」的全部迹象——加法、减法、零元、相反元,一样不缺。古人在算筹上把这些规则用熟了一千多年,才在十九世纪被抽象为环的公理。算法先于公理,这是数学史上反复出现的节奏。
把两节演算合起来看,《九章》方程术的骨架只有三个动作,本书称为直除三步:
关于「直除」二字,历代注家有不同理解:一说「直除」即「以直除之」,指用减法(筹算中的「直减」)反复相减,直到减不动为止,与欧几里得算法中反复相减求最大公因数如出一辙;一说「直」指直接、径直,「直除」就是直接相减。两说都指向同一动作:把同一格上的两个数相消。本书采用后一种读法,因为它在操作上更直接。
值得留意的是,遍乘与直除合起来,恰好就是今天「用一行的倍数去消去另一行」这一动作的古代版本。区别只在形式:古人为了避分数,宁可把两行都乘上数再减;今天为了省笔墨,直接乘上比值一次减完。形式不同,骨子里的动作一样。
《九章算术》并非一夜写成的书。刘徽在注序中说:
刘徽《九章算术注》序(约 263 年)
「往者暴秦焚书,经术散坏。自时厥后,汉北平侯张苍、大司农中丞耿寿昌皆以善算命世。苍等因旧文之遗残,各称删补。」
秦火之后,典籍散乱。汉代的北平侯张苍、大司农中丞耿寿昌都以擅长算术著名,他们依据残存的旧文,各自作了删削与补充。
张苍(约前 256—前 152),阳武(今河南原阳)人。秦时曾任柱下御史(掌管文书档案),汉初封北平侯,文帝四年(前 176 年)任丞相,在位十余年,享年百余岁。《史记·张丞相列传》说:「汉家言律历者,本之张苍。」——汉代的历法与算学,都奉他为本源。《九章算术》这部书的定型,与他有直接关系(见上图刘徽序),因此本书把这套算法称为「张苍法」;历代传本皆作「张苍」,并无「张仓」的写法。
本书把方程术的这套消元算法称为「张苍法」,理由有三:其一,它确实是《九章》方程章的核心算法,而《九章》的定形与张苍直接相关;其二,用中文名字称呼它,便于在课堂上与「直除」这套古法直接对应,而不必每次绕道西方译名;其三,这个算法比欧洲的同名算法早了一千八百多年,名字里带着它真正的时间坐标。
西方传统把同一算法称为高斯消元法:高斯(C. F. Gauss,1777–1855)在 1809 年出版的《天体运动论》中,用这套方法处理最小二乘与轨道计算,并给出了系统的表述。此后它成为数值线性代数的第一个标准算法。
平心而论:把它叫「高斯消元法」并不算错——高斯确实独立地、系统地把它用于了现代问题。本书的写法是:正文称「张苍法(直除)」,并在需要与现代文献接轨处注明「即高斯消元法」。史实要说清楚,功劳不必争;一个算法能被两个文明各自发现并沿用两千年,本身就是它足够好的证明。
布式的每一列是一个方程,四格里装着三个系数和一个常数。如果只看「格子里的数」,布式与下面的东西完全是一回事:
| 右行 | 3 | 2 | 1 | 39 |
| 中行 | 2 | 3 | 1 | 34 |
| 左行 | 1 | 2 | 3 | 26 |
这个长方体一样的数阵,叫矩阵(matrix);因为它在系数之外还并入了常数项,所以叫增广矩阵(augmented matrix)。竖线左边是系数矩阵,右边是常数项列。
定义 1.1(矩阵与增广矩阵)
由 m 行 n 列的数排成的矩形数阵,称为 m × n 矩阵;第 i 行第 j 列的数 aij 称为它的元素。
含 n 个未知数、m 个方程的线性方程组
可以只用数阵来记:Ab,其中 A = (aij) 叫系数矩阵,b = (b1, …, bm)T 叫常数项列。若 b = 0,方程组称为齐次的,否则称为非齐次的。
把布式改写成增广矩阵,看起来只是换了个写法,其实发生了一件大事:未知数的名字被丢掉了。原本「上禾、中禾、下禾」是有含义的名字,现在它们只是第 1、2、3 列;解方程组的全部信息,被压缩进了这张数阵里。这一步「去名存数」,正是矩阵语言的起点——从此我们面对的不再是「关于谷物的三个问题」,而是一张可以整体搬动、整体变换的数表。
现代接口:丢掉未知数名字这件事,在数学上叫「把方程组看作一个线性映射的表示」。矩阵 A 记录的是「各个未知数怎样组合」这件事本身,与它们叫什么无关。当在第五章学到「线性映射」时,这一页——不是在学一个新概念,而是在给这张数表配上它真正的身份。
《九章》在算筹盘上的动作,全是「对整行做事」:把一行乘上某个数、把两行相减。这些动作搬到增广矩阵上,就是初等行变换。它们一共三种:
定义 1.2(三种初等行变换)
① 换行(记作 Ri ↔ Rj):交换第 i 行与第 j 行;
② 倍乘(记作 Ri × k,k ≠ 0):把第 i 行的每个元素乘上同一个非零数;
③ 消去(记作 Rj + k Ri):把第 i 行的 k 倍加到第 j 行上。
定理 1.1(行变换不改变解集)
若方程组 (Ⅰ) 经过若干次初等行变换变成方程组 (Ⅱ),则 (Ⅰ) 与 (Ⅱ) 的解集完全相同。
证明要点:三种变换都不改变解集,逐一说明。① 换行:把两个方程的位置调换,联立条件显然不变。② 倍乘:把方程两边同乘非零数 k,等式仍成立;由于 k ≠ 0,这个动作可以撤销(再乘 1/k),故新旧方程组互为推出关系。③ 消去:设 x 满足原方程组,则 Ri(x) = 0 与 Rj(x) = 0(这里把方程写成「左端减右端=0」),于是 Rj(x) + k Ri(x) = 0,即新行也成立;反过来,新方程组可由原方程组经 Rj − k Ri 还原。故解集相同。∎
「可撤销」这三个字是全部要害。一个操作如果不改变解集、又能被撤销,那么它只是在换一种说法描述同一件事——不变量被它保住了。本书后面会反复用到这个想法:秩不变、行列式按规则变、特征多项式不变,都是同一句「不变量」的不同说法。
三种变换里,第三种最好用,因为它一次就能把某个位置变成 0。它的两个最常用特例是:
《九章》的「直除」正是减法这一特例;而「遍乘」是倍乘这一特例。也就是说,两千年前算筹盘上的两个动作,恰好就是今天两种初等行变换的古代形态。
三种变换还有一个共同的性质:每一个都可以撤销,而且撤销它用的还是同一类变换。
| 变换 | 写法 | 逆变换 | 属于同类? |
|---|---|---|---|
| 换行 | Ri ↔ Rj | Ri ↔ Rj(再做一次) | 是 |
| 倍乘 | Ri × k(k ≠ 0) | Ri × (1/k) | 是 |
| 消去 | Rj + k Ri | Rj − k Ri | 是 |
「可撤销」这件事值得起一个名字。若矩阵 A 能经过有限次初等行变换变成 B,就说 A 与 B 行等价,记作 A ∼ B。
定理 1.2(行等价是等价关系)
① 自反:A ∼ A(一次变换都不做);
② 对称:若 A ∼ B,则 B ∼ A(把每次变换用它的逆变换撤回去);
③ 传递:若 A ∼ B 且 B ∼ C,则 A ∼ C(把两次的过程接起来)。
现代接口:「等价关系」是抽象代数的第一课,而它在这里已经自然出现了。一个等价关系把集合分成若干类(这里:把矩阵按「能否互相行变换得到」分成若干类),每一类里挑一个最简的代表(这里:简化阶梯形),就能把整类研究清楚。本书第 1.11 节要做的「把矩阵化成简化阶梯形」,本质上就是给每个等价类挑一个标准代表。这套「等价关系 → 分类 → 标准形」的思路,会在下册若尔当标准形一章达到高峰。
消元不能乱消,要消成一个规矩的形状。这个形状叫阶梯形:一行一行看下来,每行的第一个非零数(叫主元)逐行往右退,像一道阶梯。
定义 1.3(阶梯形与简化阶梯形)
一个矩阵称为阶梯形(row echelon form),若:
① 全为 0 的行(零行)全部排在下方;
② 每行的第一个非零元素(主元)所在的列,严格在上一行主元所在列的右边。
若还满足:③ 每个主元都等于 1;④ 每个主元所在列的其他元素全为 0——则称为简化阶梯形(reduced row echelon form,简称 RREF)。
为什么偏爱简化阶梯形?因为它一步到位地把答案写出来了。看上面的右图,三行分别是 x1 = 1、x2 = 3、x3 = 2——不必回代,直接读出。
定理 1.3(简化阶梯形的唯一性)
每个矩阵都行等价于唯一的简化阶梯形。
证明思路:存在性由消元算法保证(第 1.12 节的算法 1.1 就是构造)。唯一性的要害在于:化简所得矩阵的主元列位置,由原矩阵唯一决定——因为「主元列」就是那些不能由它左边各列线性表出的列(这个刻画将在第四章用「线性相关」的语言正式给出)。主元列一定,各行数值也就被原矩阵唯一确定。故简化阶梯形唯一。∎
「唯一」二字的分量:它意味着简化阶梯形可以当作矩阵的身份证——两个矩阵行等价,当且仅当它们有同一个简化阶梯形。这正是 1.10 节说的「给每个等价类挑一个标准代表」。
把矩阵化成阶梯形之后,数一数有几个主元,就得到整个方程组最重要的一个数。
定义 1.4(秩)
矩阵 A 的秩(rank),记作 r(A) 或 rank A,定义为 A 的阶梯形中非零行的行数,也就是主元的个数。
秩之所以重要,是因为它在行变换之下不变:初等行变换只是换一种说法描述同一件事,它不会凭空造出或消灭一个主元。这正是我们想要的那种「不变量」。
定理 1.4(相容性判据)
线性方程组 A x = b 有解,当且仅当 r(A) = r(Ab)。
证明:把增广矩阵化成阶梯形。若某一行形如 (0 0 ⋯ 0 | d) 且 d ≠ 0,该行对应的方程是 0 = d,不可能成立,故无解;此时该行在系数部分全为 0、在常数列非 0,所以 r(Ab) = r(A) + 1 > r(A)。反之,若 r(A) = r(Ab),则阶梯形中不会出现 (0 ⋯ 0 | d ≠ 0) 这样的行,于是每个主元都可以从最下面一行起逐个解出,故有解。∎
有了这个判据,「有没有解」这件事就变成了「比较两个数」——这比逐题去试要快得多,也深刻得多。它还提示了一个更根本的看法:无解的根源不是「数不够」,而是方程之间自相矛盾,矛盾与否,恰好被秩这个数捕捉到了。
历史注:《九章》方程章的题目都是「方程个数=未知数个数」且解唯一的。古人当然知道会有「解不出」的情况(比如「盈不足」章处理的就是另一类问题),但把「有解与无解」提炼成一个数的比较(r(A) 与 r(Ab)),是现代线性代数才完成的。这一步的代价是抽象,收益是彻底。
做主元的位置定了,剩下的列就是「没人管」的列。它们的未知数可以任意取值,别的未知数则被主元方程唯一决定。
定义 1.5(主元未知量与自由未知量)
设 n 元方程组 A x = b 的系数矩阵秩为 r。在阶梯形中,主元所在的列对应的未知数称为主元未知量(共 r 个);其余 n − r 个未知数称为自由未知量。
「自由度」这个词不是修辞。自由未知量取一组值,就得到一组解;取两组不同的值,就得到两组不同的解。所以:
定理 1.5(解的自由度)
若 A x = b 有解且 r(A) = r,未知数个数为 n,则解集中含有 n − r 个自由参数;特别地,
· r = n 时解唯一;
· r < n 时有无穷多解。
拿第 1.4 节那道题对一下:n = 3(上、中、下禾),阶梯形有三个主元,r = 3,于是自由度 n − r = 0,解唯一——正是《九章》给出唯一的三个答案。
方法论旁注:做题时,先算 r 再动笔,能省下大量力气。它一句话就说明:「这道题有唯一解、无穷多解,还是无解。」先算不变量,再算具体值——这是本书希望养成的第一个习惯。
有无穷多解时,怎样把解「写出来」?办法是:先找出一个解,再找出「差」的全貌。
设 x0 是 A x = b 的一个解(称为特解)。若 x 也是解,则 A(x − x0) = A x − A x0 = b − b = 0——也就是说,两个解之差一定是齐次方程组 A y = 0 的解。反过来,任何 x0 + η(η 是齐次解)都是 A x = b 的解。于是:
定理 1.6(解集结构定理)
若 A x = b 有解,x0 是它的一个特解,则它的全部解恰为
用这个定理写答案,格式是:通解 = 特解 + 自由未知量的线性组合。以第 1.13 节的例子(x1 + x2 − x3 = 1,2x1 + 3x2 − x3 = 3)为例:取自由未知量 x3 = t,得
那个 (0, 1, 0) 是一个特解,(2, −1, 1) 是齐次解集的方向。几何上,这是一条过 (0,1,0) 而方向为 (2,−1,1) 的直线——正是图 1-9 画的样子。
现代接口:定理 1.6 在第五章会被重写为一句更有力的话——「解集是核空间的一个陪集」。到那时可以看到,这个关于方程组的结论,其实是「同态基本定理」的一个特例。
齐次方程组 A x = 0 是一类特殊的方程组:它的右端全是 0。它有两个显著的好处。
第一,它永远有解——零向量 0 = (0, …, 0) 一定满足。这个解叫零解,其他的解叫非零解。于是「有解」不再是问题,问题变成「有没有非零解」。
第二,它的解集对加法与数乘封闭。设 η1、η2 都是解,则
也就是说,两个解加起来还是解,一个解乘上任意数还是解。这样一个「对加法与数乘封闭」的集合,正是第四章要正式定义的子空间。齐次方程组的解集因此称为解空间。
定义 1.6(基础解系)
若齐次方程组 A x = 0(r(A) = r < n)的解空间有 n − r 个解 ξ1, …, ξn−r,满足:① 它们彼此线性无关;② 方程组的每个解都能由它们线性表出——则称它们为一个基础解系。
于是通解写作 η = c1ξ1 + ⋯ + cn−rξn−r,其中 c1, …, cn−r 为任意常数。
为什么基础解系里恰好有 n − r 个向量?直觉是这样的:把自由未知量交替换成 1(其余取 0),就得到 n − r 个解,它们正好把「自由」的那几个方向各占一个。它们线性无关,而且其他解都能由它们拼出来——这就构成了基础解系。第 13 页的例 7 会把它算一遍。
现代接口:齐次解空间在第五章有一个正式的名字——核(kernel),记作 ker A。那时我们会看到:dim ker A = n − r 这条公式,就是著名的「秩定理」的一半。
现在可以把整章的结论收成一句话了。对 n 元线性方程组 A x = b,只有三种命运:
定理 1.7(三种解况)
记 r = r(A),r′ = r(Ab),未知数个数为 n。则:
① r < r′:无解。阶梯形中出现 (0 ⋯ 0 | d ≠ 0) 的矛盾行。
② r = r′ = n:唯一解。主元铺满所有未知数列,没有自由未知量。
③ r = r′ < n:无穷多解,含 n − r 个自由参数。
这张图与定理的三种情形对照着记:秩的两种数决定几何的三种形。当 r = r′ 时一定有解,而且「有几维自由」被 n − r 精确规定了;当 r < r′ 时一定无解。这比逐个检查方程要有效得多。
顺便得到一个常用的推论:方程个数少于未知数个数时,齐次方程组必有非零解。因为此时 r ≤ m < n,必有 n − r > 0,自由未知量多于零个,于是有非零解。这个结论(「矮胖的齐次方程组必有非零解」)在后面的章节里会用很多次。
到目前为止,我们一直在「代数」这一侧操作数阵。现在换一副眼光:把一组解 (x1, …, xn) 看成 n 维空间 ℝn 中的一个点。那么一个方程是什么?
先看最熟悉的两种情形:
两种情形有一个共同的名字:超平面。在 ℝn 中,一个(非平凡)一次方程的解集叫一个 n − 1 维的超平面——它比整个空间低一维。
垂直于超平面的那个方向,由系数 (a1, …, an) 决定,称为法向量。法向量指向哪边,超平面就朝哪边「立」起来;右端的 b 决定它离原点多远。这样,一个方程被翻译成了一句几何话:
一句话翻译
方程 a1x1 + ⋯ + anxn = b ⟺ 「在这条法向量方向上的投影等于 b 的那些点」,即一个超平面。
当 b = 0 时,超平面过原点,成为第四章要定义的子空间(齐次解空间);当 b ≠ 0 时,它不过原点,只是一张「平移过去」的平面。
现代接口:过原点与不过原点,这点差别正是向量空间与仿射空间的分界。齐次方程组的解集是向量子空间(过原点),非齐次的是仿射子空间(不过原点)。下册第 12 章将专门处理这件事——那时可以发现,本章的定理 1.6(特解+齐次解)其实就是「仿射空间=一点+方向子空间」的最早形态。
一个方程是一个超平面,那么整个方程组是什么?是「同时满足所有方程」——也就是把好几个超平面求交。于是定理 1.7 的三种解况,立刻有了几何的模样(以三个平面为例):
注意第三种情形:三个平面可以两两相交(每两个交出一条直线),却没有公共点。图里用三条斜线表示三个平面与截面的交线——它们围出一个三角形,谁也没碰上谁。这就是「看似每个方程都有解,合起来却无解」的几何图像,也正是定理 1.4 所说的 r(A) < r(Ab)。
把本章的两副面孔并排放在一起:
| 代数说法 | 几何说法 |
|---|---|
| 一个方程 | 一个超平面 |
| 方程组 | 若干超平面求交 |
| r(A) = r(Ab) = n | 交于一点(唯一解) |
| r(A) = r(Ab) < n | 交成 n − r 维的仿射子空间 |
| r(A) < r(Ab) | 无公共点 |
| 齐次解空间(过原点) | 过原点的子空间 |
| 特解 + 齐次解 | 平移后的仿射子空间 |
本章小结:一条明线走出了三步——算(《九章》直除)、记(增广矩阵)、看(秩与几何)。下一步(第二章)要把「记」的那张数表正式对象化:它会变成一个可以相加、可以相乘、可以求逆的东西。到那时,「消元」就不只是一套动作,而是一门语言。
题 解方程组 2x + y = 5, x + 3y = 10,要求按「直除三步」写出每一步。
布式(右行为先):
| 右行 | 2 | 1 | 5 |
| 左行 | 1 | 3 | 10 |
① 遍乘:用右行的首数 2 遍乘左行,把左行首数也变成 2:(1, 3, 10) × 2 = (2, 6, 20)。
② 直除:减去右行的 1 倍 (2, 1, 5):
| 动作 | x 系数 | y 系数 | 实 |
|---|---|---|---|
| 左行 × 2 | 2 | 6 | 20 |
| 减去 右行 × 1 | −2 | −1 | −5 |
| 新左行 | 0 | 5 | 15 |
于是 5y = 15,得 y = 3。
③ 回代:把 y = 3 代回右行 2x + y = 5,得 2x = 5 − 3 = 2,故 x = 1。
答 x = 1,y = 3。检验:2×1 + 3 = 5 ✓ 1 + 3×3 = 10 ✓
要点:遍乘的目的是「把两个首数变成同一个数」,直除的目的是「相减归零」。这两步合起来,就消掉了一个未知数。每一次消元,方程组就少一个未知数。
题 用矩阵语言重做《九章》方程第一题,并复核答案。
解 写出增广矩阵,然后用初等行变换化阶梯形。为避免分数,先把第一行与第三行交换(这是《九章》「右行为先」的手工版:把首数最小的行提上来,后续减法就不必通分):
| 步骤 | 矩阵 |
|---|---|
| 原增广矩阵 | 321392313412326 |
| R1 ↔ R3 | 123262313432139 |
| R2 − 2R1,R3 − 3R1 | 123260−1−5−180−4−8−39 |
| R2 × (−1) | 12326015180−4−8−39 |
| R3 + 4R2 | 1232601518001233 |
现在回代:由第三行 12z = 33,得
由第二行 y + 5z = 18:y = 18 − 5 × 114 = 18 − 554 = 174 = 414。
由第一行 x + 2y + 3z = 26:x = 26 − 2 × 174 − 3 × 114 = 26 − 344 − 334 = 374 = 914。
答 x = 914,y = 414,z = 234,与《九章》原文完全一致。
对照 1.3–1.4 节的古法:古法用「通分再减」避免分数,现代手法允许分数直接相减。哪种更快?答:小题目古法不慢,题目一大(几百个未知数)现代手法明显占优——因为它的每一步都是「一行减另一行的倍数」,可以用机器批量执行。算法的优劣,往往要到规模上去才看得出来。
题 解 2x − y = 1, x + y = 5。指出哪一步用到了正负术。
解 布式(右行=第一式):
| 右行 | 2 | −1 | 1 |
| 左行 | 1 | 1 | 5 |
用右行首数 2 遍乘左行:(1, 1, 5) × 2 = (2, 2, 10)。减去右行 1 倍 (2, −1, 1):
| 动作 | x 系数 | y 系数 | 实 | 用到的规则 |
|---|---|---|---|---|
| 左行 × 2 | 2 | 2 | 10 | 倍乘 |
| 减去 右行 × 1 | 2 − 2 = 0 | 2 − (−1) = 3 | 10 − 1 = 9 | 异名相益 |
关键在第二格:本来是「2 − (−1)」,两个数异号,按正负术「异名相益」,应当相加,得 3。于是新左行是 (0, 3, 9),即 3y = 9,y = 3。
回代:x + y = 5,得 x = 2。
答 x = 2,y = 3。检验:2×2 − 3 = 1 ✓ 2 + 3 = 5 ✓
观察:因为系数异号,相减反而变成了相加,消元一步就干净了。「对消」这个词正由此而来——两数相向而行,同归于零。做题时若见到异号系数,不妨直接把两个方程相加,往往比先通分更快。
题 把下面的增广矩阵化为简化阶梯形,并写出解。
解 逐步消元,每一步都注明所用的行变换(Ri 表示第 i 行):
| 步骤 | 变换后的矩阵 |
|---|---|
| 起始 | 1111102−11−1−112−116−112−13 |
| R2 − 2R1 | 0−3−1−3−21 |
| R3 − R1 | 01−20−4 |
| R4 + R1 | 023013 |
| R2 ↔ R3(换行使主元为 1) | 01−20−40−3−1−3−21023013 |
| R3 + 3R2 | 00−7−3−33 |
| R4 − 2R2 | 007021 |
| R4 + R3 | 000−3−12 |
阶梯形为
回代:−3x4 = −12 ⟹ x4 = 4;−7x3 − 3×4 = −33 ⟹ −7x3 = −21 ⟹ x3 = 3;x2 − 2×3 = −4 ⟹ x2 = 2;x1 + 2 + 3 + 4 = 10 ⟹ x1 = 1。
答 (x1, x2, x3, x4) = (1, 2, 3, 4)。四个主元,r = 4 = n,故解唯一。
验算:第一式 1+2+3+4 = 10 ✓;第二式 2 −2 +3 −4 = −1 ✓;第三式 1 +4 −3 +4 = 6 ✓;第四式 −1 +2 +6 −4 = 3 ✓
题 已知 x + y = 3,2x + y = 4。分别讨论 3x + 2y = c 中 c = 7 与 c = 8 时方程组是否有解。
解 前两式的解是 (x, y) = (1, 2)。把它代入第三式:
· c = 7 时,3×1 + 2×2 = 7,恰好成立。此时
· c = 8 时,3×1 + 2×2 = 7 ≠ 8,矛盾。用矩阵看更清楚:
| 步骤 | 矩阵 |
|---|---|
| 增广矩阵 | 113214328 |
| R2 − 2R1,R3 − 3R1 | 1130−1−20−1−1 |
| R3 − R2 | 1130−1−2001 |
最后一行是 (0 0 | 1),即 0 = 1——矛盾行。此时系数矩阵秩为 2,而增广矩阵秩升为 3:r(A) = 2 < 3 = r(Ab),无解。
答 c = 7 时有唯一解;c = 8 时无解。
要点:「有没有解」这件事,只看两个秩是否相等。不要急着去解——先比较 r(A) 与 r(Ab),一步就能定性。这是本题真正想教的习惯。
题 解 x1 + x2 − x3 = 1, 2x1 + 3x2 − x3 = 3,并写出通解。
解 增广矩阵消元:
| 步骤 | 矩阵 |
|---|---|
| 起始 | 11−1123−13 |
| R2 − 2R1 | 11−110111 |
这里 r(A) = r(Ab) = 2 < n = 3,故有无穷多解,含 n − r = 1 个自由参数。取主元落在第 1、2 列,自由未知量是 x3。令 x3 = t:由第二行 x2 = 1 − t;再由第一行
于是通解
答 特解 (0, 1, 0),齐次方向 (2, −1, 1);解集是 ℝ3 中过 (0,1,0)、方向 (2,−1,1) 的一条直线。
验算(取 t = −5/2):(x1, x2, x3) = (−5, 7/2, −5/2),则 −5 + 7/2 + 5/2 = 1 ✓,2(−5) + 3(7/2) + 5/2 = −10 + 21/2 + 5/2 = 3 ✓
题 求齐次方程组 x1 + x2 + x3 + x4 = 0, x1 − x2 + x3 − x4 = 0 的一个基础解系。
解 系数矩阵消元:R2 − R1 得 (0, −2, 0, −2),即等价于 x2 + x4 = 0。于是阶梯形为
自由未知量为 x3、x4(共 n − r = 4 − 2 = 2 个)。把它们交替换成 1(其余取 0),求出对应的主元未知量:
| 取法 | x2 | x1 | 得到的解 |
|---|---|---|---|
| x3 = 1,x4 = 0 | 由 x2 = −x4 = 0 | 由 x1 = −x2 − x3 − x4 = −1 | ξ1 = (1, 0, −1, 0)(同乘 −1 化简) |
| x3 = 0,x4 = 1 | 由 x2 = −1 | 由 x1 = −x2 − x3 − x4 = 0 | ξ2 = (0, 1, 0, −1) |
答 基础解系为 ξ1 = (1, 0, −1, 0)T,ξ2 = (0, 1, 0, −1)T;通解
验算:ξ1:1+0+(−1)+0 = 0 ✓,1 − 0 +(−1) − 0 = 0 ✓;ξ2:0+1+0+(−1) = 0 ✓,0 − 1 + 0 −(−1) = 0 ✓。任意组合 (c1, c2, −c1, −c2) 也都满足两式。
方法论旁注:基础解系不是唯一的(把 ξ1 换成 ξ1 + ξ2 还是一个基础解系),但它的个数唯一,等于 n − r。这就是齐次解空间的维数——「解集的自由度」。
题 讨论 λ 取何值时,方程组
有唯一解、有无穷多解、无解。
解 系数矩阵的行列式为
① 唯一解:det A ≠ 0,即 λ ≠ 1 且 λ ≠ −2。此时 r(A) = r(Ab) = 3 = n,解唯一(可用克拉默法则或直接消元求出)。
② λ = 1:三个方程全都化为 x + y + z = 1,此时
通解为 (x, y, z) = (1, 0, 0) + s(−1, 1, 0) + t(−1, 0, 1)。
③ λ = −2:三式相加。左端系数之和为
而右端之和为 1 + (−2) + 4 = 3 ≠ 0。于是「0 = 3」,矛盾。此时 r(A) = 2 < 3 = r(Ab),无解。
答 λ ≠ 1, −2 时唯一解;λ = 1 时无穷多解(二维解空间);λ = −2 时无解。
这道题有一个重要教训:det A = 0 并不能推出无解。当 det A = 0 时,|无解与无穷多解两种情况都可能出现,必须再比较 r(A) 与 r(Ab)。这是初学者最容易踩的坑——第三章学完行列式后,回来重看这一页。
题 判断下面两组方程所对应的三个平面的位置关系。
(甲) x + y = 2,x + z = 2,2x + y + z = 4; (乙) x + y + z = 1,x − y + 2z = 2,2x + 3z = 4。
解(甲) 第三个方程恰是前两个之和(系数与常数都对应相加:1+1 = 2,1+0 = 1,0+1 = 1,2+2 = 4)。故
解之:由前两式得 y = 2 − x,z = 2 − x。令 x = 1 + t,则
三个平面交于过 (1,1,1)、方向 (1,−1,−1) 的一条直线。
解(乙) 第三式的系数是前两式系数之和(1+1 = 2,1+(−1) = 0,1+2 = 3),但常数 1 + 2 = 3 ≠ 4。于是
几何上,这三个平面两两相交(每两条交线都存在),却没有公共点——它们围成一个「三棱柱」的形状(见图 1-13 右)。
答 (甲) 三平面交于一条直线(无穷多解);(乙) 三平面两两相交但无公共点(无解)。
判断窍门:看第三个方程是不是前两个的线性组合。若系数是,常数也是 → 无穷多解;系数是而常数不是 → 无解。这正是「秩」在几何上的样子。
题 设 A = 1234。写出「把第二行减去第一行的 3 倍」这个变换所对应的矩阵 E,并验证 EA 正是变换后的矩阵。
解 对单位矩阵 I 做同样的行变换,得到的矩阵就是 E:
验证:
而直接对 A 做该行变换:1234 → 第二行减第一行 3 倍 → 120−2。两者一致。
答 E = 10−31,且 EA 恰为变换后的矩阵。
这个现象对三种行变换都成立:对 A 做一次初等行变换,等于在左边乘上一个对应的矩阵 E——这样的 E 叫初等矩阵。
现代接口:为什么是「左乘」?因为行变换作用在「行」上,而左乘正好按行重新组合。这个观察将在第二章被写成一个漂亮的等式:消元的全过程 = 一串初等矩阵相乘;而这一串的乘积是不是可逆,正好回答了「消元能不能倒着走」——这就是逆矩阵的来历。此外,「用别的东西去乘 A 得到 A 的另一种表示」这一句式,正是态射复合的雏形。
题 用初等行变换求 A = 123253108 的逆矩阵。
解 在 A 右边接上单位矩阵,得到 3×6 的增广矩阵 AI,然后只用行变换把左边化归成 I:
| 步骤 | 矩阵 |
|---|---|
| 起始 | 123100253010108001 |
| R2 − 2R1,R3 − R1 | 12310001−3−2100−25−101 |
| R3 + 2R2 | 12310001−3−21000−1−521 |
| R3 × (−1) | 12310001−3−2100015−2−1 |
| R1 − 3R3,R2 + 3R3 | 120−146301013−5−30015−2−1 |
| R1 − 2R2 | 100−4016901013−5−30015−2−1 |
左边已成单位矩阵,右边就是所求的逆:
验算 A A−1 的第一行第一列:1×(−40) + 2×13 + 3×5 = −40 + 26 + 15 = 1 ✓;第一行第二列:1×16 + 2×(−5) + 3×(−2) = 16 − 10 − 6 = 0 ✓。逐格验算都给出单位矩阵。
注意:若在化归过程中左边出现了全零行,说明 A 不可逆(r(A) < n),此时逆不存在。求逆的过程本身就顺带判定了可逆性——这也是第二章的一条重要结论。
题 求下面五元循环方程组的解:
解(一)整体相加法。把五个方程全部相加。左边每一对相邻未知数各出现一次,故左边等于 2(x1 + x2 + x3 + x4 + x5);右边等于 1 + 2 + 3 + 4 + 5 = 15。于是
再用「总和减去相邻两数」的办法逐个求出。由第一式 x1 + x2 = 1,得 x3 + x4 + x5 = 7.5 − 1 = 6.5;而 x4 + x5 = 4,故 x3 = 2.5。依次:
| 未知数 | 算式 | 值 |
|---|---|---|
| x3 | (总和 − (x1+x2)) − (x4+x5)? 用 x2+x3 = 2 逐步递推 | 5/2 |
| x2 | 由 x2 + x3 = 2 | −1/2 |
| x1 | 由 x1 + x2 = 1 | 3/2 |
| x4 | 由 x3 + x4 = 3 | 1/2 |
| x5 | 由 x4 + x5 = 4 | 7/2 |
答 (x1, x2, x3, x4, x5) = (32, −12, 52, 12, 72)。
验算:3/2 − 1/2 = 1 ✓ −1/2 + 5/2 = 2 ✓ 5/2 + 1/2 = 3 ✓ 1/2 + 7/2 = 4 ✓ 7/2 + 3/2 = 5 ✓
解(二)老老实实消元。本题是五元五式,秩为 5,解唯一,所以两种办法必然得到同一答案。但:如果未知数个数改成偶数(例如六元循环),整体相加会给出 2Σ = 奇数,立刻看出无解——而盲目消元可能要算很久才发现。
方法论旁注:这类「循环结构」的方程组有一个漂亮的对称性可以利用。先看结构,再动笔,是本章最想教的一件事;而「看出结构」的能力,正是从本章走向第四章(空间与结构)的桥。
本课练习布式与「遍乘—直除—回代」三动作。每题都写出布式,标出每一步用了哪个动作。
1. 用直除三步解 x + y = 5,2x − y = 4。
提示:用右行首数 2 遍乘左行,再减去右行,得 3y = 6。答:x = 3,y = 2。
2. 解 2x + 3y = 13,4x − y = 5。
提示:先把第二式整行加第一式(或消去 x)。答:x = 2,y = 3。
3. 解 5x + 2y = 24,3x − 2y = 8。本题两式的 y 系数异号,说明为什么「相加」比「通分再减」更快。
答:两式相加直接得 8x = 32,故 x = 4,y = 2。异号系数相加即消元(正负术「异名相益」)。
4. 把下面的布式写成方程组(注意右行为先,四列依次为 x, y, z 的系数与实):右 (2, 1, 3 | 20),中 (1, 3, 1 | 13),左 (3, 1, 2 | 19)。
答:2x + y + 3z = 20;x + 3y + z = 14;3x + y + 2z = 19。(此组方程的解为 x = 3,y = 2,z = 4,可自行验证。)
5. 为什么《九章》一定要「遍乘」之后才「直除」?直接相减会碰到什么困难?
答:两行首数不同,直接相减无法归零。遍乘的目的是把首数凑成同一个公共倍数;古代避分数,故宁可两行都乘。
1. 按正负术计算:(−5) − (−3);2 − (−7);0 − 6;(−3) − 0。
答:−2;9;−6;−3。分别用到「同名相除」「异名相益」「正无入负之」「同名相除」。
2. 用消元法解 x − 2y = −3,3x + y = 5,并指出哪一步是「异名相益」。
提示:R2 − 3R1 时 y 格为 1 − 3×(−2) = 7。答:x = 1,y = 2。
3. 「正无入负之」这句话在方程术里对应什么情形?举一例。
答:某格本来为 0,减去一个正数后变成负数,例如 0 − 5 = −5。这保证了消元过程中不会「减不动」。
4. 判断对错并说明理由:「负数只是记号,不参与运算。」
答:错。正负术给出了负数的加减法则,说明负数与正数一样是可以运算的数;把它当作记号的看法属于更早的阶段。
5. 现代接口:正负术涉及 ℤ 的哪几条运算性质?(提示:加法、相反元、零元。)
答:加法交换律与结合律、零元 0、每个数 a 有相反元 −a,且 a + (−a) = 0——这正是「ℤ 是环」的全部要点。
1. 写出方程组 2x1 − x2 + 3x3 = 1,x1 + x3 = 2 的增广矩阵,并指出它的阶数。
答:2−1311012,是 2×4 矩阵(系数部分为 2×3)。第二式中 x2 的系数为 0,必须补上。
2. 由增广矩阵 123014 还原方程组并求解。
答:x + 2y = 3,y = 4,故 y = 4,x = −5。
3. 判断下列方程组是否齐次:① x + y = 0;② 2x − y = 1;③ x1 + x2 + x3 = 0。
答:①③ 齐次(常数项全为 0),② 非齐次。
4. 为什么说「写成增广矩阵」意味着「丢掉了未知数的名字」?这对解题有什么好处?
答:矩阵里只剩系数与常数,未知数只按列位置区分(第几列=第几个未知数)。好处是可以整体搬动整行,不必反复抄写字母,且便于机器批量执行。
5. 一个 m 个方程、n 个未知数的方程组,其增广矩阵是什么阶数?
答:m × (n + 1)。
1. 对 2−1311012 依次做 R1 ↔ R2 与 R2 − 2R1,写出结果。
答:交换后 10122−131;再 R2 − 2R1 得 10120−11−3。
2. 写出下列各变换的逆变换:① R2 ↔ R3;② R1 × 5;③ R3 + 7R2。
答:① R2 ↔ R3(自身);② R1 × (1/5);③ R3 − 7R2。
3. 判断 1234 与 120−2 是否行等价,并说明理由。
答:行等价。R2 − 3R1 就得到后者;反过来用 R2 + 3R1 可还原。
4. 验证「行等价」满足自反、对称、传递三条性质。
提示:自反=一次变换都不做;对称=用逆变换倒着做;传递=把两次变换的过程首尾相接。三条都成立,故它是等价关系。
5. 为什么三种初等行变换都不会改变方程组的解集?出核心论证。(提示:可撤销。)
答:每种变换都有同类的逆变换(见第 2 题),故新旧方程组可以互相推出;互相推出 ⟹ 解集相同。
1. 下列矩阵哪些是阶梯形?哪些是简化阶梯形?
① 123001;② 102013;③ 012103;④ 120000。
答:① 阶梯形;② 简化阶梯形;③ 既不是(首元没有逐行右移);④ 阶梯形。
2. 把 11131−111 化为简化阶梯形。
答:R2 − R1 得 0−20−2,乘 −1/2 得 0101;再 R1 − R2 得 10120101。
3. 承上题,写出通解。
答:x1 + x3 = 2,x2 = 1,故 (x1, x2, x3) = (2, 1, 0) + t(−1, 0, 1)。
4. 一个矩阵的简化阶梯形唯一,而普通阶梯形不唯一——为什么?(提示:举两个不同的阶梯形是行等价的。)
答:如 1201 与 1202 都是阶梯形且行等价(后者乘 1/2),但不相同。阶梯形只要求「主元逐行右移」,未要求主元为 1、列内其余为 0,故不唯一。
5. 主元的位置由什么决定?
提示:由原矩阵唯一决定——主元列就是那些「不能由左边各列线性表出」的列(详见第四章)。
1. 求秩:① 123246111;② 111123135。
答:① R2 − 2R1 得全零行,r = 2;② R2 − R1 = (0,1,2),R3 − R1 = (0,2,4) = 2R2,r = 2。
2. 判断方程组是否有解:x + y + z = 1,2x + 2y + 2z = 3。
答:R2 − 2R1 = (0 0 0 | 1),r(A) = 1 < 2 = r(Ab),无解。
3. 证明:对 m×n 矩阵,r(A) ≤ min(m, n)。
提示:非零行数不超过总行数 m,故 r ≤ m;又每个主元占一列且各列不同,故 r ≤ n。
4. 设 A 是 3×3 矩阵且 r(A) = 2。A x = b 解的情形有几种可能?
答:两种——若 r(Ab) = 2 则无穷多解(1 个自由参数);若 r(Ab) = 3 则无解。不可能有唯一解。
5. 已知 x1 + x2 = 1,x1 − x2 = 3,判断 2x1 + 3x2 = a 何时相容。
提示:前两式给出 x1 = 2,x2 = −1,代入得 a = 4 − 3 = 1。即 a = 1 时相容,否则无解。
1. 求 x1 + x2 + x3 = 3,x1 − x2 + x3 = 1 的通解。
答:两式相加得 x1 + x3 = 2,相减得 x2 = 1。通解 (2 − t, 1, t),即 (2,1,0) + t(−1,0,1)。
2. 若一个 4 元方程组有无穷多解且解集含 2 个自由参数,则 r(A) 等于多少?
答:n − r = 2,n = 4,故 r = 2。
3. 写出上题方程组的一个特解与齐次解集的方向(若方程组为 x1 + 2x2 + 3x3 + 4x4 = 1)。
答:特解可取 (1, 0, 0, 0);齐次方向为 (−2, 1, 0, 0)、(−3, 0, 1, 0)、(−4, 0, 0, 1)。
4. 为什么「两个解之差是齐次解」?出推导。
答:设 x, x′ 都是 Ax = b 的解,则 A(x − x′) = Ax − Ax′ = b − b = 0,故之差是齐次解。
5. 判断题:无穷多解时,解集的形状一定是「直线」。
答:错。自由参数有几个,就张开几维:1 个参数是直线,2 个参数是平面,一般地是 n − r 维的仿射子空间。
1. 求 x1 + 2x2 − x3 = 0,2x1 + x2 + x3 = 0 的基础解系。
答:R2 − 2R1 = (0, −3, 3),故 x2 = x3,x1 = −x3。基础解系 {(−1, 1, 1)},维数 1。
2. 齐次方程组一定有解吗?一定有非零解吗?
答:一定有解(零解)。但不一定有非零解——当 r(A) = n 时只有零解。
3. 证明:方程个数 m 小于未知数个数 n 的齐次方程组必有非零解。
提示:r(A) ≤ m < n,故 n − r > 0,存在自由未知量,取它非零即得非零解。
4. 齐次解集为什么对加法与数乘封闭?这个性质在第四章叫什么?
答:A(η1+η2) = 0,A(kη) = 0。这样的集合叫子空间(这里是解空间,第五章称核)。
5. 基础解系是否唯一?它的个数是否唯一?
答:基础解系不唯一(可作线性替换),但所含向量个数唯一,等于 n − r。
1. 讨论 a:x + y + z = 1,2x + 3y + az = 3,x + ay + 3z = 2。
提示:系数行列式 = a(3 − a)。答:a ≠ 0, 3 时唯一解;a = 0 与 a = 3 时均无解(消元后出现 (0 0 0 | c ≠ 0))。
2. 讨论 k:x + y = 1,kx + y = 2。
答:k ≠ 1 时唯一解 (1/(1−k), −k/(1−k));k = 1 时第一式与第二式矛盾(1 = 2),无解。此题不可能出现无穷多解。
3. 齐次方程组 x + y + kz = 0,x + ky + z = 0,kx + y + z = 0 何时有非零解?
提示:系数行列式 = −(k − 1)2(k + 2)。答:k = 1 或 k = −2 时有非零解;其余情形只有零解。
4. 由第 1、3 题总结:det A = 0 能推出什么?不能推出什么?
答:能推出「解不唯一」(无解或无穷多解);不能推出「无解」,也不能推出「无穷多解」——必须再比较 r(A) 与 r(Ab)。
5. 几何解释:第 2 题中 k = 1 时两条直线的位置关系是什么?
答:两条平行而不重合的直线(x + y = 1 与 x + y = 2),故无交点。
1. 判断两条直线的位置关系:① x + y = 1,2x + 2y = 2;② x + y = 1,2x + 2y = 3;③ x + y = 1,x − y = 3。
答:① 重合(无穷多解);② 平行不重合(无解);③ 交于一点 (2, −1)。
2. 三个平面 z = 0,z = 1,x + y + z = 2 有公共点吗?
答:没有。z = 0 与 z = 1 就是两个平行平面,方程组不相容,无解。
3. 一个三元方程组只有两个方程,其解集在 ℝ3 中是什么形状?
答:两个平面(一般位置)相交成一条直线——故解集是 1 维仿射子空间,含 1 个自由参数。
4. 在 ℝ4 中,方程 x1 + x2 + x3 + x4 = 0 的解集是几维的?它叫什么?
答:3 维,是 ℝ4 中的一个超平面(过原点者即子空间)。
5. 用几何语言重述定理 1.6(解集结构定理)。
答:非齐次方程组的解集,是把齐次解空间(过原点的子空间)沿某个特解平移过去的仿射子空间;平移向量不同,集合也不同,但方向子空间只有一个。
1. 解方程组并写出通解:x1 + 2x2 + 3x3 = 6,2x1 + 3x2 + x3 = 7,3x1 + x2 + 2x3 = 8。
提示:三式相加得 6(x1 + x2 + x3) = 21,即 Σx = 3.5,再逐式相减。答:(x1, x2, x3) = (116, 56, 56)。
2. 已知 A 为 4×5 矩阵,r(A) = 3。问 A x = b 有多少个自由参数(若有解)?齐次方程组 A x = 0 的解空间几维?
答:n − r = 5 − 3 = 2 个自由参数;齐次解空间 2 维。
3. 证明 n 元齐次方程组若 r(A) < n,则任意两个解的和仍是解,且任一解的 k 倍仍是解。
提示:直接按定义计算 A(η1+η2) 与 A(kη);这就是「解集是子空间」的证明。
4. 用一行文字概括本章:从「术」到「秩」,中间经过了哪几步?
答:布式(术)→ 增广矩阵(记)→ 初等行变换(干)→ 阶梯形(形)→ 主元与秩(数)→ 解集结构(理)。
5. 开放题:如果让把「张苍法」教给一台只会做加、减、乘、除的机器,会写成哪几条指令?(仿《九章》术文的写法。)
参考:① 找到最左边未处理的列;② 若该列全为 0,移到下一列;③ 用换行把该列非零的数移到当前行;④ 用消去把本行以下该列全部变 0;⑤ 若还有下一列则回到 ①;⑥ 检查有无 (0 ⋯ 0 | d ≠ 0);⑦ 自下而上回代。
做完本章全部习题之后,花二十分钟,把下面的表填一遍。填表本身就是最好的复习。
| 错误类型 | 典型表现 | 纠正要点 | 本章对应页 |
|---|---|---|---|
| 动作错 | 遍乘时漏乘常数项 | 整行一起乘,「实」也是数 | 1.3 / 例1 |
| 符号错 | 异号相减时忘记「异名相益」 | 异号一律相加 | 1.5 / 例3 |
| 判据错 | 见 det A = 0 就写「无解」 | 必须比较两个秩 | 例8 / 习题九 |
| 结构错 | 把自由未知量的个数算错 | 自由度数 = n − r | 1.13 / 例6 |
| 表述错 | 通解写成「一列数值」 | 通解必须写成「特解 + 齐次组合」 | 1.14 / 例6 |
章复盘三问
① 能不能算:随便给一个三元方程组,我能不能在五分钟内判断它有唯一解、无穷多解还是无解?
② 能不能说:我能不能用一句话说清「秩」是什么,以及它为什么是解集的「不变量」?
③ 能不能连:我能不能把本章的「布式—矩阵—秩」这一串,连到《九章》的原文与几何图像上,各举一例?
三问都能答上,再进入第二章。若有一问答不上,回到对应的页重读一遍——不要带着漏洞往前走,因为第二章会把本章的一切正式对象化,漏洞在那里会放大。
《九章算术》的方程章写道:「以右行上禾遍乘中行而以直除。」这一句话里没有一个字母,没有一条公理,却把一个可以无条件交给别人照做的方法交代完了。两千年前的书吏照它做,两千年后的在纸上照它做,今天的计算机也照它做——只是计算机每秒做十亿次。
这就是算法的品格:它不依赖做的人是否聪明,只依赖做的人是否听话。数学史上,能把一件事写成「术」的时刻,往往比证明它更重要——因为写成了术,这件事就离开了发明者的头脑,成为公共财产。
札记一
一、古代的那一端。《九章》方程术的三个动作(遍乘、直除、回代),合起来解决了一类问题:方程个数等于未知数个数、且解唯一。它的边界很清楚——古人没有处理「无解」与「无穷多解」的系统语言。
二、中间的一千八百年。宋元数学家把「递推」这一思路推到极致:贾宪的「增乘开方法」把开方也变成了一套可递推的程序(十一世纪),比西方同类方法早约七百年。「增乘」二字,说的正是「一次次乘上去,一层层减下来」——与「遍乘直除」的精神完全一致。
三、现代的这一端。1809 年高斯把消元法用于天体轨道计算,此后它成为数值线性代数的第一个标准算法。今天,当用手机算一个有上千个变量的最小二乘问题,底层跑的仍是「逐列消去」。三千年过去了,动的只是手,不是心。
与现代数学的接口
① 算法的不变量:消元过程千变万化,但「秩」永远是那个数。这一「过程变、本质不变」的模式,是本书全部内容的骨架。
② 复杂度的视角:现代数学不仅问「能不能算」,还问「要算多久」。n 元方程组的标准消元需要约 n3/3 次乘法,这个数字在第二章「实验」页会亲手测一遍。
③ 从算法到结构:消元法把「解方程」变成「做行变换」;而一旦把行变换看作可乘的对象,我们就从算法走进了结构(第二章)。
四、给留的三问。① 如果《九章》的作者能看到矩阵,他会用哪个词称呼「秩」?② 消元法有没有「更好」的版本?(提示:想想能不能只消到差不多就停。)③ 一个算法被两个文明各自发现,说明了算法具有什么性质?
秩不是一个算出来的东西,而是一个数出来的东西:数主元的个数。这样一个如此简单的计数,却能精确定住一个方程组的全部命运——有解无解、解集的维数、解的个数。数学里最深刻的量,往往就是这样数出来的。
秩的思想在二十世纪长成了一整套语言:矩阵的秩、映射的秩、群的秩、自由模的秩……同一个词被用在许多地方,因为它们背后是同一种追问:这个对象「有多少个独立的方向」?
札记二
一、秩的三副面孔。在本章,秩是「主元的个数」;在第四章,秩会变成「像空间的维数」;在第五章,秩会变成「线性映射的秩」——三者是同一个数。这种「一个数、多种说法」的现象,是本书反复出现的主题:找到不变量,然后反复换角度看它。
二、为什么它不变。初等行变换只做三件事:换位置、同乘非零数、两行相消。它们都不会让一个「独立的方向」变成「不独立的」,也不会反过来。所以秩是不变量。一个量是不是不变量,要看它在允许的操作下变不变——这句话在后两册会以「群作用下的不变量」的面貌再次出现。
三、从计数到分类。有了秩,矩阵就能初步分类:m×n 矩阵按秩分成 min(m,n)+1 类,秩相同者互为行等价(这一结论将在第二章的「等价标准形」里完成)。分类问题的第一步,永远是找到不变量。
与现代数学的接口
① 概念史:秩(rank)一词最早出自十九世纪对二次型与行列式的研究(Sylvester、Frobenius 等人),但它的实际使用早在《九章》的「直除」里就有了雏形——古人不知道自己在数主元,却在数。
② 前置预告:秩定理 dim V = dim ker φ + dim im φ(第五章)把本章的 n − r 提升为一条普遍公式。
③ 跨学科:数据科学中的「降维」「主成分」、图像压缩中的「低秩近似」,用的都是同一个数的现代版本。
四、给留的三问。① 一个矩阵的秩,能不能完全由它的行列式信息决定?(提示:子式。)② 「独立方向」这个说法,怎样才算说得严格?③ 如果允许的操作换一组(例如只准换行、不准倍乘),秩还会不变吗?
本章的知识图谱,可以画成四个层次。它们与自己做的习题一一对上号。
方法表:拿到一个线性方程组,按这个次序做。
| 步 | 动作 | 目的 |
|---|---|---|
| 1 | 写出增广矩阵 Ab(缺项补 0) | 把问题变成数表 |
| 2 | 用初等行变换化到阶梯形 | 看清主元的个数与位置 |
| 3 | 比较 r(A) 与 r(Ab) | 判定:无解 / 有解 |
| 4 | 有解时数自由未知量,得 n − r | 判定:唯一解 / 无穷多解 |
| 5 | (需要时)继续化到简化阶梯形或回代 | 把解写出来 |
| 6 | 通解写成「特解 + 齐次组合」 | 把解集的结构写清楚 |
做题的次序很重要。先在阶梯形上做判定(第 3、4 步),最后才做回代(第 5 步)——许多学生一上来就急着回代,结果算到一半才发现题目无解,白白费力。这与《九章》的次序是一样的:先「遍乘直除」把形状弄出来,再「回代」收尾。
消元法的精髓,一句话就能说完:用不改变答案的操作,把问题一点一点变简单。
这句话超出了线性方程组。多项式求根时的因式分解、解方程时的变量替换、几何证明中的辅助线、算法设计里的分治——它们的共同点都是:不改变目标,只改变形式。数学就是在这种「转形不转义」的动作里前进的。
思想卡
为什么第一原则是它?因为它是唯一一个既有古代实例、又能无限延伸的原则。它有三个特点,使它足够当得起「第一」:
它在后续各章的位置。第二章:把「行操作」升级为「矩阵乘法」;第三章:把「解何时唯一」升级为「行列式」;第四章:把「解集的形状」升级为「子空间」;第五章:把「解方程组」升级为「求原像」。每一章都在做同一件事:给消元这个动作,配上更合适的语言。
这个动作的形状:找一个可以消掉的东西,消掉它,然后重来。当在第五章看到「同态基本定理」时,这张卡——那也是「消掉核,剩下的就同构」。
《九章算术》方程章共十八题。下面四题按方程章的题型仿拟(数字已化为今式),都是「方程个数=未知数个数」的标准型。「张苍法」复原全过程,并仿《九章》的写法留下「术」。
挑战 1.(对称型)4x + y = 100,x + 4y = 100。
答:x = y = 20。此题结构对称,可用「两式相加」得快解:5(x + y) = 200 ⟹ x + y = 40,再与任一式联立。
挑战 2.(全列等和型)4x + 3y + 2z = 100,3x + 4y + 2z = 100,2x + 2y + 5z = 100。
提示:三列系数之和都是 9,故三式相加得 9(x + y + z) = 300 ⟹ x + y + z = 100/3;再用任一式相减,可得 x = y = z。答:x = y = z = 1009(《九章》以分数表示)。
挑战 3.(正负术型)2x + y = 9,x − 2y = −3。
答:x = 3,y = 3。第二式的负系数正是「正负术」出现的原因:消元时要用「异名相益」。
挑战 4.(三元全系数型)x + 2y + 3z = 20,2x + y + 3z = 22,3x + 2y + z = 24。
提示:三式相加得 6(x + y + z) = 66 ⟹ x + y + z = 11,再逐式相减。答:x = 5,y = 3,z = 3(回代验证:20 / 22 / 24 全对)。
竞赛要求:① 每题都要写出布式;② 至少一题要用「遍乘—直除」古法,不许直接用现代消元;③ 最后把四个答案与《九章》原文核对,并做一次回代检验。做完这一组,就把「张苍法」真正走了一遍。
这一页不要求算出数值,而要求想清楚。四个问题,可以讨论、可以写短文。
问题 1. 步数。解一个 n 元 n 式方程组,消元大约需要多少次乘法?把估算法写成公式,并解释为什么是「大约 n3/3」。
提示:第一列要消掉 n−1 行,每行约 n 次乘;第二列 n−2 行,每行约 n 次乘……总数约 n(n−1)(n+1)/3 ≈ n3/3。
问题 2. 更省的办法。如果方程组右端只有一个常数列(而不是许多列),有没有办法把回代也省掉?(提示:想想「简化阶梯形」与直接读答案。)
提示:把矩阵化为简化阶梯形(RREF),解可以直接读出,不必回代。代价是消元时还要往上消一遍,总步数略增,但节省了回代的组织的麻烦,且便于批处理。
问题 3. 不许换行行不行?如果禁止使用「换行」这一操作,会出现什么麻烦?(提示:想想主元位置上恰好是 0 的情形。)
提示:若某列当前行的元素为 0 而下面有非零元素,不换行就无法继续消元。故换行是保证算法「总能走下去」的必要保障。
问题 4. 三千年后的比较。《九章》为避免分数而采用「遍乘」,现代算法却允许分数。分析:在古代算筹上,分数会带来什么实际困难?这一选择如何影响了算法的写法?
提示:算筹上分数的分母分子要另布一处,通分、约分都要另占版面与手序,极易出错;故古人宁可「多乘几次」换取「不出现分数」。这说明算法的形态受制于它的实施工具。
讨论提示:这四问没有唯一正确答案,但要能说出理由。第四章「实验」页会真的跑一遍,用数据检验估计。
本章的算法可以写成十几行程序。照着下面的伪代码实现一遍(用熟悉的任何语言),然后完成三个测量。
算法 1.1(张苍法 / 直除—消元)
输入:增广矩阵 M(m 行,n+1 列),当前处理行 r = 1。
① 从左到右找第一个「第 r 行及其下方」存在非零元素的列 c;若不存在,转到 ④。
② 把该列里第 r 行以下第一个非零元素所在的行换到第 r 行(换行)。
③ 对 i = r+1, …, m:令 k = M[i][c] / M[r][c],做 Ri − k Rr(消去)。计一次乘法。然后 r ← r+1,回到 ①。
④ 若 r <= m,则检查第 r 行以下是否有形如 (0 ⋯ 0 | d ≠ 0) 的行:有则输出「无解」。
⑤ 自下而上回代(回代),每个主元行解出一个未知数。
测量一:步数。对 n = 10, 20, 40, 80 的随机 n×n 方程组,统计「消去步」中乘法执行的次数,与理论值 n3/3 比较。
| n | 实测乘法次数(约) | 理论值 n3/3 | 比值 |
|---|---|---|---|
| 10 | 333 | ||
| 20 | 2667 | ||
| 40 | 21333 | ||
| 80 | 170667 |
测量二:精度。用浮点数与用有理数(分数)做同一道题,比较结果的误差。想一想:《九章》为什么宁可用分数?(提示:算筹上不会「舍入」,但会「通分爆炸」。)
测量三:失败情形。构造一个无解的方程组,检查程序能否在第 ④ 步正确报出「无解」;再构造一个有无穷多解的,检查它是否正确地留下了自由未知量。
实验报告要求:三张表、一段结论、一句疑问。注意:能跑通不算完,能解释才算完。把实测次数与 n3/3 的偏差说清楚——是常数因子、还是量级不同?
(满分 100 分,建议 60 分钟闭卷)
一、填空(每空 5 分,共 30 分)
1. 《九章算术》方程章的消元算法由三步组成:__、__、__。
2. 增广矩阵 Ab 的系数部分有 m 行 n 列,则常数项列有__列,整个矩阵是__阶。
3. 方程组 Ax = b 有解,当且仅当 r(A) = __。
4. 若 n 元方程组有无穷多解且 r(A) = r,则自由参数有__个。
参考答案:1. 遍乘、直除、回代;2. 1,m×(n+1);3. r(Ab);4. n − r。
二、计算(20 分)解方程组并写出通解:x1 + 2x2 + x3 = 4,2x1 + x2 − x3 = 1。
参考:R2 − 2R1 = (0, −3, −3 | −7),即 x2 + x3 = 7/3;x1 = 4 − 2x2 − x3。取 x3 = t,通解 (4 − 2(7/3 − t) − t, 7/3 − t, t) = (−2/3 + t, 7/3 − t, t)。
三、判定(20 分)已知 A 为 3×4 矩阵,r(A) = 2。就 r(Ab) 的取值,讨论 Ax = b 的解的情形。
参考:r(Ab) = 2 时有无穷多解(n − r = 2 个自由参数);r(Ab) = 3 时无解。(r(Ab) 不可能小于 2,也不可能大于 3。)
四、论证(30 分)证明:设 x0 是 Ax = b 的一个解,则 Ax = b 的全部解恰为 x0 + η(η 取遍 Ay = 0 的解)。
参考:两向包含。① 若 Aη = 0,则 A(x0+η) = b + 0 = b;② 若 Ax = b,令 η = x − x0,则 Aη = b − b = 0,故 x = x0 + η。∎
评讲要点:第一大题考记忆与约定,第二、三题考判定流程(先秩后解),第四题考结构。若第四题写不出「两个方向都要证」,说明还没有真正理解解集的结构——回到 1.14 节重读一遍。
上一章结束时,我们手里剩下的东西是这样一块盘面:
| 3 | 2 | 1 | 39 |
| 0 | 5 | 1 | 24 |
| 0 | 0 | 36 | 99 |
回看整个消元过程,有两点值得停下来想一想。第一,无论中间怎么乘、怎么减,这块盘面的形状始终没变——一直是三行。第二,被动手脚的那些数,本身属于「谷的捆数」和「总斗数」,可算法从头到尾没有用过「谷」这个概念:它只知道「第一格的数、第二格的数」。
换句话说,算法真正处理的对象,并不是谷,而是一个按位置排列的数表。既然如此,我们就不必等着一道应用题出现才动笔——可以把这个数表本身当作一个数学对象来研究,给它一个名字,研究它自己有哪些运算、哪些性质。
这个对象叫矩阵(matrix)。名字来自拉丁语,意思是「母体」:1850 年前后,西尔维斯特(J. J. Sylvester)需要一个词来称呼「行列式从其中生出来的那个数表」,便借了这个词。真正把矩阵当作独立对象并定义它自己的乘法,是凯莱(A. Cayley)1858 年的长文《矩阵论备忘录》。中文译名很讲究:矩是木匠画方格的曲尺,阵是队列——一个管「格子」,一个管「排布」。
本章路线
① 立对象(2.1–2.3):定义矩阵、相等、加法与数乘,把它认成𝔽上的向量空间;
② 立乘法(2.4–2.8):从「复合两次变换」逼出乘法规则,讨论结合律、非交换、转置、分块;
③ 立逆与秩(2.9–2.14):单位矩阵、逆矩阵、高斯—若尔当求逆、可逆的等价刻画、秩的两种面孔;
④ 立结构(2.15–2.18):初等矩阵、等价标准形、矩阵环与一般线性群、以及「矩阵乘法就是态射的复合」这一现代接口。
定义 2.1(矩阵) 设 m, n 是正整数,𝔽 是数域。把 m·n 个数排成 m 行 n 列的矩形数表,称为 𝔽 上的一个 m × n 矩阵:
A =[aij]m × n, aij ∈ 𝔽(1 ≤ i ≤ m,1 ≤ j ≤ n)。
全体 m × n 矩阵的集合记作 Mm×n(𝔽)。当 m = n 时称为 方阵,n 称为它的 阶;Mn(𝔽) 即 n 阶方阵之集。所有元素为 0 的矩阵记作 O(或 Om×n),称为 零矩阵。把 A 的每个元素取相反数,得 负矩阵 −A。
记号 aij 里,第一个下标是行号,第二个是列号。这一点不要与「矩阵的型 m × n」混淆:m × n 是先说行数、后说列数,与下标顺序一致。一个 m × n 矩阵的第 i 行是一个 1 × n 矩阵,第 j 列是一个 m × 1 矩阵,分别称为 行向量与列向量。本书一律把向量写成列向量。
定义 2.2(相等) 两个矩阵相等,是指它们同型(行数相同、列数相同)且对应位置的元素全相等。同型是前提:一个 2 × 3 矩阵与一个 3 × 2 矩阵谈不上相等或不相等。
为什么要强调「同型」?因为本章的对象是「有形状的东西」。一个对象的第一个属性就是它的形状;把「形状」写进定义,后面所有运算都必须先过这一关——这正是矩阵语言严谨性的起点。
最自然的两个运算是「两个同型矩阵相加」与「把矩阵按倍数放大」。它们恰好对应消元过程中的两种动作:把两次「相加」叠在一起,把一次「相乘」放大若干倍。
定义 2.3(矩阵加法) 设 A = [aij],B = [bij] 同为 m × n 矩阵。规定
A + B = [aij + bij]。
定义 2.4(数乘) 设 λ ∈ 𝔽,规定
λA = [λ aij]。
两个定义都只有一句话:逐位进行。所以加法与数乘的运算律,全部可以从数域 𝔽 上的同名运算律「逐位搬过来」。
定理 2.1 (Mm×n(𝔽),加法,数乘)构成数域 𝔽 上的一个向量空间。具体地说,对任意 A, B, C ∈ Mm×n(𝔽) 与 λ, μ ∈ 𝔽:
| 编号 | 律 | 为什么成立 |
|---|---|---|
| (1) | A + B = B + A | 逐位加法交换 |
| (2) | (A + B) + C = A + (B + C) | 逐位加法结合 |
| (3) | A + O = A | 同位数加零不变 |
| (4) | A + (−A) = O | 同位数加相反数得零 |
| (5) | λ(A + B) = λA + λB | 分配律逐位成立 |
| (6) | (λ + μ)A = λA + μA | 分配律逐位成立 |
| (7) | λ(μA) = (λμ)A | 乘法结合逐位成立 |
| (8) | 1 · A = A | 1 逐位乘不变 |
八条律全部验毕,故 Mm×n(𝔽) 是 𝔽 上的向量空间。
现代接口:定理 2.1 是本册第一次出现「向量空间」这个词。它出现的姿态:不是先从公理定义的抽象对象出发,而是先有一堆具体的数表,再发现八条律都成立,才把它认成一个向量空间。第四章将反过来,从八条律出发定义向量空间——那时会知道,为什么「先见面,后命名」的顺序更易学,而「先命名,后见面」的顺序更易推。
加法可以逐位,乘法为什么不也逐位?因为矩阵的乘法不是为「数表」发明的,而是为「复合」发明的。先看一个具体场景。
设一道题里的未知量是 x1, x2。第一步变换把它们变成 y1, y2:
y1 = 5x1 + 6x2, y2 = 7x1 + 8x2;
第二步变换再把 y 变成 z:
z1 = y1 + 2y2, z2 = 3y1 + 4y2。
如果写成矩阵,两次变换分别是 B =5678与 A =1234。现在问:能不能直接把「x 到 z」写成一块表?把 y 代入即可:
z1 = (5x1 + 6x2) + 2(7x1 + 8x2) = 19x1 + 22x2,
z2 = 3(5x1 + 6x2) + 4(7x1 + 8x2) = 43x1 + 50x2。
结果这块表是19224350。它和 A、B 的逐位乘积5122132完全不同。可见如果希望「表的乘法」对应「变换的复合」,乘法规则就只能有一种——就是下面这一条。
定义 2.5(矩阵乘法) 设 A = [aik] 是 m × s 矩阵,B = [bkj] 是 s × n 矩阵。规定乘积 AB 是 m × n 矩阵 C = [cij],其中
cij = ai1b1j + ai2b2j + ⋯ + aisbsj = Σk=1s aikbkj。
口诀:A 的第 i 行「碰」B 的第 j 列,得 C 的第 (i, j) 位。
型必须对上:(m × s)·(s × n) = m × n。左边矩阵的列数必须等于右边矩阵的行数,这个中间数 s 在结果里「消失」了。所以 AB 有意义并不保证 BA 有意义——这一点在例题 1 里有型检查表。
注意图 2-4 里被高亮的三个色块共一个下标对 (i, j):A 的第 i 行、B 的第 j 列、C 的 (i, j) 位。整条乘法规则的全部内容,就是这「三点共线」。
把 2.4 的例子抽象一下。一个 m × n 矩阵 A 可以看作一台机器:喂进一个 n 维列向量 x,吐出一个 m 维列向量 Ax。这正是第一章里「增广矩阵」做的事:系数块 A 把未知量列 x 变成「左边那一列」,再加上常数列 b,就是整个方程组。
定义 2.6(矩阵诱导的映射) 设 A ∈ Mm×n(𝔽)。规定
fA: 𝔽n → 𝔽m, fA(x) = Ax,
其中 Ax 按定义 2.5 计算(把 x 看作 n × 1 矩阵)。
现在设 A 是 m × s 矩阵、B 是 s × n 矩阵。那么 fB 把 𝔽n 送进 𝔽s,fA 再把 𝔽s 送到 𝔽m,两者可以接起来:
𝔽n —fB→ 𝔽s —fA→ 𝔽m, x ↦ Bx ↦ A(Bx)。
把括号展开,A(Bx) = (AB)x = fAB(x)。左边这个等式正是乘法结合律的特例(2.6 节将证明它对一般矩阵成立)。于是我们得到一句非常重要的话:
乘法即复合 fA ∘ fB = fAB。
「先做 B,再做 A」这台机器,就是「乘 AB」这台机器。
顺便解释一个初学者最常见的困惑:为什么 AB 表示「先 B 后 A」,读起来是反的?因为函数复合本来就写作 (A ∘ B)(x) = A(B(x)):紧贴 x 的那个先动手。矩阵乘法只是这个书写习惯的搬运工。次序不是「反」,是函数记号的次序。
再看一个例子,说明次序为什么真的有内容。在平面 ℝ2 上取
R =0−110(逆时针转 90°), S =1101(沿水平方向剪切)。
计算得
RS =0−111, SR =1−110, RS ≠ SR。
先剪切再旋转,与先旋转再剪切,得到的是两个不同的变换。这不是计算的疏忽,而是几何的事实——下一节把它写成一条定理。
定理 2.2(结合律) 设 A ∈ Mm×s(𝔽),B ∈ Ms×t(𝔽),C ∈ Mt×n(𝔽),则
(AB)C = A(BC)。
证明 两边都是 m × n 矩阵,只需比第 (i, j) 位。(AB)C 的该位是 Σk (Σl ailblk) ckj,A(BC) 的该位是 Σl ail (Σk blkckj)。两者都等于有限和 Σk,l ailblkckj——只是把「先对 l 求和」与「先对 k 求和」换了顺序。有限求和可以换序,故两边相等。∎
证明只用了两件事:有限求和的换序,以及数域上乘法的结合律。这也提示了结合律的「真身」:它是机器串联天然可结合的代数影子——三台机器串起来,先接前两台还是先接后两台,结果当然一样。
定理 2.3(非交换性与零因子的存在)
(1)矩阵乘法一般不可交换:存在 A, B 使 AB ≠ BA。
(2)存在零因子:存在 A ≠ O、B ≠ O 而 AB = O。
(3)无消去律:AB = AC 且 A ≠ O,不能推出 B = C。
证明 (1)取 2.5 节的 R, S,已算出 RS ≠ SR。(2)取 A =0100,B =1000,则 AB = O。(3)由(2)取 A 如(2)中的 A,B = O,C =1000,则 AB = O = AC 而 B ≠ C。∎
把三条放在一起看,得到的是一句「负面结论」:Mn(𝔽) 不是我们熟悉的那种东西——不是域(有零因子),不能随便约分。但负面结论的另一面就是正面结论:正因为乘法不交换,它才能装下「次序有内容」的现象(旋转与剪切、下节会讲的欧氏变换群)。2.17 节会为它找到正确的名字:环,而且是有零因子的非交换含幺环。
定义 2.7(转置) 设 A = [aij]∈ Mm×n(𝔽)。把 A 的行换成同号的列,所得 n × m 矩阵称为 A 的转置,记作 At:
At = [aji]n×m,即 (At)ij = aji。
几何上,转置就是沿主对角线(从左上到右下那条)翻折。主对角线本身被翻折到自身,所以对角线上的元素不动,a12 与 a21 互换,依此类推。
定理 2.4(转置的运算律) 设型号使下列运算有意义,则
(1)(At)t = A; (2)(A + B)t = At + Bt; (3)(λA)t = λAt;
(4)(AB)t = BtAt——注意次序颠倒。
证明(4) 左边是 n × m 矩阵,右边也是。左边第 (i, j) 位是 (AB) 的第 (j, i) 位,即 Σk ajkbki;右边第 (i, j) 位是 Bt 第 i 行碰 At 第 j 列,即 Σk (bt)ik(at)kj = Σk bkiakj。两者逐项相等(乘法的可交换性在 𝔽 里仍可用)。∎
定义 2.8(对称与反对称) 设 A 为 n 阶方阵。若 At = A,称 A 为对称矩阵;若 At = −A,称 A 为反对称矩阵(此时对角线元素必为 0)。
一个随手可得的例子:对任意 m × n 矩阵 A,AAt 与 AtA 都是对称矩阵。因为由定理 2.4(4),(AAt)t = (At)tAt = AAt。这个结论在下册欧氏空间与二次型两章都要用:对称矩阵是度量与二次形式的载体。
现代接口 (·)t: Mm×n(𝔽) → Mn×m(𝔽) 是一个向量空间的同构,但它把乘法反过来:(AB)t = BtAt。这种「保持结构但颠倒复合」的映射,在范畴论里叫反变的。转置是本书遇到的第一个反变构造;下册讲对偶空间时还会遇见它。
一块大的矩阵,如果用几条横线和几条竖线切开,就得到若干小块;把每小块当作一个「元素」,得到的是一块以矩阵为元素的矩阵。
定义 2.9(分块) 把 m × n 矩阵 A 用横线、竖线分成若干小矩阵 Aαβ,称为 A 的一个分块,写作 A = [Aαβ]。每个 Aαβ 称为一个块。
分块的意义在于:把大的对象拆成小的对象,让「结构中重复出现的图案」显形。特别地,当分块一致时,加、数乘与乘法都可以照原样在块上执行:
定理 2.5(分块运算的合法性) 设 A = [Aαβ]、B = [Bαβ] 分块方式相同,则 A + B = [Aαβ + Bαβ]、λA = [λAαβ]。
设 A 的列切法与 B 的行切法一致(即能相乘),则
AB = [Σγ AαγBγβ]。
理由 每一项 Σγ AαγBγβ 是原来那串数的一个「分组求和」;分组不改变总和。型也对得上:块的列数等于块的行数,故块乘法有意义。∎
分块乘法最常见的用途,是把「三角块」矩阵当作一个「数」来用。看这个恒等式:
| I | O |
| A | I |
| I | B |
| O | I |
| I | B |
| A | I + AB |
右下角:它不是 AB,而是 I + AB。因为右下块由 A·B + I·I 两项相加得到。这个「多出来的 I」是本知识点最经典的陷阱,例题 2 与习题课三都会回头检查它。
分块是本书最实用的技术之一。它让「把 n 阶问题拆成几个小阶问题」成为可能:准对角块矩阵的行列式等于各块之积,准对角块矩阵的逆等于各块之逆——这类结论在第三章与下册若尔当标准形中会反复出现。技术上更值得注意的是:分块乘法与普通乘法在形式上完全同形,这正是「以对象为元素」这种做法的威力。
我们熟悉的数里有一个特殊角色:1。乘任何数都不改变那个数。矩阵世界里也有这样一个角色。
定义 2.10(单位矩阵) n 阶方阵 In = [δij] 称为 n 阶单位矩阵,其中
δij = 1(若 i = j), δij = 0(若 i ≠ j)。
记号 δij 称为克罗内克(L. Kronecker)符号。若 λIn(λ ∈ 𝔽),称为 数量矩阵:对角线上全是 λ,其余位置全是 0。
定理 2.6 设 A ∈ Mm×n(𝔽),则
(1)AIn = A,ImA = A——单位矩阵充当乘法的「1」;
(2)数量矩阵与任何同阶方阵可交换:(λI)A = A(λI) = λA。
证明 (1)AIn 的第 (i, j) 位是 Σk aikδkj;由于只有 k = j 时 δkj = 1,求和只剩一项 aij。(2)由数乘的定义与(1)立刻得到。∎
有了单位矩阵,就可以像讨论数的多项式一样讨论矩阵的多项式。设 A 为 n 阶方阵,
f(A) = a0I + a1A + a2A2 + ⋯ + amAm。
这里常数项必须写成 a0I 而不能写成 a0——一个数不能与一个矩阵相加。又因为 A 的各次幂彼此可交换(ApAq = Ap+q = AqAp),同一个 A 的任意两个多项式必定可交换:
f(A)g(A) = g(A)f(A)。
看一个漂亮的例子:取 A =0−110(转 90°)。直接计算得
A2 = −I, A3 = −A, A4 = I。
于是这个 A 的任何幂都可以降到 3 次以下:A4k+r = Ar。这与中学里 i2 = −1 的降次完全是一个道理——事实上 A 生成的就是一个与复数乘法同构的代数系统。「存在次数最低的非零多项式使 f(A) = O」这件事,会在下册被系统研究(最小多项式与若尔当标准形)。
现代接口 In 的存在使 Mn(𝔽) 成为一个含幺环;而「哪些方阵有乘法逆」这个问题,会切出一个特别的子集 GLn(𝔽),它在乘法下构成群(2.17 节)。Mn 里所有形如 λI 的矩阵与每个元素都可交换,它们构成这个环的中心。环、群、中心——这些抽象代数的名词第一次在本册成串出现,而它们都不是硬塞进来的,是被「解方程组」这件事自己逼出来的。
在数的世界里,3 有倒数 1/3,所以方程 3x = b 有唯一解 x = b/3。矩阵世界里对应的问题是:方程 AX = B 能否像除法一样解出来?
定义 2.11(逆矩阵) 设 A 为 n 阶方阵。若存在 n 阶方阵 B 使
AB = BA = In,
则称 A 可逆(非奇异),B 称为 A 的逆矩阵,记作 A−1。不可逆的方阵称为奇异矩阵。
定理 2.7(逆的唯一性与运算律)
(1)唯一性:可逆矩阵的逆矩阵唯一。
(2)(A−1)−1 = A; (3)(λA)−1 = λ−1A−1(λ ≠ 0);
(4)(AB)−1 = B−1A−1(次序颠倒); (5)(At)−1 = (A−1)t。
证明 (1)设 B、C 都是 A 的逆,则 B = BI = B(AC) = (BA)C = IC = C。(4)用结合律验证 (AB)(B−1A−1) = A(BB−1)A−1 = AA−1 = I,另一边同理。∎
2 阶方阵的逆有一个可以直接背下来的公式(第三章将给出它的来源):
A =abcd, A−1 = 1ad − bcd−b−ca(要求 ad − bc ≠ 0)。
公式的关键在那个分母 ad − bc:它是 2 阶行列式,等于 0 时逆矩阵不存在。至于为什么恰好是它——那是第三章的主题。先看一个不可逆的例子:A =1111。它的两行相同,两列也相同;无论乘什么矩阵,两个分量永远相等,不可能得到 I 中 (1,1) 与 (2,1) 位一个为 1 一个为 0 的样子。
〔明线〕把第一章的话翻译过来:消元能一路做到最简形 I,就是矩阵可逆。回顾第一章:系数矩阵 A 若能化到单位矩阵,那么每一列都出现了主元,没有自由未知量,方程组恰有唯一解。所以「可逆」不是新概念,它是「消元顺利到底」这件事的代数名字。
既然「化到 I」是一件可以逐步做的事,那么反过来问:能不能一边化 A,一边把所用的每一步都记录下来?记录下来的这串操作,恰好就是 A−1。这就是本章最实用的算法。
算法 2.1(高斯—若尔当求逆法) 设 A 为 n 阶方阵。作 n × 2n 矩阵 [A | I],对其只作初等行变换。若能把左半块化为 I,形如
[A | I] → [I | X],
则 A 可逆且 X = A−1;若左半块出现整行全零,则 A 不可逆。
算法为什么成立 初等行变换就是「左乘一个矩阵」(2.15 节给出严格说法)。设这一串行变换合起来相当于左乘可逆矩阵 P,则由 [A | I]→[I | X] 得
PA = I, 同时 PI = X。
由 PA = I 知 A 可逆且 P = A−1;代入第二式得 X = A−1。∎
用第一章熟悉的那个矩阵走一遍。设
A =123253108。
| 步骤 | 操作 | A 侧被改的行 | I 侧同步被改的行 |
|---|---|---|---|
| 1 | R2 ← R2 − 2R1 | (0, 1, −3) | (−2, 1, 0) |
| 2 | R3 ← R3 − R1 | (0, −2, 5) | (−1, 0, 1) |
| 3 | R3 ← R3 + 2R2 | (0, 0, −1) | (−5, 2, 1) |
| 4 | R3 ← (−1)R3 | (0, 0, 1) | (5, −2, −1) |
| 5 | R2 ← R2 + 3R3 | (0, 1, 0) | (13, −5, −3) |
| 6 | R1 ← R1 − 3R3 | (1, 2, 0) | (−14, 6, 3) |
| 7 | R1 ← R1 − 2R2 | (1, 0, 0) | (−40, 16, 9) |
左半块已成 I,右半块即
A−1 =−4016913−5−35−2−1。
步骤 7 之后还有两个「清最后两列」的动作没有写进口诀:那是把第 1 行之外的两行第 2、3 列也清掉——用行变换把左半块化成 I 的过程中就已经做完了。要点是:左右两块永远同步操作,一块是账本,一块是账本的来源。
现代接口 这个算法的深层含义是:可逆矩阵集 GLn(𝔽) 由初等矩阵生成。也就是说,从 I 出发、反复左乘三种初等矩阵,就能走遍整个 GLn(𝔽)。求逆过程正是在这个群里沿一条路径从 A 走回 I,而逆矩阵记录了这条路径。2.15 与 2.17 节会把这句话说成定理。
到这里,本书已经积累了五、六种关于矩阵的说法:秩、齐次方程组的解、初等变换、初等矩阵、线性相关……它们看起来是不同的话题,其实说的是同一件事。
定理 2.8(可逆的等价刻画) 设 A 为 n 阶方阵,则下列命题等价:
(1)A 可逆;
(2)A 行等价于 In;
(3)r(A) = n;
(4)齐次方程组 AX = 0 只有零解;
(5)A 可表示为有限个初等矩阵之积;
(6)det A ≠ 0(第三章证明)。
证明思路 (1)⟺(2) 即算法 2.1。(2)⟺(3) 因行等价保持秩,而 r(In) = n。(3)⟺(4) 由第一章定理 1.7:主元数等于 n ⟺ 无自由未知量 ⟺ 只有零解。(2)⟹(5) 把每一步行变换写成初等矩阵并取逆。(5)⟹(1) 因初等矩阵可逆、可逆矩阵之积可逆。∎
这张图值得反复看。它告诉我们:数学的进步常常不是发明新的对象,而是发现旧的对象有几种不同的读法,并证明这些读法给出同一个答案。一旦如此,「可逆」就不再是一个需要死记的概念,而成为一个可以被五条不同线索同时指向的事实。
〔明线〕注意 (3) 与 (4) 两条:它们用的正是第一章的秩与齐次方程组。这章讲了矩阵的加、乘、逆、转置、分块,看起来已经离开「解方程组」很远了;但 (4) 提醒,明线一直在脚下——本章研究的所有对象,最终都服务于同一个问题:什么时候解是唯一的。
第一章把秩定义为「阶梯形中主元的个数」。但那是算出来的秩;换一副行看,会不会算出不同的数?先给秩一个与算法无关的说法。
定义 2.12(行秩、列秩) 把 m × n 矩阵 A 的每一行看作一个 n 元向量(行向量),每一列看作一个 m 元向量(列向量)。
行向量组中的极大线性无关组所含向量个数,称为 A 的行秩;列向量组的极大线性无关组所含个数,称为 列秩。
这两个定义从一开始就让人不放心:凭什么行那边数出来的个数,等于列那边数出来的个数?一个 3 × 5 矩阵有 3 个行向量、5 个列向量,凭什么两边的「独立方向数」一样?这不是显然的,而是一条定理。
定理 2.9(行秩 = 列秩) 对任意矩阵 A,
行秩(A) = 列秩(A) = r(A)。
证明思路(要点) (i)初等行变换不改变行向量组张成的空间,也不改变列向量之间的线性关系(因为每列都是行方向上的同一个线性组合的坐标记录);(ii)把 A 行变换成阶梯形 U,设主元个数为 r;(iii)U 的非零行彼此无关,故行秩 = r;(iv)U 的主元所在的那 r 列线性无关,而其余每列都可以由它们线性表示,故列秩 = r;(v)由 (i),A 的行秩与列秩也都等于 r。∎
现代接口 「行秩 = 列秩」有一个更现代的解释:若把 A 看作映射 fA: 𝔽n → 𝔽m,则 r(A) 就是像空间 im fA 的维数。行秩、列秩之所以相等,是因为它们从两个不同的角度量同一个像。这个说法第五章会正式建立(线性映射的秩定理),下册还会给出「秩 = 一线段上的自由度的补数」这一更几何的读法。以下这句可以先记住:
秩是变换「能到达多少方向」的度量。
定理 2.9 把秩说清楚了一半,但行秩、列秩两个定义都依赖「线性无关」这个需要判断的概念。有没有一个可以直接动手算的刻画?有。
定义 2.13(子式) 在 m × n 矩阵 A 中,任取 k 行与 k 列(k ≤ min{m, n}),交叉处的 k2 个元素按原顺序组成的 k 阶行列式,称为 A 的一个 k 阶子式。
定理 2.10(秩的子式刻画) r(A) = r 当且仅当:A 存在一个非零的 r 阶子式,且所有 r+1 阶子式(若存在的话)全为 0。
证明要点 「⟹」若 r(A) = r,则 A 有 r 个线性无关的行,把这 r 行取出来组成 r × n 矩阵,其列秩为 r,故可取 r 个线性无关的列,交叉处的 r 阶子式非零(第三章将证明:方阵的行列式非零 ⟺ 它的行线性无关)。「⟸」若非零 r 阶子式存在,则该子式所在的行线性无关,故行秩 ≥ r;又若所有 r+1 阶子式为零,可证任取 r+1 行都线性相关,故行秩 ≤ r。∎
两种刻画各有用途:阶梯形法适合算「秩是多少」,子式法适合讨论「秩至少/至多是多少」,尤其是当矩阵的元素含参数、或需要在推理中直接说「存在非零子式」的时候。
定理 2.11(秩的不等式) 设型号使下列运算有意义,则
(1)r(AB) ≤ min{r(A), r(B)};
(2)r(A + B) ≤ r(A) + r(B)。
(3)特别地,若 P、Q 可逆,则 r(PAQ) = r(A)。
三个不等式的证明见例题 8。∎
注意到子式定义里出现了「行列式」——本书还没有正式讲它。所以定理 2.10 的完整证明必须等到第三章。这里先把它写出来,是为了让看见一件事:秩这个数,可以先由算法给出(第一章),再由不变量刻画(本章),最后再由行列式给出闭式判据(第三章)。同一个数,三层越来越深的刻画。
第一章的三种初等行变换,其实各自都是「左乘一个矩阵」。把这些矩阵找出来,就能把话说到最干净。
定义 2.14(初等矩阵) 对单位矩阵 In 作一次初等行变换,所得的矩阵称为 n 阶初等矩阵,共三类:
(1)P(i, j):交换第 i、j 两行;
(2)P(i(k)):把第 i 行乘非零数 k;
(3)P(i, j(k)):把第 j 行的 k 倍加到第 i 行。
定理 2.12(左乘行变换,右乘列变换) 设 A ∈ Mm×n(𝔽)。
(1)对 A 作一次初等行变换,等于在左边乘上相应的 m 阶初等矩阵;
(2)对 A 作一次初等列变换,等于在右边乘上相应的 n 阶初等矩阵。
证明(以 (3) 型为例) 设 E = P(i, j(k)),则 E = I + k eij(eij 为只有 (i, j) 位为 1 其余为 0 的矩阵)。直接计算 EA 的第 p 行:p ≠ i 时不变;p = i 时为 ai* + k aj*,正是「把第 j 行的 k 倍加到第 i 行」。右乘的情形对列逐字重复。∎
定理 2.13 初等矩阵都可逆,且其逆仍为初等矩阵:
P(i, j)−1 = P(i, j), P(i(k))−1 = P(i(1/k)), P(i, j(k))−1 = P(i, j(−k))。
推论 A 行等价于 B ⟺ 存在可逆矩阵 P 使 PA = B。
现在回头看第一章。张苍法的每一步「遍乘」与「直除」,都是「把某行的若干倍加到另一行」——也就是左乘一个 P(i, j(k))。「遍乘」那一步若用 P(i(k)) 也可表示。于是整个直除过程可以写成一句干净的话:
行变换能化简矩阵,列变换也能。两边都用,能化简到什么地步?
定义 2.15(等价) 设 A, B ∈ Mm×n(𝔽)。若存在可逆矩阵 P(m 阶)与可逆矩阵 Q(n 阶)使
PAQ = B,
则称 A 与 B 等价,记作 A ≅ B。注意这是一个比「行等价」更宽的等价关系。
定理 2.14(等价的标准形) 设 A ∈ Mm×n(𝔽),r(A) = r,则
A ≅IrOOOm×n(记作 Dr),
即左上角一个 r 阶单位块,其余全是零。并且 Dr 是这种形状中唯一可能的标准形。
证明要点 先用行变换把 A 化成简化阶梯形(主元为 1、主元列其余元素为 0);再用列变换把主元所在列以外的非零元素清掉,同时把主元列调到最前面。∎
定理 2.15(等价分类定理) 两个 m × n 矩阵等价,当且仅当它们同型且同秩。
证明 「⟹」P、Q 可逆时 r(PAQ) = r(A)(定理 2.11(3)),且型不变。「⟸」同型同秩的两矩阵都等价于同一个 Dr,由等价关系的传递性即得。∎
这是本书的第一个分类定理。它说的是:全部 m × n 矩阵被「等价」这个关系切成若干堆,堆与堆之间用 r = 0, 1, 2, …, min{m, n} 编号——秩就是门牌号。同堆的两个矩阵,在「可以互相换算」的意义上是同一个东西。
现代接口 这个定理是「分类问题」的一个标准模板:给定一个作用于集合上的群(此处是 GLm(𝔽) × GLn(𝔽),作用是 (P, Q) · A = PAQ),要找出它的轨道,就要找出完全不变量。这里完全不变量只有一个数——秩。下册的相似分类(若尔当标准形)是同一个模板的升级版:那里不变量从「一个数」变成「一串数」,于是分类立刻复杂起来。**「分类」是抽象代数与范畴论的核心问题,而它的第一次演练,就在这一页。**
本节把 2.6 节的「负面结论」正式命名,并把可逆矩阵集单独提出来看。
定义 2.16(环,回顾) 设 R 是一个集合,其上定义了两个运算「+」与「·」。若
(i)(R, +) 是交换群;(ii)乘法结合;(iii)乘法对加法双边分配,
则称 (R, +, ·) 为一个环。若乘法还交换,称交换环;若存在乘法幺元,称含幺环。
定理 2.16 Mn(𝔽) 在矩阵加法与乘法下构成一个含幺环,幺元为 In。当 n ≥ 2 时:
(1)它是非交换环(定理 2.3(1));
(2)它有零因子(定理 2.3(2)),因而不是整环,更不是域;
(3)它的中心是全体数量矩阵:Z(Mn(𝔽)) = {λIn : λ ∈ 𝔽},即只有数量矩阵与所有矩阵可交换。
证明(3)提示 若 A 与所有 n 阶矩阵可交换,特别地取 Eij(只有 (i, j) 位为 1)与之相乘,可推出 A 的非对角元全为 0、对角元全相等。∎
定义 2.17(一般线性群) GLn(𝔽) = {A ∈ Mn(𝔽) : A 可逆} = {A : det A ≠ 0},在乘法下构成一个群,称为 𝔽 上的 n 阶一般线性群。
为什么 GLn(𝔽) 是群?因为:乘法结合(定理 2.2);幺元 I 属于它;每个元素的逆仍在其中(定理 2.7);可逆矩阵之积可逆(定理 2.7(4))。四条一次说完。这是一个很有意思的现象:同一个集合 Mn 减去零因子,就从一个「坏环」变成一个「好群」。
当 n = 1 时,GL1(𝔽) = 𝔽*(𝔽 去掉 0 后的乘法群)。当 n = 2、𝔽 = ℝ 时,GL2(ℝ) 里的元素就是平面的可逆线性变换:旋转、反射、剪切、伸缩,以及它们的复合。
〔几何〕这张图是下册的引子。下册第三章会取 GLn(ℝ) 中保持长度的那一部分,得到正交群 O(n);再加上平移,得到欧氏变换群 E(n) = O(n) ⋉ ℝn。届时可以发现,中学里学的「全等变换」正是 E(n),「相似变换」正是 E(n) × ℝ>0——代数的群,就是几何的变换。
本章最后,把散落的说法收拢成一句话。
定理 2.17(矩阵 = 线性映射的坐标) 对每个 A ∈ Mm×n(𝔽),映射 fA: 𝔽n → 𝔽m,x ↦ Ax 满足
(1)线性:fA(x + y) = fA(x) + fA(y),fA(λx) = λfA(x);
(2)保复合:fA ∘ fB = fAB;fI = id;
(3)双射:A ↦ fA 是集合间的双射(在固定标准基的意义下)。
证明(1) 由乘法对加法的分配律与数乘的交换性逐位得到。∎
(1)与(2)合起来说:矩阵的加、乘运算,正好是映射的加、复合运算在坐标下的影子。由此得到一个非常干净的对应表:
| 方程语言 | 矩阵语言 | 映射语言 |
|---|---|---|
| 方程组 AX = b | 矩阵与列向量相乘 | b 是否在像内:b ∈ im fA |
| 两次消元接续做 | 矩阵乘法 AB | 映射复合 fA ∘ fB |
| 解唯一 | A 可逆 | fA 是同构 |
| 自由未知量个数 | n − r(A) | ker fA 的维数 |
| 有解的条件 | 增广矩阵与系数矩阵同秩 | im fA 含 b |
这张表比本章任何一个公式都重要。它说的是:方程、矩阵、映射,是三套语言在讲同一件事。用方程语言,获得具体解法;用矩阵语言,获得可以运算的躯体;用映射语言,获得与整个现代数学对话的接口——群、环、模、态射、函子,都从「映射」这一侧接入。
本章小结与预告 本章把第一章的「算法」立成了「对象」:矩阵有加、乘、逆、秩,可逆与不可逆被五种说法刻画清楚,全部矩阵被秩分成若干等价类。下一章要回答本章悬置的两个问题:为什么 ad − bc 是那个关键的判据?为什么秩可以用子式刻画?答案是一台更有趣的机器——行列式:一个在乘法下「可乘」的不变量。
(1)基本型 设 A =123456(2 × 3),B =789101112(3 × 2),求 AB。
解 型检查:(2 × 3)(3 × 2) = 2 × 2,可乘。逐位算:
(1,1) 位:A 的行 1 碰 B 的列 1:1·7 + 2·9 + 3·11 = 7 + 18 + 33 = 58。
(1,2) 位:1·8 + 2·10 + 3·12 = 8 + 20 + 36 = 64。
(2,1) 位:4·7 + 5·9 + 6·11 = 28 + 45 + 66 = 139。
(2,2) 位:4·8 + 5·10 + 6·12 = 32 + 50 + 72 = 154。
AB =5864139154。
(2)外积与内积:型决定意义 取 u =123(3 × 1),v =45(1 × 2)。
「列 × 行」(外积):uv =458101215——一个 3 × 2 矩阵,秩为 1。
「行 × 列」(内积):(1,2,3) 与 (4,5,6)t 相乘得 1·4 + 2·5 + 3·6 = 32,结果是一个 1 × 1 矩阵32——也就是一个数。
同一批数,因为型不同,得到的东西完全不同:一边是一整块矩阵,一边是一个数。这就是矩阵乘法要求「型配对」的最直观理由。
(3)型检查表 判断下列乘积是否有意义,若有,写出结果的型:
| 左 | 右 | 有意义? | 结果的型 |
|---|---|---|---|
| 2 × 3 | 3 × 2 | 是 | 2 × 2 |
| 3 × 2 | 2 × 3 | 是 | 3 × 3 |
| 2 × 3 | 2 × 3 | 否 | (左列数 3 ≠ 右行数 2) |
| 3 × 2 | 3 × 2 | 否 | (左列数 2 ≠ 右行数 3) |
| 1 × 3 | 3 × 1 | 是 | 1 × 1(一个数) |
| 3 × 1 | 1 × 3 | 是 | 3 × 3 |
要点 前三行里,第二行与第一行的两个矩阵互为「型反转」,两次乘法都有意义,但结果一个 2 × 2、一个 3 × 3——先算哪一块,结果的大小都不同。这正是非交换性在「型」这一层就已经露出的痕迹。
算乘法时最容易出的错不是算错,而是把行与列记反。一个稳妥的自检法:算 (i, j) 位时,在草稿纸上方写 B 的第 j 列,左侧写 A 的第 i 行,然后手指交替点两边的第 k 个数相乘。慢一点,但不会错。
设
P =1230450310210112, Q =2011021011021031,
按竖虚线分成 2 × 2 块,用分块乘法求 PQ。
解 写出各块:
| 块 | 内容 | 块 | 内容 |
|---|---|---|---|
| P11 | 1245 | P12 | 3003 |
| P21 | 1001 | P22 | 2112 |
| Q11 | 2002 | Q12 | 1110 |
| Q21 | 1110 | Q22 | 0231 |
按块公式逐个算(每个结果块 = 两个二阶乘积之和):
左上块 P11Q11 + P12Q21 =24810 + 3330 =571110。
右上块 P11Q12 + P12Q22 =3194 + 0693 =37187。
左下块 P21Q11 + P22Q21 =2002 + 3231 =5233。
右下块 P21Q12 + P22Q22 =1110 + 3564 =4674。
拼回去:
PQ =5737111018752463374。
核对 用逐元素法重算 (2,2) 位:4·0 + 5·2 + 0·1 + 3·0 = 10——与分块法一致。这一位的分块来源恰好是 P11Q11 的 (2,2) 位(得 10)加上 P12Q21 的 (2,2) 位(得 0)。所以分块法里那个看起来「偏小」的中间数 10 是对的——注意 P12Q21 本身是3330,其右上为 3 而非 3 的「对称猜测值」,它就是这种细节的产物。
取 A =1234,B =0123。
(1)先算 AB:AB =0+41+60+83+12 =47815,故 (AB)t =48715。
(2)再算 BtAt:Bt =0213,At =1324,故 BtAt =0+40+81+63+12 =48715。两者相同,定理 2.4(4) 得证于本例。
(3)若误用 AtBt:AtBt =13240213 =311416,与正确答案不同。次序不可省。
(4)对称性的验证 取 S =123456(2 × 3)。验证 SSt 与 StS 都是对称矩阵。
SSt =1+4+94+10+184+10+1816+25+36 =14323277,对称。
StS =1+162+203+242+204+256+303+246+309+36 =172227222936273645,对称。
两者都是 3 × 3 吗?不:SSt 是 2 × 2,StS 是 3 × 3。但它们的迹都是 91(14 + 77 = 91,17 + 29 + 45 = 91)。这不是巧合,例题 10 会给出一般证明。
(5)判断下列矩阵的对称性
T =123256369, U =01−1−1021−20。
T:Tt = T,对称。U:Ut =0−1110−2−120 = −U,反对称(对角元全为 0,符合定理 2.4 之后的说明)。
小结 处理转置问题的标准流程是三步:①把每个矩阵的转置写出来;②按型检查能否相乘;③按定义逐位计算,最后与目标比对。特别注意:(AB)t = BtAt 里的「颠倒」是反变构造的普遍特征——下册讲对偶空间与对偶映射时,同一种颠倒会以更抽象的面貌再出现一次。
设 A =211433879。把「用 A 的前一行依次消掉下面两行的首元」这一串操作写成初等矩阵之积,并求出这个积。
解 三步操作分别是
R2 ← R2 − 2R1(即 P(2, 1(−2))), R3 ← R3 − 4R1(P(3, 1(−4))), R3 ← R3 − 3R2(P(3, 2(−3)))。
对应的初等矩阵是
E21 =100−210001, E31 =100010−401, E32 =1000100−31。
逐行验证:R2 − 2R1 把 (4,3,3) 变成 (0,1,1);R3 − 4R1 把 (8,7,9) 变成 (0,3,5);R3 − 3R2 把 (0,3,5) 减去 3(0,1,1) 得 (0,0,2)。所以
E32E31E21A = U =211011002。
由此 E = E32E31E21 是可逆的(三个初等矩阵之积),且
A = E−1U = E21−1E31−1E32−1U,
其中 E21−1 = P(2, 1(2)),E31−1 = P(3, 1(4)),E32−1 = P(3, 2(3))——把每一步的倍数取反、次序颠倒。
三点提醒 (1)E−1 的书写次序是倒过来的:(E32E31E21)−1 = E21−1E31−1E32−1。这与定理 2.7(4) 一致。(2)消元的结果 U 是阶梯形:主元 2, 1, 2 呈向右下的阶梯。(3)U 的行列式 = 2·1·2 = 4,而 E 的行列式 = 1,故 det A = 4——这一点第三章会用「行列式可乘」一句话解释清楚。
〔明线〕这道例题就是第一章「直除」的矩阵化重述:张苍法每走一步,就是左乘一个 P(i, j(k));走完之后 A = E−1U——原矩阵与阶梯形之间只差一个可逆矩阵。记住这个等式,本章后面关于等价、标准形、秩为什么不变的所有结论,都可以直接从它推出。
(1)二阶:公式法 A =3152。ad − bc = 3·2 − 1·5 = 1 ≠ 0,故
A−1 = 112−1−53 =2−1−53。
验证:31522−1−53 =6−5−3+310−10−5+6 =1001。
(2)三阶:高斯—若尔当法 A =123253108(见 2.11 节的七步表),得
A−1 =−4016913−5−35−2−1。
验证第 1 行:1·(−40) + 2·13 + 3·5 = −40 + 26 + 15 = 1;1·16 + 2·(−5) + 3·(−2) = 16 − 10 − 6 = 0;1·9 + 2·(−3) + 3·(−1) = 9 − 6 − 3 = 0。第 2 行:2·(−40) + 5·13 + 3·5 = −80 + 65 + 15 = 0;2·16 + 5·(−5) + 3·(−2) = 32 − 25 − 6 = 1;2·9 + 5·(−3) + 3·(−1) = 18 − 15 − 3 = 0。第 3 行同理得 (0, 0, 1)。
(3)出现零行:不可逆 B =123246101。第一步 R2 ← R2 − 2R1,第 2 行变成 (0, 0, 0)——左半块出现整行全零。
这时 r(B) = 2 < 3,由定理 2.8,B 不可逆。
判断诀窍 只要消元过程中左半块出现全零行,就不必再算了。反过来,若好端端地走到了 I,那么可逆是必然的。
练手建议 阶数越高,公式法越吃亏:三阶还有「伴随矩阵」公式,四阶以上几乎必须用高斯—若尔当法。下面这道练习题值得手算一遍(答案见习题课四):
C =101010100, C−1 =00101010−1。
验算 C·C−1 的第 1 行:(1,0,1) 碰第 1 列 (0,0,1)t 得 1,碰第 2 列得 0,碰第 3 列得 1·1 + 1·(−1) = 0;第 3 行 (1,0,0) 碰三列分别得 0, 0, 1。故得 I。
(1)秩不足的典型 A =1224。第二行是第一行的 2 倍,r(A) = 1 < 2,故不可逆。
怎么看出来的 两行成比例 ⟹ 行秩 ≥ 缺一个方向。用定理 2.8:AX = 0 有非零解 (2, −1)t(因为 1·2 + 2·(−1) = 0),所以可逆的等价条件 (4) 不成立。
(2)含参数的三阶矩阵 求 k 的值使
A(k) =k111k111k 可逆。
解 按第一行展开求行列式:
det A(k) = k(k2 − 1) − 1(k − 1) + 1(1 − k) = k3 − k − k + 1 + 1 − k = k3 − 3k + 2,
因式分解得 k3 − 3k + 2 = (k − 1)2(k + 2)。故
A(k) 可逆 ⟺ k ≠ 1 且 k ≠ −2。
两种临界情形的含义 k = 1 时三行全同,r = 1,自由度 2;k = −2 时三行之和为零向量(因为每行分量和为 k + 2 = 0),故行秩 ≤ 2。注意这两个临界值恰好是第一章例题 8 里出现过的 λ = 1 与 λ = −2——同一个条件,从方程组的语言与从矩阵的语言看,是同一件事。
(3)用定理 2.8 逐条验证 取 k = 0,即 A(0) =011101110,验证五条说法同时成立:
(6)det A(0) = (0 − 1)2(0 + 2) = 2 ≠ 0;
(4)若 A(0)X = 0,即 x2 + x3 = 0,x1 + x3 = 0,x1 + x2 = 0,三式相加得 2(x1 + x2 + x3) = 0,代回得 x1 = x2 = x3 = 0,只有零解;
(3)由 AX = 0 只有零解知 r(A) = 3(第一章定理 1.7);
(2)秩满则行等价于 I(第一章定理 1.6 之后的推论);
(1)(5)于是 A(0) 可逆,并且可写成初等矩阵之积。
一点提醒 含参问题必须先确定「什么时候退化」,再动手消元。直接对含 k 的矩阵做消元很容易在 k = 0 处除以零,而参数恰好取 0 是常见情形。
求 A =123452479120011212346的秩。
解法一(行变换法)
R2 ← R2 − 2R1:(2,4,7,9,12) − 2(1,2,3,4,5) = (0,0,1,1,2);
R4 ← R4 − R1:(1,2,3,4,6) − (1,2,3,4,5) = (0,0,0,0,1);
此时第 2 行与第 3 行相同,故 R3 ← R3 − R2 后第 3 行全零。阶梯形为
12345001120000100000,
三个主元(位于第 1、3、5 列),故 r(A) = 3。
解法二(子式法:把秩「框」出来) 取第 1、2、4 行与第 1、3、5 列,得三阶子式
D =1352712136, det D = 1(42 − 36) − 3(12 − 12) + 5(6 − 7) = 6 − 0 − 5 = 1 ≠ 0。
故 r(A) ≥ 3。另一方面,第 2 行 = 2× 第 1 行(在子式选取的列上),四行中有一组线性关系,故 r(A) ≤ 3。两者夹出 r(A) = 3。
两种方法的比较
| 方法 | 适合 | 代价 | 优势 |
|---|---|---|---|
| 行变换(阶梯形) | 算出具体的秩 | 大量四则运算 | 顺带得到主元列、自由未知量 |
| 子式(行列式) | 证明「秩 ≥ r」或「秩 ≤ r」 | 阶数高时子式太多 | 不依赖消元,可与参数讨论并行 |
降阶法的操作要点 (1)先用行变换「消薄」,观察哪几行最可能线性无关(通常是首元不同、且最简的行);(2)框出的子式最好让它呈上三角或阶梯状,行列式一眼可算;(3)只要找到一个非零的 r 阶子式,就得到 r(A) ≥ r;要证 r(A) ≤ r,则给出行之间的关系(或说明所有 r+1 阶子式为零)。一上一下,夹出答案。
(1)证明 r(AB) ≤ min{r(A), r(B)}
证 先看右边。设 B 的第 j 列是 Bj,则 AB 的第 j 列是 ABj——它是 A 的各列按 Bj 的分量加权求和的结果。所以 AB 的每一列都落在 A 的列空间里,
r(AB) ≤ r(A)。
再对行说一遍同样的话:AB 的第 i 行是 B 的各行按 A 的第 i 行分量加权求和,故 AB 的每一行都落在 B 的行空间里,r(AB) ≤ r(B)。两式合并即得结论。∎
等号能取到吗 能:取 A = I 则 r(AB) = r(B) = min{r(I), r(B)}。也能严格取不到:取
A =1000,B =0001, 则 AB = O,
于是 r(AB) = 0,而 min{r(A), r(B)} = min{1, 1} = 1。
(2)证明 r(A + B) ≤ r(A) + r(B)
证 设 A 的列空间由 α1, …, αp 张成(p = r(A)),B 的列空间由 β1, …, βq 张成(q = r(B))。A + B 的第 j 列等于 A 的第 j 列与 B 的第 j 列之和,因此它是 α 的线性组合加上 β 的线性组合——落在由 {α1, …, αp, β1, …, βq} 张成的空间里,该空间的维数不超过 p + q。故 r(A + B) ≤ r(A) + r(B)。∎
等号能取到吗 能:取 A =1000、B =0001,则 A + B = I,r(A+B) = 2 = 1 + 1。
(3)可逆矩阵不改变秩 设 P、Q 可逆,证明 r(PAQ) = r(A)。
证 由(1)知 r(PA) ≤ r(A);又 A = P−1(PA),再用一次(1)得 r(A) ≤ r(PA)。两者夹出 r(PA) = r(A)。对 Q 重复同样的两句话即得。关键是「夹」:先用不等式压一边,再用逆矩阵把方向倒过来压另一边。∎
总结这三条的技术 秩的等式几乎都靠两条原理:(i)列(行)空间的包含关系给出不等式;(ii)可逆矩阵可以把不等式反向,从而把不等式升格为等式。这两条原理在本章之后会不断复现,下册讲若尔当标准形时,秩的等式更长,手法仍是这两条。
(1)三个幂等矩阵 验证下列矩阵都满足 A2 = A,并求它们的秩:
P1 =1000, P2 =12121212, P3 =100010000。
P12:(1,1) 位 = 1·1 + 0·0 = 1,其余同理,故 P12 = P1,r(P1) = 1。
P22:(1,1) 位 = 1/4 + 1/4 = 1/2,(1,2) 位 = 1/4 + 1/4 = 1/2,(2,1)、(2,2) 同理,故 P22 = P2,r(P2) = 1(两行相同)。
P32 = P3,r(P3) = 2。
(2)余幂等性:I − A 也是幂等的 若 A2 = A,则
(I − A)2 = I2 − IA − AI + A2 = I − A − A + A = I − A。
逐例验证:I − P1 =0001(幂等);I − P2 =12−12−1212(幂等);I − P3 = diag(0, 0, 1)(幂等)。
(3)秩的互补性 观察:r(P1) + r(I − P1) = 1 + 1 = 2;r(P2) + r(I − P2) = 1 + 1 = 2;r(P3) + r(I − P3) = 2 + 1 = 3。猜:若 A2 = A 为 n 阶,则
r(A) + r(I − A) = n。
本例的三个数值都符合。提醒:这个等式的严格证明要用到第五章的维数公式(im A 与 ker A 的直和分解),也可以由下册「幂等矩阵可对角化」得到。现在先把它当作一个被数据支持的好猜测,记住它,第五章会回来收账。
〔几何〕P2 的几何意义很具体:它把平面上的向量正投影到直线 y = x 上。这一现象在几何上极常见:投影仪、影子、最小二乘拟合都在做这件事。下册「欧氏空间」一章会把「正交投影」正式定义,并证明「幂等 + 保持长度不放大」等价于「正交投影」。代数条件 A2 = A 与几何动作「投影」就在这里相遇。
(1)迹的定义与基本事实 n 阶方阵 A 的迹定义为对角线元素之和:tr A = a11 + a22 + ⋯ + ann。
取 A =1234,B =5678。计算
AB =19224350,tr(AB) = 19 + 50 = 69;BA =23343146,tr(BA) = 23 + 46 = 69。相等。
(2)证明 tr(AB) = tr(BA)(只要两个乘积都有意义)
证 设 A = [aik] 为 m × n,B = [bkj] 为 n × m。则 AB 是 m 阶,BA 是 n 阶,
tr(AB) = Σi Σk aikbki, tr(BA) = Σk Σi bkiaik。
两者是同一个和的重排,相等。∎ (注意:由 SSt 与 StS 的阶数不同也照样相等,这解释了例 3(4) 里两个「91」。)
推论 若 P 可逆,则 tr(P−1AP) = tr(A)。因为 tr(P−1·AP) = tr(AP·P−1) = tr(A)。数值验证:取 P =1101,A =1234。由二阶求逆公式得 P−1 =1−101,于是 P−1AP =−2−437,迹为 −2 + 7 = 5 = tr A。注意 P−1AP 已不再是原来的 A,但迹没变——这正是「相似」这个名字的含义。
(3)行列式的初遇 二阶行列式的定义是
detabcd = ad − bc。
仍用(1)的 A, B:det A = 1·4 − 2·3 = −2,det B = 5·8 − 6·7 = −2,而 det(AB) = 19·50 − 22·43 = 950 − 946 = 4 = (−2)·(−2)。于是观察到
det(AB) = det A · det B。
这条性质的完整证明、以及任意阶行列式的定义,是第三章的任务。此处只做一个预告:行列式是一个「可乘的函数」,而迹是「可加的和」——两者都只依赖矩阵本身,与坐标如何选取无关。
为什么先提这两样东西 因为它们分别对应两种「不变量」的原型:迹是线性不变量(并且与本章 2.12 的等价刻画、下册的特征值理论直接相连);行列式是乘法不变量(并且给出可逆性的闭式判据,即 (6) det A ≠ 0)。第三章讲行列式,本册下册讲迹与特征值的完整故事;本节这页可以看作两条路都还没有修完时的第一次眺望。
(1)A 可逆:唯一解 X = A−1B 设
A =1234, B =12, 求 X 使 AX = B。
解 det A = 1·4 − 2·3 = −2 ≠ 0,故 A 可逆,A−1 = 1−24−2−31 =−2132−12。于是
X = A−1B =−2·1 + 1·2(3/2)·1 + (−1/2)·2 =012。
验证 AX =1·0 + 2·(1/2)3·0 + 4·(1/2) =12 = B。
(2)A 不可逆:要分「无解」与「无穷多解」两种 取 C =1224(r(C) = 1)。
情形一:无解 CX =13。用增广矩阵作行变换:R2 ← R2 − 2R1,第二行变成 (0, 0 | 1),即 0 = 1——矛盾。系数矩阵秩 1,增广矩阵秩 2,两者不等,由第一章定理 1.4,无解。
情形二:无穷多解 CX =12。同样行变换后第二行变成 (0, 0 | 0),两个秩都是 1 < 2,故有无穷多解。取 x2 = t 为自由未知量,则 x1 = 1 − 2t:
X =1 − 2tt =10 + t−21, t ∈ 𝔽。
验证:C10 =12 = C−21 =00。所以「一个特解 + 齐次解」的写法成立。
做题流程(一律照此执行) ① 写出增广矩阵 AB;② 只作行变换化到阶梯形;③ 比较 r(A) 与 r(AB):不等则无解,相等则继续;④ 若 r(A) = 未知量个数,唯一解;否则写出自由未知量,给出「特解 + 齐次通解」的形式。注意:这里不需要先判断 A 是否可逆——流程本身就自动覆盖了所有情形。
(1)平方公式何时成立 证明:对同阶方阵 A, B,
(A + B)2 = A2 + 2AB + B2 ⟺ AB = BA。
证 先按分配律展开(这一步不需要任何交换性):
(A + B)2 = A2 + AB + BA + B2。
因此它等于 A2 + 2AB + B2 当且仅当 AB + BA = 2AB,即 BA = AB。∎
反例 取 A =1234,B =2112,则 AB ≠ BA,于是公式不成立——这一点务必亲手算一遍,才能记住「平方公式是有条件的」。
(2)平方差公式 证明 (A + B)(A − B) = A2 − B2 ⟺ AB = BA。
证 展开得 A2 − AB + BA − B2,它等于 A2 − B2 当且仅当 −AB + BA = 0,即 AB = BA。∎
顺便给出一个交换的例子:A =1201与 B =1301——两者都是「上三角且对角元全为 1」,乘法可交换,两个公式都成立。
(3)幂零矩阵的逆:以几何级数为模型 设 N 为 n 阶方阵且 N3 = O,证明 I + N 可逆,并求逆。
解 模仿数的公式 1/(1 + x) = 1 − x + x2 − x3 + ⋯(当 x3 = 0 时右端自动截断),取候选
(I + N)(I − N + N2) = I + N − N − N2 + N2 + N3 = I + N3 = I。
展开中「中间项两两抵消」这个现象之所以成立,是因为这里出现的全是 N 的幂——同一个矩阵的各次幂天然可交换(2.9 节)。故 (I + N)−1 = I − N + N2。∎
具体例子 N =010001000。已算得 N2 =001000000,N3 = O,故
(I + N)−1 = I − N + N2 =1−1101−1001。
(4)幂等矩阵与可逆性 若 A2 = A 且 A ≠ I,问 A 是否可逆?
答 不可逆(除非 A = I)。理由:把 A2 = A 移项得 A(A − I) = O。若 A 可逆,两边左乘 A−1 得 A − I = O,即 A = I,与假设矛盾。所以只要 A 是「非平凡的投影」,它就必然是奇异的。用例题 9 的 P2 核对:两行相同,秩 1 < 2,确实不可逆。
本页方法论 矩阵恒等式题的通用三步:① 展开——按分配律老老实实展开,不要跳步(跳步正是丢项的地方);② 合并——同类项合并时必须写出「哪些项可以合并,依据是什么」(依据是幂的可交换,还是假设的 AB = BA);③ 回证——得到一个等价的代数条件后,给出既有正面例子也有反面例子,这样才算把这条件讲清楚。唯一真正的陷阱是:把数域上想当然的展开直接搬到矩阵上。
1. 设 A =2−130,B =14−25。求 A + B 与 2A − 3B。
答:A + B =3315;2A − 3B =4−260 − 312−615 =1−1412−15。
2. 求 x, y, z 使
x + yx − y2z − 1 =3124。
解:由 x + y = 3 与 x − y = 1 得 x = 2,y = 1;由 z − 1 = 4 得 z = 5。
3. 设 A =123456,B =123456。求 AB 与 BA,并说明为什么两者的型不同。
答:AB =22284964(2 × 2);BA =91215192633294051(3 × 3)。型由「左行数 × 右列数」决定,故一个变小、一个变大。
4. 求所有与 J =1101可交换的 2 阶矩阵。
答:形如 M =ab0a(a, b 任意)。验算:MJ =aa+b0a,JM =aa+b0a,确实相等。设 M =pqrs代入 MJ = JM,比较四个位置可依次推出 r = 0、s = p。
5. 证明 (A + B)t = At + Bt。
提示:两边都是 n × m 矩阵。左边第 (i, j) 位 = (A+B)ji = aji + bji,右边第 (i, j) 位 = (At)ij + (Bt)ij = aji + bji。逐位相等。
6. 设 A2 = O,计算 (I + A)2;再计算 (I + A)(I − A)。
答:(I + A)2 = I + 2A + A2 = I + 2A;(I + A)(I − A) = I − A2 = I。第二个结果说明 (I + A)−1 = I − A——这与「若 x2 = 0 则 (1+x)−1 = 1 − x」是同一个道理。
1. 设 A =1234,B =01−10,C =2011。验证 (AB)C = A(BC)。
解:AB =−21−43,故 (AB)C =−31−53;BC =11−20,故 A(BC) =−31−53。相等。
2. 举出两个非零矩阵 A, B 使 AB = O;再举出 C ≠ O 使 C2 = O。
答:A =0100,B =1000,则 AB = O。取 C =0100则 C2 = O(这叫「幂零」)。
3. 求一个 3 阶矩阵 N ≠ O 使 N2 ≠ O 而 N3 = O。
答:N =010001000。计算得 N2 =001000000,N3 = O。这类矩阵在 «矩阵的幂» 专题(下册)里叫幂零矩阵,N3 = O 而 N2 ≠ O 称为幂零指数为 3。
4. 设 AB = BA,证明 (AB)2 = A2B2。
证:(AB)2 = ABAB = A(BA)B = A(AB)B = A2B2。注意中间那一步必须用 BA = AB,否则不成立。
5. 证明形如 M =abc−a的矩阵满足 M2 = (a2 + bc)I;据此写出所有满足 M2 = I 的 2 阶矩阵。
证:直接乘得 M2 =a2+bcab−abca−acbc+a2 = (a2+bc)I。故 M2 = I ⟺ a2 + bc = 1,这就是全部解族(例如 a = 2, b = 3, c = −1 时 a2+bc = 4 − 3 = 1,此时 M =23−1−2满足 M2 = I,而 M ≠ ±I)。
6. 证明 tr(AB) = tr(BA)(只要两个乘积都有意义)。
证:见例题 10(2)。要点是 tr(AB) = Σi,kaikbki = tr(BA),同一个和的重排。
1. 设 A =2345,B =1234。用 2 × 2 分块计算
IOAIIBOI。
答:结果 =IBAI + AB。代入数值:AB =11161928,故 I + AB =12161929,四块拼起来是
10120134231216451929。注意右下块是 I + AB 而不是 AB——这是最常见的漏项。
2. 用分块法求
D =200012034 的逆矩阵。
解:按 1 + 2 分块,D 是准对角块矩阵,块为 (2) 与 1234。前者逆为 (1/2);后者行列式 = 4 − 6 = −2,逆为 (−1/2)4−2−31 =−2132−12。故
D−1 =12000−21032−12。
3. 设 M =AOOB(准对角块,A 为 p 阶、B 为 q 阶),证明 r(M) = r(A) + r(B)。
提示:对 M 作行变换,只作用在上方 p 行即可把 A 化成简化阶梯形;下方 q 行同理处理 B。两块互不干扰,主元个数相加。或者用列空间:M 的列空间是 A 的列空间(填零)与 B 的列空间(填零)的直和,维数自然相加。
课后自检 把 1、2 两题的答案乘回原矩阵,看是否得单位矩阵(或恒等式右端)。分块运算的验证成本很低,却最容易发现「漏掉那个 I」这类错误——凡是分块题,都要回乘一遍。
1. 求 2111 的逆矩阵。
解:ad − bc = 2·1 − 1·1 = 1,故逆为 1−1−12。验算:21111−1−12 =1001。
2. 求 101010100 的逆矩阵。
解:用高斯—若尔当法,结果为 00101010−1。验算第 1 行:(1,0,1) 碰三列得 (1, 0, 0);第 3 行 (1,0,0) 碰三列得 (0, 0, 1)。
3. 设 A, B 为同阶可逆矩阵。证明 AB 可逆,且 (AB)−1 = B−1A−1;再证明 (At)−1 = (A−1)t。
证:(AB)(B−1A−1) = A(BB−1)A−1 = AA−1 = I,同理另一边。第二式:由 (A−1A)t = I 与定理 2.4(4) 得 At(A−1)t = I,故 (At)−1 = (A−1)t。
4. 设 2 阶方阵 A 满足 A2 − 3A + 2I = O。证明 A 可逆,并求 A−1。
解:把等式移项得 A(3I − A) = 2I,即 A · 3I − A2 = I。故 A−1 = (3I − A)/2。(要求 𝔽 的特征不为 2,否则 2 = 0 无法除。)
5. 判断:若 A2 = I,是否必有 A = ±I?
答:不一定。习题课二第 5 题给出的解族已说明这一点:M =23−1−2满足 M2 = I 而 M ≠ ±I。几何上这些 M 是平面上的「关于某条过原点直线的反射」——反射做两次当然回到原处。
1. 写出 2 阶初等矩阵 E(1, 2(3))(把第 2 行的 3 倍加到第 1 行),并计算 EA 与 AE,说明两者分别改了行还是改了列。其中 A =1234。
答:EA =13011234 =101434——改的是行(第 1 行加上了第 2 行的 3 倍,即 (1,2)+3(3,4) = (10,14))。AE =12341301 =15313——改的是列(第 2 列加上了第 1 列的 3 倍)。左乘改行、右乘改列。
2. 证明交换两行的初等矩阵 P(1, j) 满足 P(1, j)2 = I(这是「自逆」)。
提示:交换两次等于没换。用矩阵验证:以 3 阶为例,P(1,3) =001010100,直接乘自己得 I。
3. 证明 P(i(k))−1 = P(i(1/k))(k ≠ 0)。
提示:两边的乘积把第 i 行乘 k 再乘 1/k,等于没动。也可用矩阵乘法直接算:P(i(k)) 是对角元只有第 i 个为 k 的对角矩阵,其逆为把该对角元换成 1/k。
4. 设 A 与 B 行等价。证明存在可逆矩阵 P 使 PA = B。
证:行等价意味着 B 可由 A 经有限次初等行变换得到;每次行变换等于左乘一个初等矩阵(定理 2.12)。设这些初等矩阵依次为 E1, …, Et,则 B = Et⋯E1A。取 P = Et⋯E1,它作为初等矩阵之积可逆(定理 2.13 及其推论)。
5. 设 A 可逆。证明 A 可表示为有限个初等矩阵之积。
提示:由算法 2.1,A 可经有限次行变换化为 I:Et⋯E1A = I,故 A = E1−1⋯Et−1。每个 Ej−1 仍是初等矩阵(定理 2.13)。这就是定理 2.8 里 (1) ⟺ (5) 的那一步。
1. 求 r1234246836912。
答:1。第 2 行 = 2 × 第 1 行,第 3 行 = 3 × 第 1 行,故只剩一个独立方向。
2. 求 r111123135。
答:2。行变换:R2 − R1 = (0,1,2),R3 − R1 = (0,2,4) = 2×第 2 行后半,故 R3 − R1 − 2(R2 − R1) = 0。两个主元。行列式为 0(第 3 行 = 2 × 第 2 行 − 第 1 行)。
3. 求 r213121334。
答:2。注意第 3 行 = 第 1 行 + 第 2 行,所以秩最多为 2;而 2·2 − 1·1 = 3 ≠ 0,故秩至少为 2。夹出 r = 2。
4. 求 r12−124−236−3。
答:1。三行全部成比例。
5. 求含参数的秩:r11k1k1k11 随 k 的变化。
提示:把行列式算出来(注意符号):det = −(k − 1)2(k + 2)。故 k ≠ 1, −2 时秩 3;k = 1 时三行全同,秩 1;k = −2 时每行的分量和为 k + 2 = 0,三行之和为零向量,而二阶子式 111−2 = −3 ≠ 0,故秩 2。注意:本题与例题 6(2) 的矩阵只差行列式的一个符号,零集(临界值)完全相同——这提醒我们:秩不会因为行列式变号而改变。
6. 设 A 为 3 × 5 矩阵,r(A) = 3。问 A 的行向量是否线性无关?列向量呢?
答:3 个行向量线性无关(因为秩 = 3 = 行数);5 个列向量线性相关(因为秩 3 < 5)。这就是第一章「自由未知量个数 = n − r」的矩阵说法。
1. 设 P, Q 可逆,证明 r(PAQ) = r(A)。
证:由 r(PA) ≤ r(A) 及 A = P−1(PA) 得 r(A) ≤ r(PA),故 r(PA) = r(A);对 Q 重复。见例题 8(3)。
2. 证明 r(A + B) ≤ r(A) + r(B),并举例说明等号可以取到、也可以取不到。
证:见例题 8(2)(列空间的包含)。等号例:A =1000,B =0001;严格小于例:B = −A 时 r(A + B) = 0 < 2 r(A)。
3. 证明 r(AB) ≤ min{r(A), r(B)}。(见例题 8(1))
提示:AB 的列都在 A 的列空间中;AB 的行都在 B 的行空间中。
4.(Sylvester 不等式)设 A 为 m × n、B 为 n × p 矩阵。证明
r(AB) ≥ r(A) + r(B) − n。
提示:考虑分块矩阵 M =InBAO。用行变换可把它化为InBO−AB,故 r(M) = n + r(AB);另一方面 M 还有一条列变换路径把它化为InOO−AB之外的另一形状,可证 r(M) ≤ n + min{r(A), r(B)} 的更强形式。完整的证明留给「秩不等式专题」(挑战二)。本题的价值在于:它是最早的非平凡秩不等式,也是判断 AB 是否可能为零的定量工具。
5. 设 A 为 n 阶方阵且 A2 = A。用秩不等式证明 r(A) + r(I − A) ≥ n。
提示:A + (I − A) = I,故 n = r(I) = r(A + (I−A)) ≤ r(A) + r(I − A)。这个不等式是「一半」,另一半的等式与直和分解有关,见例题 9(3) 与挑战二。
1. 判断 B =123246101 是否可逆,并说明理由。
答:不可逆。R2 − 2R1 = (0,0,0),故 r(B) = 2 < 3,由定理 2.8(3) 不可逆。
2. 求 k 的值使 A(k) =k111k111k 不可逆。
答:k = 1 或 k = −2(因 det A(k) = (k−1)2(k+2))。
3. 设 A, B 同阶可逆。证明 AB 可逆,并写出 (AB)−1。
答:(AB)−1 = B−1A−1。也可用秩:r(AB) ≤ min{r(A), r(B)} = n,而 AB 为 n 阶,故 r(AB) = n,可逆。
4.(重要)设 A, B 同为 n 阶方阵,且 AB = I。证明 BA = I。
证:由 AB = I 得 n = r(I) = r(AB) ≤ r(A) ≤ n,故 r(A) = n,即 A 可逆。设 A−1 为其逆,则 B = IB = (A−1A)B = A−1(AB) = A−1,故 BA = A−1A = I。∎
这个结论不平凡:在无穷维或非方阵情形,AB = I 并不蕴含 BA = I。方阵情形之所以成立,全靠「秩」这个有限维工具——它是本章最漂亮的一个应用。
5. 设 A 为 n 阶方阵,A3 = O。证明 A 不可逆(A ≠ O 时)。
提示:若 A 可逆,对 A3 = O 左乘 (A−1)3 得 I = O,矛盾。
1. 解 AX = B,其中 A =2111,B =11。
解:A−1 =1−1−12(见习题课四第 1 题),故 X = A−1B =1−1−1+2 =01。验算:211101 =11。
2. 解 CX = D,其中 C =1224,D =12。
答:无穷多解。X =10 + t−21,t ∈ 𝔽。(r(C) = r(CD) = 1 < 2。)
3. 解 CX = E,其中 C 同上,E =13。
答:无解。增广后作 R2 − 2R1 得 (0, 0 | 1),即 0 = 1。系数矩阵秩 1 ≠ 增广秩 2。
4. 解 XA = B(右乘),其中 A =2111,B =11。
解:A 可逆,两边右乘 A−1 得 X = BA−1 =111−1−12 =01。
提醒 XA = B 与 AX = B 的解法不同:前者要右乘逆,后者要左乘逆。转置一下就会把左变成右:(XA)t = AtXt。
5. 设 A 可逆。证明 AX = O 只有零解;再证明 AX = B 对任意 B 都有唯一解。
提示:前者两边左乘 A−1;后者取 X = A−1B 即得存在性,唯一性由前一句保证(两个解的差是齐次解,必为零)。
1. 设 J =1101。计算 Jn(n 为正整数)。
答:Jn =1n01。验证:J2 =1201,J3 = J2J =1301;归纳即可(Jn+1 = JnJ 把右上角的 n 加上 1)。也可写成 J = I + N(N =0100,N2 = O),再用二项式展开。
2. 计算 A2,其中 A =1234。
答:A2 =7101522。
3. 求所有与 N =0100可交换的 2 阶矩阵。
答:形如 ab0a(与习题课一第 4 题同一族:J = I + N,故与 N 可交换 ⟺ 与 J 可交换)。
4. 设 A, B 同阶,且 AB = A、BA = B。证明 A2 = A。
证:A2 = A·A = (AB)A = A(BA) = AB = A。同理 B2 = B。这一对条件在投影的语境里很自然:A、B 是同一投影的两种写法。
5. 判断对错,并说明理由:
(i)若 A2 = O,则 A = O;
(ii)若 A2 = I,则 A = I 或 A = −I;
(iii)(A + B)2 = A2 + 2AB + B2 恒成立;
(iv)若 AB = O 且 A ≠ O,则 B = O。
答:(i)错——N =0100;(ii)错——见习题课四第 5 题的反射族;(iii)错——须 AB = BA(例题 12(1));(iv)错——见习题课二第 2 题。四题全是「把数的直觉搬到矩阵上」的陷阱,值得抄在错题本第一页。
1.(证明)设 A 可逆且 A2 = A。证明 A = I。
证:两边左乘 A−1 得 A = I。(这与例题 12(4) 的结论一致:非平凡的幂等矩阵必不可逆。)
2. 设 A =1101。求 A−1 与 A3。
答:A−1 =1−101(用第 1 题的公式法:det = 1,逆为1−101);A3 =1301。
3. 证明 r(A) = 0 ⟺ A = O。
证:「⟸」显然。「⟹」若 r(A) = 0,则 A 的每个行向量都是零向量(没有非零的行能与其他行线性无关时……更直接:行秩为 0 意味着行向量组的极大无关组是空集,故每行都是零向量),即 A = O。
4.(提高)设 A 为 n 阶方阵且 A2 = A。证明 r(A) + r(I − A) = n。
证(分两步):
① 两个像空间的交只有零向量。设 y ∈ im A ∩ im(I − A),即存在 u, v 使 y = Au = (I − A)v。由 A2 = A 得 Ay = A2u = Au = y;同时 Ay = A(I − A)v = (A − A2)v = O。故 y = O。
② 整个空间是两者之和。对任意 x,x = Ax + (I − A)x,其中第一项在 im A、第二项在 im(I − A)。
由 ① ②,𝔽n = im A ⊕ im(I − A)(直和)。故 n = dim im A + dim im(I − A) = r(A) + r(I − A)。∎ (这里用了「像空间维数 = 秩」,即 2.13 节的现代接口;第五章会把它写成正式定理。)
5. 设 A, B 为同阶方阵,AB = BA 且 A 可逆。证明 A−1B = BA−1。
证:由 AB = BA,两边左乘 A−1 得 B = A−1BA;再两边右乘 A−1 得 BA−1 = A−1B。∎ 结论:可逆矩阵的逆与它能交换的任何矩阵都交换——这是「逆保持交换性」这一普遍现象的第一个例子。
本章的题目都有一副「容易看似对」的面孔。把常见的错误按类型归档,比多刷十道题有用。
| 编号 | 错误类型 | 典型表现 | 纠正 |
|---|---|---|---|
| E1 | 把数域直觉硬搬 | 写 (A + B)2 = A2 + 2AB + B2 | 先展开再合并;合并前必须确认可交换 |
| E2 | 忽略型 | AB 与 BA 混用;不检查列数 = 行数 | 动笔前先写两个型,做一次配对检查 |
| E3 | 转置次序颠倒 | 写成 (AB)t = AtBt | 记住「转置是反变的」:(AB)t = BtAt |
| E4 | 零因子误判 | 由 AB = O 推出 A = O 或 B = O | 矩阵环有零因子;用秩判断(r(A)+r(B) ≤ n 时常发生) |
| E5 | 消去律误用 | 由 AB = AC 约去 A | 只有 A 可逆时才可消去 |
| E6 | 分块漏项 | IOAIIBOI 右下写成 AB | 正确结果是 I + AB;分块题一律回乘验算 |
| E7 | 含参不讨论 | 对含 k 的矩阵直接除以 k | 先求行列式定出退化值,再分段讨论 |
| E8 | 秩当作独立结论 | 算出 r(A) 却不说明它意味着什么 | 每算一个秩,回答一句「这对方程组的解说了什么」 |
第二章
第一问(知识) 本章一共立起了几个「对象」和几条「结构」?不看书写出:矩阵的四个基本运算(加、数乘、乘、转置)、两类特殊矩阵(单位、数量)、两个核心数(秩、迹),以及可逆的五种等价说法。
第二问(方法) 本章用得最多的三种技术是什么?提示:①「展开—合并—回证」处理恒等式;②「先不等式夹、再用可逆反向」处理秩的等式;③「分块 + 回乘」处理大矩阵。能各举一道本章的例题作为例子吗?
第三问(观念) 本章最重要的一句话是「矩阵乘法就是态射的复合」。回答:为什么「乘法不交换」不是缺陷?旋转与剪切的例子说明——如果一个对象的运算全都交换,它会丢掉什么信息?
下一步 本章把「解方程」提升成了「对象的研究」,但仍有两个问题悬着:为什么 ad − bc 是那个关键判据?为什么秩可以用子式刻画?下一章《行列式:可乘的不变量》将回答它们,并把「可逆」的第六种说法 det A ≠ 0 补上。
札记①
《九章算术》的「方程」章里,解题靠的是在布上摆竹签,摆成一个方阵的样子——刘徽说「并列为行,故谓之方程」。「方程」这个词在西汉的意思,正是「按行列摆开来」。他没有矩阵这个名字,但他手里那块布,就是矩阵。
一千八百年后,1858 年,凯莱(A. Cayley)发表《矩阵论备忘录》,第一次把这种数表当作独立对象,并且给了它自己的乘法。1888 年,皮亚诺(G. Peano)把矩阵的乘法规则整理成今天教科书上的形式。两条线索在这里合上:中国人发明了「摆开来算」的技术,欧洲人把它变成了「可以运算的对象」。
消元的思想并非中国独有。日本江户时代的和算家有「点窜术」,用算盘与纸片做类似的消元;阿拉伯与印度数学家则在解线性方程组时发展出「消去一个未知数再消去一个」的递推技巧。真正的转折发生在欧洲——当行列式从解方程的公式里被「提炼」成一个独立的对象时(莱布尼茨 1693 年用行列式研究方程组,克拉默 1750 年给出克拉默法则),数学才第一次有了「从具体问题中抽出结构」的习惯。
于是有了一个很有意思的次序:先是算法(中国,公元前 1 世纪),再是公式(欧洲,18 世纪),最后是对象(欧洲,19 世纪)。本书第一章走完了「算法」这一段,本章走完了「对象」这一段;下一章将补上「公式」那一段(行列式)。
如果只有算法,只能算一道题;一旦有了对象,就可以给对象命名、给对象定义运算、研究对象之间的关系。这就是本章所做的一切:给数表取名叫「矩阵」,定义加与乘,然后问「哪些矩阵可逆」「矩阵可以分成几类」。一旦这些问题被提出,剩下的就是纯数学的推进——而推进的结果,最后又回到算法上:矩阵语言让「解方程」变成一个可以批量、可以并行、可以交给机器执行的过程。
今天在计算机上解线性方程组,用的仍是「摆开来算」这条路的现代版本;而支撑这些程序的全部理论,都建立在「矩阵是一个对象」这一句话上。
问一 刘徽说「并列为行」,按今天的约定这是竖排;为什么本书正文改用「一个方程占一行」?这个改动的代价与收益各是什么?
问二 凯莱把矩阵当作对象时,他必须为它定义乘法。如果他不定义乘法而只定义加法,矩阵还能承载「复合」这个几何动作吗?说明理由。
问三 本章把「秩」认作不变量。一句话说明:为什么「不变量」是分类问题里最值钱的东西?并用例题 7 的两种算法验证:秩不依赖怎么算,只依赖矩阵本身。
札记②
「cij = Σk aikbkj」这条规则,可以有三种完全不同的说法:
算法说法 行碰列,逐项相乘再求和。(第一次学乘法时最常用的说法。)
复合说法 先做变换 B 再做变换 A,合起来还是同一个形状的变换,它的表就是 AB。(本章 2.5 节的说法。)
系数说法 AB 的第 j 列,是 A 的各列按 B 的第 j 列的系数加权求和。(这个说法在证明秩不等式时最有用。)
三种说法说的是同一件事,但各有适用场合。第一句负责计算,第二句负责理解,第三句负责证明。
如果乘法只定义成逐位相乘,那么「变换的复合」这个最重要的几何动作就无表可写——两个可写的动作合起来反而不可写了。所以乘法规则不是「约定」,而是被要求「与复合兼容」逼出来的唯一解:
(i)乘法的结果必须是 m × n 的表(否则不能表示复合后的变换);
(ii)乘积应当对两个因子各自线性(否则交换与叠加就说不通);
(iii)在这些要求下,cij = Σk aikbkj 是唯一的可能。
这就是数学里常见的「泛性质」思维:不是「我们喜欢这样定义」,而是「要使某个性质成立,只能这样定义」。
初学时常觉得非交换是「麻烦」。换个角度看:一个集合上的运算是交换的,意味着这个对象「记不住次序」;而现实中的很多动作恰恰以次序为内容——先穿袜子再穿鞋与先穿鞋再穿袜子不是一件事(这个比喻在数学普及书里很有名)。矩阵乘法的不交换性,正是它能够表示「有次序的动作」的证据。
更深的道理在下册:三维空间里绕不同轴的旋转群 SO(3) 是非交换的,正是这个非交换性支撑了刚体力学、量子力学的角动量代数。非交换不是缺陷,是非平凡的来源。
问一 把三种说法各自套到例题 1 的 AB 上,看是否得到同一个矩阵。哪一句最快?哪一句最不容易出错?
问二 如果允许「逐位相乘」作为一种新运算(通常记作 A ∘ B),它会满足分配律吗?它有单位元吗?它能把「复合」表示出来吗?
问三 本章反复出现「幂的可交换」(ApAq = AqAp)。说明:为什么同一个矩阵的多项式总能互相交换?这一事实在例题 12(3) 的幂零求逆里起了什么作用?
六步方法表(本章所有题型都可以归到这六步之一)
| 步骤 | 要做什么 | 用到的工具 | 典型题 |
|---|---|---|---|
| 1 | 先写型,检查能否运算 | 型配对规则 | 例1(3)、习题课一第 3 题 |
| 2 | 恒等式题:展开—合并—回证 | 分配律 + 可交换条件 | 例12、习题课二第 4 题 |
| 3 | 求逆:同步操作 AI | 算法 2.1 | 例5、习题课四 |
| 4 | 求秩:阶梯形 或 子式夹逼 | 第一章定理 + 定义 2.13 | 例7、习题课六 |
| 5 | 解方程 AX = B:先判秩再分情形 | 第一章定理 1.4/1.7 | 例11、习题课九 |
| 6 | 大矩阵:分块 + 回乘验算 | 定理 2.5 | 例2、习题课三 |
数学史上,每一次大的进步都伴随着一次「语言升级」。笛卡尔把几何变成坐标,于是曲线有了方程;线性代数把「解方程」变成「矩阵与向量空间」,于是无穷多的问题被归成几个可以分类的对象。
矩阵这门语言有三个特点,值得记住:
一、它把「过程」变成「对象」。消元是一个过程,矩阵乘法把一串过程打包成一个对象。有了对象,才可以研究「两个对象是否等价」「等价类有几个」。
二、它把「关系」变成「运算」。「先做 B 再做 A」这样的关系,在矩阵语言里就是一次乘法。关系一旦变成运算,就可以计算、可以化简、可以证明。
三、它把「问题」变成「不变量」。「这道题有没有解」变成「增广矩阵的秩是多少」;「解唯一吗」变成「A 可不可逆」;「两个变换是不是本质相同」变成「它们的秩是否相等」。把问题变成一个不变的数,这是线性代数最深的技巧,也是本章最重要的收获。
下册将在这门语言上继续升级:从「有限维向量空间」到「线性变换的代数」,从「数值不变量」到「特征值与若尔当块」,最后走到几何——欧氏空间、仿射空间、射影空间。而这一次,语言不再从方程出发,而是从「空间与变换」出发。
下面八条恒等式,按难度递增。前四条是本章工具的复习,后四条通向下册。
1. 证明 (A + B)t = At + Bt、(λA)t = λAt。
提示:逐位比对。
2. 证明 (ABC)t = CtBtAt(三次,或一般地 n 次)。
提示:把 BC 看成一块,用两次定理 2.4(4),再用归纳法推广到任意多个因子。结论:转置把整个乘积的次序倒过来。
3. 证明若 A 对称、P 可逆,则 PtAP 对称。
证:(PtAP)t = PtAt(Pt)t = PtAP。这个构造叫「合同」,下册讲二次型时会成为主角。
4. 证明 tr(ABC) = tr(BCA) = tr(CAB)(循环置换不改变迹)。
提示:用 tr(XY) = tr(YX) 两次。
5. 设 A 满足 A2 − 3A + 2I = O。证明对任意正整数 m,Am 都可写成 αA + βI 的形状。
提示:由等式得 A2 = 3A − 2I,于是 A3 = 3A2 − 2A = 3(3A − 2I) − 2A = 7A − 6I,依此类推。关键观念:这个等式把 A 的幂限制在一个二维子空间里——它就是下册「最小多项式」的最简例子。
6. 设 A2 = A,证明 A(I − A) = O 且 (I − A)2 = I − A;再证明 (2A − I)2 = I。
提示:(2A − I)2 = 4A2 − 4A + I = 4A − 4A + I = I。意义:投影对应一个反射。零化多项式 x2 − x 与 x2 − 1 分别刻画这两类对象。
7.(提高)设 A、B 为同阶方阵,AB − BA = A。证明 A 不可逆(提示:先把等式改写成 AB = A + BA = A(I + B)… 再比较秩,或用「取迹」)。
提示(取迹法):两边取迹得 tr(AB) − tr(BA) = tr(A),左端为 0,故 tr(A) = 0。这只给了一个必要条件,不能直接结论——但可以继续用「Am 的迹也为 0」这条线索做下去(这是下册「幂零矩阵的迹」的经典论证)。本题的真正价值在于:让看到「迹」这个看似简单的量,能做不平凡的推理。
8.(提高)证明:若 A 与所有同阶矩阵可交换,则 A 是数量矩阵。
提示:取 Eij(只有 (i,j) 位为 1)。比较 AEij 与 EijA 的非零位置,可推出 aii = ajj(对所有 i ≠ j)以及 akl = 0(对所有 k ≠ l)。这就是定理 2.16(3)。
秩的不等式是本章最实用的工具。下面的定理构成一个完整的小专题,学完后可以应付绝大多数「矩阵秩」的竞赛与考研题。
秩不等式(总表) 设各运算有意义:
(A1)r(A + B) ≤ r(A) + r(B);
(A2)r(AB) ≤ min{r(A), r(B)};
(A3)r(PAQ) = r(A)(P, Q 可逆);
(A4)r(AB) ≥ r(A) + r(B) − n(A 为 m × n,B 为 n × p,Sylvester);
(A5)rAOOB = r(A) + r(B);
(A6)rACOB ≥ r(A) + r(B)。
1. 用(A2)与(A3)说明:初等变换不改变秩。
提示:初等变换 = 左乘或右乘初等矩阵,而初等矩阵可逆,取 Q = I 即得。
2.(A5)的证明:证明准对角块矩阵的秩等于两块秩之和。
提示:见习题课三第 3 题(列空间的直和)。
3.(A4)的证明(Sylvester 不等式)。
提示:考虑 M =InBAO,用两类分块变换分别把 M 化为InBO−AB与InOO−AB,两次都用可逆的块三角矩阵(其逆形如(A5)题中已见的 IOXI),由(A3)秩不变,得两边关系。展开后即得 r(AB) ≥ r(A) + r(B) − n。
4. 应用:设 A 为 3 × 5 矩阵、B 为 5 × 3 矩阵,已知 AB = I3。求 r(B) 的可能值。
解:由(A2)3 = r(AB) ≤ r(B) ≤ 3(因为 B 只有 3 行),故 r(B) = 3。这解释了为什么「非方阵也可以有右逆」——只要秩足够。
5. 应用(Sylvester):设 A、B 为 n 阶方阵,AB = O。证明 r(A) + r(B) ≤ n。
证:由(A4)得 0 = r(AB) ≥ r(A) + r(B) − n,移项即得。这个不等式是「零因子的定量版」:两个非零矩阵相乘为零,说明它们的秩按「互补」的方式被压在 n 以下。它是本章所有秩不等式里应用最广的一条。
6.(综合)设 A 为 n 阶方阵、A2 = A。用(A4)与(A5)证明 r(A) + r(I − A) = n。
提示:由 A(A − I) = O 得 r(A) + r(A − I) ≤ n;又 r(A − I) = r(I − A)。另一边用 A + (I − A) = I 得 n ≤ r(A) + r(I − A)。两向夹出等式。注意这一路的证明完全避开了「直和分解」,只用了秩不等式——这是「不等式工具」威力的最好展示。
本章的每个定义都可以写成几行程序。做完这个实验,会对「为什么乘法要这样定义」有一层新的体会:逐位相乘的程序谁都会写,乘法规则的程序需要三重循环——它的结构本身就说明了「行碰列」的必然性。
实验 2.1 矩阵乘法的朴素实现
对 m × s 的 A 与 s × n 的 B,按定义直接三重循环:
for i in 1..m: for j in 1..n: c[i][j] = 0; for k in 1..s: c[i][j] += a[i][k]·b[k][j]。
数的乘法共 m·s·n 次。当 m = s = n 时约 n3 次——这是本章唯一一个「规模」概念。
实验 2.2 分块实现(块大小 b)
把 A、B 按 b × b 分块,对每对块调用实验 2.1 的小规模乘法,再按块相加。数的乘法次数仍然是 n3,但内存访问的局部性大幅改善——在真实计算机上,速度常常提高数倍。这解释了为什么工程实现里到处是分块。
实验 2.3 用秩检验库函数
随机生成若干 3 × 3 整数矩阵,用两种方式求秩:(i)按第一章的阶梯形算法;(ii)按子式法(枚举所有 3 阶、2 阶子式)。要求两种方式结果一致——这是对「行秩 = 列秩 = 子式刻画」的一次实证检验。
思考题 (1)为什么矩阵加法不可能用「行碰列」而必须「逐位」?提示:加法对应的是「两个变换的作用叠加」,叠加是逐点进行的。运算的定义方式,由它要表示的动作决定。
(2)已知存在复杂度低于 n3 的矩阵乘法算法(Strassen 1969 年给出 nlog27 ≈ n2.807 的算法)。这些算法的出发点全在分块上:把 2 × 2 块矩阵的乘法用 7 次小块乘法完成(而不是通常的 8 次)。这个事实说明了「结构」的什么价值?
满分 100 分,建议用时 90 分钟。允许带一张手写公式卡(不许写文字说明)。
一、(24 分,每题 6 分)计算或判断。
(1)设 A =1234,B =0110,求 AB 与 BA,并指出两者是否相等。
(2)求 r123246101。
(3)求 1101 的逆矩阵。
(4)判断:若 A2 = O,则 A = O。
二、(24 分,每题 12 分)解答。
(1)用高斯—若尔当法求 A =123253108 的逆矩阵。
(2)解矩阵方程 CX = D,其中 C =1224,D =12。
三、(24 分,每题 12 分)证明。
(1)证明 r(AB) ≤ min{r(A), r(B)}。
(2)设 A, B 同为 n 阶方阵且 AB = I,证明 BA = I。
四、(28 分)综合。
(1)(14 分)判断 k 取何值时 A(k) =k111k111k 可逆,并说明理由。
(2)(14 分)用分块乘法计算 IOAIIBOI(A =2345,B =1234),并指出右下块为什么不是 AB。
参考答案与评讲要点
一(1)AB =2143,BA =3412,不等。评讲要点:B 是交换两行(也是交换两列)的矩阵,左右乘一次就得到「换行」与「换列」两个不同结果——这是理解左乘右乘之别的最小例子。
一(2)r = 2。评讲要点:必须指出第 2 行 = 2 × 第 1 行(所以秩最多 2),再给出一个二阶非零子式(如 1311,det = −2 ≠ 0)说明秩至少 2。只写「显然」不得分。
一(3)1−101。评讲要点:验算一次。
一(4)错。反例 A =0100。评讲要点:这是本章最重要的「反直觉」结论之一,必须给出具体反例。
二(1)A−1 =−4016913−5−35−2−1。评讲要点:过程要写出每一步操作(左右同步),不能只报答案;最后用一行乘法验算。
二(2)X =10 + t−21。评讲要点:先判秩(r(C) = r(CD) = 1 < 2)再下结论;必须写出通解而不是一个特解。
三(1)见例题 8(1)。评讲要点:用「列空间包含」给出不等式的写法是标准答法;能把「行」与「列」两种视角都写出来的,给满分。
三(2)见习题课八第 4 题。评讲要点:核心是 r(A) = n 这一步。若跳过它直接说「两边左乘 A−1」,属于循环论证(A−1 的存在性正是要证的)。这是本题唯一的陷阱。
四(1)k ≠ 1, −2。评讲要点:必须写出 det = (k−1)2(k+2),并分三段讨论秩(k ≠ 1, −2 时 r = 3;k = 1 时 r = 1;k = −2 时 r = 2)。只报可逆条件不讨论退化的,扣一半分。
四(2)结果 =IBAI + AB =10120134231216451929。评讲要点:右下块由 A·B + I·I 两项相加而来,故为 I + AB。本章结课提醒:看到分块结果先回乘一遍,是唯一能保证不丢项的习惯。
本章结束语 现在手里有一件工具,它把「解方程组」变成了「研究对象」;也第一次看到,抽象的术语(环、群、不变量、分类)不是装饰,而是从具体问题里长出来的。下一章《行列式:可乘的不变量》将把本章悬着的两个问题合上一半;另一半——「矩阵之间如何才能算同一个」——要等到下册的相似分类。
第二章结束的时候,我们手里有一张「可逆的等价刻画」清单,一共六条。其中第五条是「r(A) = n」,而第六条当时只写了一个符号、没有给内容:(6) det A ≠ 0。det 这个记号是什么、为什么它能判可逆、它又凭什么值得与「秩」并列——本章整整五十页,就是在回答这三问。
先把问题本身摆正。n 个方程、n 个未知数,什么时候恰好有一个解?第一章已经给出过答案:「秩 = n」。但秩要消完元才知道,是「算到最后才见分晓」的量。人们自然要问:能不能从系数出发直接写出一个数,这个数非零当且仅当解唯一?这样的数如果存在,它就是方程组的一枚「体检指标」——不用开刀,抽一管血就知道结果。
两直线的情形图上已经说尽:相交、平行、重合,三种局面。平行与否由什么决定?把两条直线都写成 a1x + b1y = c1 与 a2x + b2y = c2,那么「不平行」就是a1b2 − a2b1 ≠ 0。这个「交叉相乘再相减」的式子,就是本章主角的 n = 2 版本。行列式不是发明出来吓人的记号,它是「不平行」这件事的代数名字。
〔明线〕本章路线 明线仍然是解方程。本章要立起来的东西依次是:二、三阶的直观定义(3.2)→ 排列与逆序数(3.3)→ n 阶定义(3.4)→ 四条性质(3.5–3.8)→ 展开降阶(3.9–3.10)→ 范德蒙德与乘法规则(3.11–3.12)→ 克拉默法则(3.13)→ 补全可逆第六种说法(3.14)→ 体积与定向(3.15)→ 伴随求逆(3.16)→ 唯一性刻画(3.17)→ 群同态接口(3.18)。每一步都从「解方程」的需要里长出来。
定义 3.1(二阶行列式) detabcd = ad − bc。二阶方阵 A 的行列式记作 det A 或 |A|。
这不是一个随手写下的式子。第三章开头已经说过,它就是a1b2 − a2b1——「两条直线不平行」的代数名字。几何上它还有第二个身份:把矩阵的两行看作平面上从原点出发的两个向量,以它们为两边作平行四边形,|ad − bc| 恰是这个平行四边形的面积;而ad − bc 的正负号记录的是这两个向量的先后次序(顺时针还是逆时针),称为定向。
三阶的情形,教科书上有一条「对角线法则」(萨吕法则):主对角线方向的三个乘积取正,副对角线方向的三个乘积取负,六项相加。先看数字再谈规则。
det1234567810 = 1·5·10 + 2·6·7 + 3·4·8 − 3·5·7 − 1·6·8 − 2·4·10 = 230 − 233 = −3。
为什么必须另立定义 因为对角线法则在 n = 4 时只给出 8 项,而按「每行取一个、每列取一个」的要求应有 4! = 24 项——它漏了一大批。真正的一般定义要到 3.4 节才立起来,而它的钥匙藏在 3.3 节:先学会数「顺序的乱程度」。
要写下「每行取一个、每列取一个」的所有取法,最自然的记法是排列:把 1, 2, …, n 按某种次序排成一列,记作 j1j2⋯jn,它代表「第 1 行取第 j1 列、第 2 行取第 j2 列、……」。全取法共 n! 种。但每项该带正号还是负号?答案藏在一个可以数出来的量里。
定义 3.2(逆序与逆序数) 在一个排列中,若一对数的前后次序与大小次序相反(大的排在了小的前面),称为一个逆序。排列中逆序的总数称为逆序数,记作 τ(j1j2⋯jn)。τ 为偶数的排列叫偶排列,为奇数的叫奇排列,并记 sgn(j1j2⋯jn) = (−1)τ,称为排列的符号。
数逆序的办法很笨但很可靠:从左到右,逐个数「它右边有几个比它小的」,再求和。例如 2413:2 的右边只有 1 比它小(1 个);4 的右边有 1、3 比它小(2 个);1 的右边没有;合计 τ(2413) = 3,奇排列,符号为 −1。
定理 3.1(对换改变奇偶性) 把排列中任意两个数对换位置,排列的奇偶性改变。推论:在 n ≥ 2 时,奇排列与偶排列各占一半,各 n!/2 个。
定理 3.1 的证明是一个漂亮的计数论证:对换之后,只有「涉事的两数之间」的那些数对改变了逆序状态,而被跨过的每个中间数恰贡献两次翻转——总数加加减减下来,奇偶性必然翻转。这条定理眼下看起来只是个关于计数的小事实,但它马上会变成行列式性质的发动机:「换两行,行列式变号」(3.6 节)说的正是同一件事。
| 排列(n = 3) | 123 | 132 | 213 | 231 | 312 | 321 |
|---|---|---|---|---|---|---|
| 逆序数 τ | 0 | 1 | 1 | 2 | 2 | 3 |
| 符号 sgn | + | − | − | + | + | − |
现代接口 「sgn」是第一头从代数里钻出来的特征标:它把「重排」这种操作翻译成 ±1,并且满足 sgn(σρ) = sgn(σ)·sgn(ρ)——先把两件事各自的符号乘起来,等于合成这件事的符号。这正是 3.18 节「群同态」的预演,也是对称群 Sn 进入线性代数的入口。
定义 3.3(n 阶行列式) 设 A = [aij] 为 n 阶方阵。定义
det A = Σ(j1⋯jn) sgn(j1j2⋯jn) · a1 j1 a2 j2 ⋯ an jn
其中求和跑遍 1, …, n 的全部 n! 个排列。用一句话说:每行取一个、每列取一个的乘积,按「取法的乱序程度」决定正负号,全部加起来。
这个定义值得慢读三遍。它有三层意思:第一,每一项都从每一行里恰取一个数;第二,取过的列不能重取(所以是排列);第三,正负号由排列的逆序数决定,与数的大小无关。n = 2 时它给出 ad − bc,n = 3 时展开恰是萨吕的六项——定义与直观在低阶完全吻合,这不是巧合,而是设计。
看一个四阶的实际算例。取
| 1 | 0 | 2 | −1 |
| 3 | 0 | 0 | 5 |
| 2 | 1 | 4 | −3 |
| 1 | 0 | 5 | 0 |
按定义要写 24 项,但不必慌:第 2 列只有一个非零元 a32 = 1,所以凡「第 3 行不取第 2 列」的项全是零,可直接划掉。剩下的活口逐行清点——第 2 行只能取第 1 或第 4 列,第 4 行只能取第 1 或第 3 列,逐一对凑,存活项恰有三个:
| 取法 σ | 乘积 | 逆序数 τ | 符号 | 带符号项 |
|---|---|---|---|---|
| (1, 4, 2, 3) | 1·5·1·5 = 25 | 2 | + | +25 |
| (4, 1, 2, 3) | (−1)·3·1·5 = −15 | 3 | − | +15 |
| (3, 4, 2, 1) | 2·5·1·1 = 10 | 5 | − | −10 |
det A = 25 + 15 − 10 = 30。
三个活口而不是一个——这正是要点。按定义算行列式是「可行但愚勇」:n! 增长太快,10! = 3628800 项,机器也吃不消。所以定义负责「说清楚它是什么」,计算要靠 3.8 节的消元算法与 3.9 节的展开降阶。本例若沿第 2 列展开(定理 3.9),一步就化为一个三阶:这个「愚勇而可行」的定义,完整地走一遍再看后面的捷径。
现代接口 「每行取一个、每列取一个,再按乱序定号求和」这种构造,在抽象代数里称为交错化(alternatization)。它出现的场合远不止行列式:凡是想从「n 个输入」造出一个「对顺序敏感」的量,都是这条路。3.17 节将证明:满足三条公理的这种函数有且只有一个——那时「行列式」就会从一个定义升格为一个被唯一刻画的对象。
定理 3.2(转置不变) 对任意 n 阶方阵 A,det(At) = det A。
证 At 的 (i, j) 元是 aji。按定义展开 det(At) 的每一项形如 sgn(σ)·aσ(1) 1⋯aσ(n) n,把乘积因子按行号重排即得 sgn(σ−1)·a1 σ−1(1)⋯,而排列与它的逆有相同的奇偶性(τ(σ) = τ(σ−1)),于是逐项对应、总和相等。∎
证明的门槛只有一个:要相信「τ(σ) = τ(σ−1)」。直观地说,把 n 个数对的「前后关系」整个翻过来,逆序对与顺序对恰好互换,总数 n(n−1)/2 不变,奇偶性自然不变。
数值上立刻可以核对:三阶例 det1234567810 = −3,转置后按行算 1·5·10 + 4·8·7 + 7·2·6 − 7·5·6 − 1·8·6 − 4·2·10 = 230 − 233 = −3,分毫不差。
这条定理的价值在于省一半的话:从此凡是对「行」证明的性质,对「列」自动成立。行列式因此是一台双面机器——行视图与列视图是同一台机器的两个观察角度,这与第二章「行秩 = 列秩」的精神完全一致:好的对象不偏袒任何一个视角。
与第二章的呼应 2.7 节说转置是「反变」的:(AB)t = BtAt。行列式却对转置纹丝不动——反变的操作遇上一个不变量,恰好互相抵消。这种「一个反变、一个不变」的搭配在数学里反复出现,记住这一对,下册讲对偶空间时会再遇到。
定理 3.3(换行变号) 交换方阵 A 的第 i 行与第 j 行得到 A′,则 det A′ = −det A。
证 按定义,det A′ 的每一项与 det A 的项一一对应:取法的差别只是把排列 σ 换成 σ∘(ij)——即先做一次对换再做 σ。由定理 3.1,对换改变奇偶性,故每一项都恰好变号,总和自然变号。∎
注意证明里发生了什么:行与列的角色根本不对等。交换两行动的是「取法的排列」,所以变号来自 sgn;而交换两列在转置不变性下结论相同(定理 3.2 把行的话翻译给列)。性质本身对称,证明的机理却分工明确。
推论 3.4(两行相同或成比例) 若方阵有两行相同或成比例,则 det A = 0。证:交换这两行,矩阵不变而行列式变号,故 det A = −det A,即 det A = 0。∎
数值核对:把三阶例的第 1、3 行交换得 7810456123,萨吕算得 7·5·3 + 8·6·1 + 10·4·2 − 10·5·1 − 7·6·2 − 8·4·3 = 275 − 266 = +3,恰是 −(−3)。
〔几何〕两行相同为什么面积是零 把两行看成平行四边形的两条边:两条边重合(或共线),四边形被压扁成一条线段,面积自然是零。推论 3.4 的代数证明与这幅几何图景完全同构——「det A = 0 ⟺ 降维」这根线,将在 3.15 节正式接到体积上。
定理 3.5(单行线性) 行列式对单独一行是线性的:
(1)倍乘:第 i 行各乘 k,行列式变为 k 倍;
(2)拆分:若第 i 行 = 行 u + 行 v(其余行不动),则 det A = det Au + det Av,其中 Au、Av 分别是把第 i 行换成 u、v 所得的矩阵。
证明几乎是照抄定义:每一项 a1 j1⋯an jn 恰含第 i 行的一个因子,所以第 i 行乘 k 时每一项乘 k;第 i 行拆成两项时每一项拆成两项。符号 sgn 只管「取法」,不管数值,故原样保留。
推论 3.6(全阵倍乘) det(kA) = kn det A。证:n 行依次各乘 k,共乘 n 次。∎
推论 3.6 是初学者的经典陷阱:det(2A) 不是 2 det A,而是 2n det A。三阶例里 det(3A) = 27 × (−3) = −81,动手一算便知。
数值核对拆分(第 3 行拆开):
det1234567810 = det123456784 + det123456006 = 15 + (−18) = −3 ✓
现代接口 「对每一行线性、对换行变号、在单位阵上取 1」——这三句话在 3.17 节将被立为三条公理,并证明满足它们的函数唯一。这是数学的一种标准玩法:先用法,后立法。欧几里得几何的公理、群的公理、拓扑的公理,走的都是同一条路。
定理 3.7(消法变换不变) 把第 j 行的 k 倍加到第 i 行(j ≠ i),行列式不变。
证 由定理 3.5(2) 拆分:
det(⋯, ri + k·rj, ⋯) = det(⋯, ri, ⋯) + k · det(⋯, rj, ⋯),
第二项的矩阵里第 i 行与第 j 行相同,由推论 3.4 其值为 0。∎
这个证明是全章最漂亮的两行论证:拆分把「消法」拆成「原样」加「两行相同」,而后者恰是零。性质一至四至此齐备,先合成一张总表——它们正是第一章三种初等行变换在行列式上的「收费表」:
| 初等行变换 | 对 det 的作用 | 出处 |
|---|---|---|
| 交换两行 ri ↔ rj | 变号 | 定理 3.3 |
| 某行乘非零数 ri × k | 乘 k | 定理 3.5(1) |
| 消法 ri + k·rj | 不变 | 定理 3.7 |
定理 3.8(用消元算行列式)〔明线〕 用初等行变换把 A 化为上三角阵 U,则 det A = (±1) · (所有倍乘因子的乘积) · det U;而 det U = 对角元之积。于是行列式可以在 O(n3) 步内算出——第一章的消元算法(张苍法)多了一种收获。
拿三阶例实际走一遍:r2 − 4r1、r3 − 7r1(两次消法,不变),得 1230−3−60−6−11;再 r3 − 2r2(消法),得 1230−3−6001。全程无换行、无倍乘,故
det A = 1 × (−3) × 1 = −3 ✓
〔明线〕算法的三份收成 张苍法至今交出了三份答卷:第一章用它解方程;第二章把它写成「左乘一串初等矩阵」,长出逆矩阵与秩;本章它又顺手算出行列式。同一套动作,三种产出——这正是「直观可操作的算法」配得上当一条明线的原因:它不是通往现代语言的台阶,它本身就是现代语言在地面的样子。
定义 3.4(余子式与代数余子式) 在 n 阶方阵 A 中,划去第 i 行、第 j 列后剩下的 (n−1) 阶行列式记作 Mij,称为余子式;而
Aij = (−1)i+j Mij
称为代数余子式。系数 (−1)i+j 在方阵上排成一个棋盘花纹,正负相间,从左上角的 + 开始。
定理 3.9(按行/列展开) 对任意固定的 i(或 j):
det A = ai1Ai1 + ai2Ai2 + ⋯ + ainAin = a1jA1j + a2jA2j + ⋯ + anjAnj
定理 3.10(错位展开为零) 当 i ≠ k 时,ai1Ak1 + ⋯ + ainAkn = 0:一行的元素乘另一行的代数余子式,和为零。证:把第 k 行换成第 i 行得到新阵,它有两行相同故行列式为零;对这个新阵按第 k 行展开,即得上式。∎
定理 3.9 是「降阶」的许可证,定理 3.10 是后面 3.16 节伴随矩阵的发动机,都记住。数值上把图 3-6 右侧的四阶走完:划去第 2 行第 2 列后剩 305040701,沿其中第 2 列再展开,4 · det3571 = 4·(3 − 35) = −128,于是 det = 2 × (−128) = −256。
现代接口 「取一元、降一阶、带符号求和」——展开定理本质上是一个递归算法,它把 n 阶行列式归结为 n−1 阶。递归与归纳是同一件事的两面:定理 3.9 的证明正是对 n 作归纳。这种「定义即算法、证明即归纳」的样式,在多项式环(第六章)与范畴论里会反复出现。
3.9 节的展开是「一次取一行里的一元」。拉普拉斯把它推广为「一次取 k 行里的一切 k 元组合」——一般形式平时用得少,但它的一个特例(分块三角)是高阶行列式计算的顶梁柱。
定理 3.11(拉普拉斯展开) 在 n 阶行列式中取定某 k 行,设这 k 行中所有 k 阶子式为 N1, …, Nt(t = C(n, k)),各自对应的代数余子式为 Ā1, …, Āt,则 det A = N1Ā1 + ⋯ + NtĀt。
取 k = 1 就回到定理 3.9。真正天天在用的是 k 恰好圈出一个角落时的情形——分块三角行列式:
定理 3.12(分块三角) 设 A 为 p 阶、D 为 q 阶方阵,B、C 为长方块,则
detABOCED = det A · det D, detAOCBED = det A · det D
即:分块上(下)三角行列式 = 对角块行列式之积,与另一角的块无关。
证(以左式为例) 先设 A 可逆。用行变换 r ← r − C·A−1·(上块) 把左下块 C 消成零:由分块乘法(定理 2.5),
IO−CA−1OIOABOCED =ABOOED
左边的消法块是若干次消法行变换的合成,行列式不变(定理 3.7);右边的矩阵已是分块对角,沿前 p 行用拉普拉斯展开(或直接按定义:每个非零项须在前 p 行内取前 p 列),得 det A · det D。若 A 不可逆,用「A + εI 可逆」的摄动论证过渡(或把 det A 看成变量的多项式),等式照样成立。∎
数值核对:四阶阵 M =120340(下块),即 1200340011562378,按定理 3.12 应等于 det1234· det5678 = (−2)(−2) = 4——拉普拉斯展开与直接消元都给出 4。再如 1234012300210012,右上块的取值无关紧要:det = 1 × (2·2 − 1·1) = 3。
现代接口 分块语言是「直和」的代数影子:分块对角阵 diag(A, D) 对应表示空间 V = V1 ⊕ V2,行列式的乘法性正说的是「整体不变量 = 各部分不变量之积」。这句话在表示论里会升格为一条原理;眼下记住:看到分块三角,就想到「可拆」。
定义 3.5(范德蒙德行列式) 以 x1, x2, …, xn 为参数的行列式
V(x1, …, xn) = det11⋯1x1x2⋯xnx12x22⋯xn2⋮⋮ ⋮x1n−1x2n−1⋯xnn−1
定理 3.13(范德蒙德公式) V(x1, …, xn) = Π1 ≤ i < j ≤ n (xj − xi),即所有「后面的减前面的」两两差的乘积。
证(递推) 从最后一行起,每行减去上一行的 x1 倍:ri ← ri − x1 ri−1(i = n, …, 2)。消法变换不变,而第一列除 1 外全变为 0;按第一列展开后,每一列都提出公因子 (xj − x1),剩下的恰是 n−1 个变元的范德蒙德行列式。归纳到底,得全部两两差之积。∎
低阶核对:V(x1, x2) = x2 − x1(二阶,即「不平行」本身);V(1, 2, 3) = (2−1)(3−1)(3−2) = 2;V(1, 2, 3, 4) = 1·2·3 · 1·2 · 1 = 12。再取含负数与零的两组:V(0, 1, 3) = (1−0)(3−0)(3−1) = 6;V(−1, 1, 3) = (1−(−1))(3−(−1))(3−1) = 2·4·2 = 16。
〔几何〕范德蒙德何时非零 公式里的乘积为零当且仅当某两个 xi 相等。于是:n 个互不相同的横坐标 ⟺ 范德蒙德行列式非零——这正是「过 n 个横坐标不同的点,恰有一条次数 ≤ n−1 的多项式」的代数内核(第六章多项式环会正面处理它)。一个行列式,替「存在唯一」把了关。
定理 3.14(乘法规则) 对 n 阶方阵 A、B:det(AB) = det A · det B。
证(骨架) 关键在初等矩阵。三类初等矩阵逐一验算:换行阵的行列式为 −1,左乘它使 B 换行、使 det B 变号,两边同时变号;倍乘阵行列式为 k,两边同乘 k;消法阵行列式为 1,两边都不变。故对一切初等矩阵 E:det(EB) = det E · det B。而可逆阵可写成初等阵之积(第二章定理 2.8),逐次套用即得 det(PB) = det P · det B 对一切可逆 P 成立。最后,若 A 不可逆,则 AB 也不可逆(否则 A = AB·B−1 可逆,矛盾),两边同为 0。∎
这条定理是全章的题眼——章题「可乘的不变量」五个字说的就是它。数值核对:A = 1234、B = 5678,AB = 19224350,det(AB) = 19·50 − 22·43 = 4 = (−2)(−2)。三阶时取换行阵 P 乘前面的三阶例,det(PA3) = −det A3 = +3 = det P · det A3,两边一致。
推论 3.15 ① A 可逆时 det A ≠ 0,且 det(A−1) = 1 / det A;② det(AtA) = det(A)2;③ det(Ak) = (det A)k;④ det(adj A) = (det A)n−1(3.16 节)。
现代接口 「把乘法变成乘法」的映射是群同态;把加法变成加法的映射是线性映射。行列式同时是两件事的化身:对矩阵乘法它是同态,对「行的加法」它是线性函数。3.18 节将把这句话写成定理:det : GLn(𝔽) → 𝔽* 是满的群同态,核是特殊线性群 SLn(𝔽)。
现在兑现本章开头许下的诺言:用系数直接写出解。设 n 个方程 n 个未知数的方程组 Ax = b,系数行列式 D = det A。把常数列 b 换掉第 i 列所得的行列式记作 Di。
定理 3.16(克拉默法则) 若 D ≠ 0,则方程组有唯一解,且
x1 = D1/D, x2 = D2/D, …, xn = Dn/D。
证(一行的证明) 由第二章,D ≠ 0 时 A 可逆,解为 x = A−1b。而 3.16 节将证 A−1 = adj A / D,其第 i 个分量恰是 Di/D——按第 i 列展开 Di,出现的正是 b 的分量与 A 的代数余子式的错配乘积和,由定理 3.9 它就是解的第 i 个分量。唯一性由 A 可逆直接给出。∎
实际走一个三阶。方程组:
2x + y − z = 8; −3x − y + 2z = −11; −2x + y + 2z = −3
| 行列式 | 值 | 除以 D |
|---|---|---|
| D(系数阵) | −1 | —— |
| D1(第 1 列换成 8, −11, −3) | −2 | x = 2 |
| D2(第 2 列换成 8, −11, −3) | −3 | y = 3 |
| D3(第 3 列换成 8, −11, −3) | 1 | z = −1 |
回代检验:第 1 式 2·2 + 3 − (−1) = 8 ✓;第 2 式 −3·2 − 3 + 2·(−1) = −11 ✓;第 3 式 −2·2 + 3 + 2·(−1) = −3 ✓。
〔明线〕克拉默的美与贵 克拉默法则美在公式:解被写成系数的显式函数,这是「唯一性」最干净的证书;贵在代价:算 n+1 个 n 阶行列式,按定义要 (n+1)·n! 次乘法,而消元只要约 n3/3 次——n = 10 时是三千万对三百。所以工程上没人用克拉默解方程;但它给出的「解是系数的有理函数」这个结构性事实,理论上是消元法给不出的。公式与算法,各有各的用途——这正是「两副面孔」的分工。
定理 3.17(可逆的行列式判据) n 阶方阵 A 可逆 ⟺ det A ≠ 0。此时 det(A−1) = 1/det A。
证 (⟹)A 可逆时 AA−1 = I,两边取行列式:det A · det(A−1) = det I = 1,故 det A ≠ 0 且倒数关系成立。(⟸)若 det A ≠ 0,把 A 用消元化成上三角 U:换行只改符号、倍乘只乘非零数、消法不动,故 det A = (±1)·(非零数之积)·det U;det A ≠ 0 迫使 det U ≠ 0,即 U 的对角元全非零,r(U) = n,于是 r(A) = n,由第二章第五种说法 A 可逆。∎
至此第二章那张「可逆等价清单」的第六条补全。把七种说法并排写在一张图里——它们是同一个事实的七种语言:
〔明线〕回到最初的算题 《九章》那道 39 斗题的系数阵 321231123,行列式 3(9−2) − 2(6−1) + 1(4−3) = 21 − 10 + 1 = 12 ≠ 0——所以它有唯一解,古人的直除终有尽头而不会白走。两千年前的算法,今天可以说得这样干脆:因为行列式不为零。
前三节把行列式当「数」研究,本节把它的几何身份说破。以二阶为例(图 3-2 已示):两行向量张成平行四边形,|det| 是它的面积。三阶同理:三个行向量张成平行六面体,|det| 是它的体积。n 阶行列式则 measure 着 n 维空间里的「n 维体积」。
定理 3.18(体积伸缩率) 设 T 是 n 阶方阵给出的线性变换。任何区域 Ω 经 T 作用后的体积满足
vol(T(Ω)) = |det T| · vol(Ω)。
证(骨架) 先对小方块证:边向量 v1, …, vn 的平行体体积正是 |det[v1 ⋯ vn]|,而变换后的边是 Tv1, …, Tvn,其行列式为 det T · det[v1⋯vn]。再由「任何区域是有限个小方块的极限」,伸缩率逐块相同,整体成立。∎
常用的三个低维公式由此立得:
| 几何对象 | 公式 | 数值例 |
|---|---|---|
| 三角形面积(顶点 P、Q、R) | ½ |detQ−PR−P| | (0,0), (2,1), (1,3):½·|2·3−1·1| = 5/2 |
| 平行六面体体积 | |det(三个行向量)| | diag(1, 2, 3):6 |
| 四面体体积 | ⅙ |det| | 单位卦限顶点:1/6 |
定向。det T 的符号另有含义:为正,说明变换保持了平面的「左右手性」(逆时针仍逆时针);为负,说明翻了一次面——镜面反射的 det = −1,旋转的 det = +1。行列式因此一个数说了两件事:大小(伸缩多少)与方向(是否翻面)。退化情形 det = 0 则是把空间压扁到低维——正是「不可逆」的几何本相。
〔几何〕下册的接口 「|det| = 1 的线性变换」恰好是保体积的那些——刚体运动与镜面反射都在其中,这正是下册正交变换的世界(O(n),其中 det = 1 的子群 SO(n) 是纯旋转)。本节的 det 为下册欧氏几何准备了一把尺子:几何上的「刚体」,代数上就是行列式绝对值为 1 的正交变换。
定义 3.6(伴随矩阵) 把 n 阶方阵 A 的代数余子式 Aij 按原位排成矩阵 C = [Aij],它的转置称为 A 的伴随矩阵:
adj A = Ct = [Aji]。
易错点:伴随矩阵是代数余子式矩阵的转置,不是它本身。
定理 3.19(基本恒等式) A · adj A = adj A · A = (det A)·I。
证 A·adj A 的 (i, i) 元是 Σk aikAik——第 i 行元素乘第 i 行的代数余子式之和,由定理 3.9 等于 det A;而 (i, j) 元(i ≠ j)是第 i 行元素乘第 j 行的代数余子式之和,由定理 3.10(错位为零)等于 0。故乘积是 (det A)·I。∎
定理 3.20(求逆公式) 当 det A ≠ 0 时,A−1 = adj A / det A。
数值实例。取 A = 123014560:先算 det A = 1·(0−24) − 2·(0−20) + 3·(0−5) = −24 + 40 − 15 = 1。九个代数余子式逐一算出后排阵、转置,得
adj A =−2418520−15−4−541, A−1 = adj A / 1 = adj A
验算 A · A−1:第 1 行乘第 1 列 1·(−24) + 2·20 + 3·(−5) = −24 + 40 − 15 = 1 ✓;第 1 行乘第 2 列 1·18 + 2·(−15) + 3·4 = 18 − 30 + 12 = 0 ✓。其余同样为零,恰得 I。
二阶情形值得一记,它就是第二章用过的求逆公式:伴随矩阵把 a11, a22 对调、a12, a21 变号,于是
abcd−1 = 1/(ad − bc) · d−b−ca。
〔明线〕两个求逆法的分工 第二章的高斯—若尔当法是算法(O(n3),工程标准);本章的伴随公式是闭式(显式解,理论标准,也解释了克拉默法则)。同一件事的两副面孔再次出现——记住分工,不要用错场合:手算四阶以上,用消元。
本章至今把行列式「按定义」展开、按性质使用。现在反过来问:如果把性质当公理,行列式被唯一确定吗?把用过的性质收拢成三条:
定义 3.7(行列式型函数) 设 D 把每个 n 阶方阵对应到一个数,且满足:
(1)多重线性:对每一行(单独地)线性;
(2)交错性:两行相同则 D = 0;
(3)规范化:D(I) = 1。
这样的 D 称为行列式型函数。
定理 3.21(唯一性) 行列式型函数存在且唯一:D = det。
证(骨架) 存在性即本章的定义。唯一性:任取满足三条公理的 D,把 A 用消元化成上三角 U。每一步消法变换 D 不动(公理 1+2 合起来给出定理 3.7 的推理链),换行变号、倍乘乘数,与 det 的行为逐字相同,故 D(A) = (±1)(倍乘积)·D(U)。而 U 的 D 值由多重线性逐列展开,恰是对角元之积——与 det U 相同。于是 D(A) = det A 对一切 A 成立。∎
把证明的骨架画成一张图:三条公理像三条管道,把任何 D 的值一路「逼」到 det 的值上。
现代接口 这种「公理候选 + 唯一性证明」的组合,是现代数学立对象的标准姿势:行列式不是「一个定义式」,而是「满足这三条的唯一函数」——至于用萨吕公式还是用 Leibniz 和式算出它,无关紧要。这为下册一个更深的对象预留了位置:把「交错性」做到极致的多线性代数,长出的是外代数(外积 ∧),体积与定向在那里得到终极形式;而「规范化的多线性交错函数」将成为楔积的定义。
本章的最后一页,把全部收获拧成一个代数事实。回忆第二章:可逆方阵在乘法下构成群 GLn(𝔽);非零数在乘法下也构成群 𝔽* = 𝔽 ∖ {0}。定理 3.14 恰好说:det 把一边的乘法送到另一边的乘法。
定理 3.22(行列式是群同态) det : GLn(𝔽) → 𝔽* 是满的群同态:对可逆阵 A, B,
det(AB) = det A · det B,且任取 k ∈ 𝔽*,det(diag(k, 1, …, 1)) = k。
它的核(映到 1 的全部元素)是 SLn(𝔽) = {A : det A = 1},称为特殊线性群。
核有一个好性质:SLn(𝔽) 是 GLn(𝔽) 的正规子群(同态的核皆正规),并且商群恰好把 det 的值「除」回来:
GLn(𝔽) / SLn(𝔽) ≅ 𝔽*。
几何读法。SLn(ℝ) 是「体积不变」的线性变换全体——剪变、纯旋转都在其中;det > 0 的变换不翻面,det < 0 的翻一次面。把 3.15 节的话再拧一圈:
| 矩阵群 | 行列式约束 | 几何身份 |
|---|---|---|
| GLn(ℝ) | det ≠ 0 | 一切可逆线性变换(保住维数) |
| SLn(ℝ) | det = 1 | 保体积的线性变换(剪切、旋转) |
| O(n) | |det| = 1 | 正交变换:旋转与反射(下册主角) |
| SO(n) = O(n) ∩ SLn | det = 1 | 纯旋转(保定向) |
〔几何〕通往下册的门 下册讲欧氏空间的刚性几何:欧氏变换 = 正交变换 + 平移,记作 E(n) = O(n) ⋉ ℝn。那时本章的 det 会替几何把「定向」分好类:SO(n) 里的运动是纯旋转,O(n) ∖ SO(n) 里的一次反射加旋转。现在只需记住这张表——每一个几何名字,背后都是一个行列式条件。
题 求下列排列的逆序数与符号:(1) 2413;(2) 1324;(3) 4123;(4) 写出四阶行列式中项 a14a21a33a42 的符号。
(1)数逆序的标准流程 从左往右,每个数只看「右边有几个比它小的」:
| 数 | 2 | 4 | 1 | 3 |
|---|---|---|---|---|
| 右边比它小的 | 1(即 1) | 2(即 1、3) | 0 | 0 |
合计 τ(2413) = 3,奇排列,sgn = (−1)3 = −1。
(2) 1324:只有 3 与 2 构成逆序,τ = 1,sgn = −1。
(3) 4123:4 与后面三个都成逆序,其余无,τ = 3,sgn = −1。
(4)从乘积反推排列 项 a14a21a33a42 表示:第 1 行取第 4 列、第 2 行取第 1 列、第 3 行取第 3 列、第 4 行取第 2 列,即列标排列 (4, 1, 3, 2)。数逆序:4 与 1、3、2 各一个(3 个),3 与 2 一个(1 个),τ = 4,sgn = (−1)4 = +1。
要点 三件事最容易错:①漏数「跨位逆序」(大数与隔了两位的小数也算);②把「列标排列」误当「行标排列」——项的符号只看列标;③以为符号是随机的——它由逆序数完全决定,而逆序数可以老老实实数出来。
检验法 对 n = 4 的任一排列,全排列共 24 个,偶奇各 12 个。做完一组练习后数一数自己得到的正负号个数:不是各半就一定错了。
题 计算 (1) det2−1304152−2;(2) det2111131111411115。
(1)萨吕六项 主对角方向:2·4·(−2) + (−1)·1·5 + 3·0·2 = −16 − 5 + 0 = −21;副对角方向:3·4·5 + 2·1·2 + (−1)·0·(−2) = 60 + 4 + 0 = 64。相减:
det = −21 − 64 = −85。
(2)四阶用消元 四阶硬写 24 项太笨,改走消元(定理 3.8)。r1 ↔ r2(记一个负号),随后 r2 − 2r1、r3 − r1、r4 − r1(消法不变):
(−1)·det2111131111411115 = det13110−5−1−10−2300−204
右下三角块继续消:r3 − 25r2、r4 − 25r2,再 r4 − 217r3,得上三角
13110−5−1−10017/52/500074/17,对角积 = 1·(−5)·(17/5)·(74/17) = −74
于是 (−1)·D = −74,即 D = 74。要点:消元每一步都要记账——换行记号、倍乘记数、消法白做,一步不漏才能走到 −74 再翻回 74。
要点 (1) 展示了萨吕的标准用法(只限三阶);(2) 展示了消元法的记账流程:换行记号、倍乘记数、消法白做。数值上四阶答案为 74,本章实验页将给出一个程序,把这两种算法都交给机器复核。对称的矩阵要用对称的办法,零多的行列要抢先展开,这是本章计算的两条第一直觉。
为什么强调记账?因为消元算行列式时最容易在两处翻车:换行忘变号、倍乘忘还原。四阶六步之内尚可查账,阶数一高就必须靠流程纪律——这也是为什么工程程序里行列式总是「随消元顺手产出」。
题 计算 D = det3111131111311113。
解 每行之和都是 6,这是「对称阵」的信号。第一步:全行相加。把第 2、3、4 行都加到第 1 行(三次消法,不变号),第 1 行变成 (6, 6, 6, 6):
D = det6666131111311113
第二步:提公因子。第 1 行提出 6(倍乘的逆用,行列式除以 6):
D = 6 · det1111131111311113
第三步:消成三角。ri − r1(i = 2, 3, 4,消法不变):
D = 6 · det1111020000200002 = 6 × (1·2·2·2) = 48
要点 三步各用了一条性质:消法不变(定理 3.7)、倍乘记账(定理 3.5)、三角取对角积(定理 3.8 的特例)。这个「行和相等 → 相加提因子」的套路是行列式计算中出现频率最高的一个技巧,见到对角占优、其余全同的阵就先想它。
验算的另一条路 本题的矩阵是 2I4 + J4(J 是全 1 阵)。把 J4 看成「秩 1 的摄动」,用 3.12 的思想可以口算:det = 24·(1 + 4/2) = 48,与消元一致。下册讲特征值后,这一类阵将一步看穿。
题 用展开定理计算 3.4 节的四阶行列式 det A,其中 A = 102−13005214−31050。
解 第 2 列只有一个非零元 a32 = 1,沿第 2 列展开一步到位:
det A = a32 · A32 = 1 · (−1)3+2 · M32 = −det12−1305150
这个三阶没有整列零元,但第 2 行是 (3, 0, 5),含一个零,沿第 2 行展开:
det = 3 · (−1)2+1 · det2−150 + 0 + 5 · (−1)2+3 · det1215 = 3·(−1)·(0+5) + 5·(−1)·(5−2) = −15 − 15 = −30
代回:det A = −(−30) = 30。与 3.4 节逐项硬算的 30 一致 ✓。
要点 展开的选行列原则:挑非零元最少的。本题第 2 列三个零,等于白送一步降阶。若矩阵没有零元,先用消法造零再展开——「先造零、后展开」是四阶以上的标准起手。
展开与消元的取舍:阶数低(≤3)直接算;有整行整列零元先展开;否则先消元造零。三种手法不是三选一,而是一条流水线。
题 (1) 计算 V(2, 3, 5) 并用直接展开核对;(2) 问 t 为何值时 V(1, 2, t) = 0?(3) 用范德蒙德说明:横坐标互不相同的三个点 (x1,y1), (x2,y2), (x3,y3) 不能都落在同一条次数 ≤ 1 的直线上(除非本来共线)。
(1)公式与硬算对账 公式:V(2, 3, 5) = (3−2)(5−2)(5−3) = 1·3·2 = 6。硬算:
det1112354925 = 1(3·25 − 5·9) − 1(2·25 − 5·4) + 1(2·9 − 3·4) = 30 − 30 + 6 = 6 ✓
(2)反用公式 V(1, 2, t) = (2−1)(t−1)(t−2) = (t−1)(t−2),故 t = 1 或 t = 2。几何读法:t 与已有的横坐标重合时,行列式为零——「点重合了」。
(3)共线的代数判据 三点共线等价于「每点都满足同一条一次式」,把三个条件并排写成方程组:未知数是直线的两个系数与常数。若横坐标两两不同而三点又共线,则方程组有非零的「齐次解」,迫使系数行列式——恰是一个范德蒙德行列式——为零;但 x1, x2, x3 互不相同使它非零,矛盾。故不共线。∎
要点 范德蒙德行列式的价值在于把「互不相同」翻译成「非零」:凡是题目里出现「n 个互不相同的数」,就应当条件反射地想到它。第 (3) 问是这句话的第一次实战。
往前看一步 三个点确定唯一一条二次曲线(插值多项式),靠的也是同一个范德蒙德:系数矩阵非零 ⟹ 解唯一。第六章多项式环将把「存在唯一」的证明补完整;那时可以发现,本例其实已经把最难的部分做完了。
题 计算 D = det1+x1111+y1111+z。
解(升阶) 字母阵不便硬乘,反向操作:升一阶,造出第一列只有一个非零元的四阶——这叫加边法。取
D = det111101+x11011+y10111+z
按第 1 列展开即回原式(第 1 列只有 1,代数余子式恰是 D 的 3 阶版)。下一步:消去第 1 行。ri − r1(i = 2,3,4,不变号):
D = det1111−1x00−10y0−100z
现在每一行至多两个非零元,按第 4 列展开(只有一个 z),再按最后一行展开,最终整理成箭形结构的标准结果:
D = xyz + xy + yz + zx。
数值核对 取 x = 1, y = 2, z = 3:公式给 6 + 2 + 6 + 3 = 17;直接对 211131114 消元:2·11 − 1·3 + 1·(−2) = 22 − 3 − 2 = 17 ✓。
要点 加边法的适用信号:对角线上带字母、非对角全相同(本题非对角全为 1)。思路是把「无处下手的字母阵」升阶成「一列干净的箭形」,再用消法把箭杆削干净。升阶不改变行列式的前提只有一个:加出来的行、列必须互相配合,使按新列展开恰好还原。
方法论 「以退为进」在数学里远不止这一处:积分里的换元、递归里的还原、范畴论里的泛性质(先放进更大的对象再刻画)。加边法是它最便宜的一次演出。
题 设 Dn 是 n 阶三对角行列式(对角线全 2,上下次对角线全 −1):D1 = 2,D2 = det2−1−12 = 3。求 Dn 的通项。
解 按第一行展开:
Dn = 2·Dn−1 − (−1)·(−1)·Dn−2 = 2Dn−1 − Dn−2
(第二项:第 1 行第 2 列的 −1 乘它的代数余子式,余子式里又带出左下角的 −1。)初始值 D1 = 2、D2 = 3,逐项推算:
| n | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| Dn | 2 | 3 | 4 | 5 | 6 |
规律唿之欲出:Dn = n + 1。用归纳法收尾:设 Dk = k+1 对 k < n 成立,则 Dn = 2n − (n−1) = n+1 ✓。验算:直接消元算 n = 4 的四阶,得 1·1·1·5 = 5(对角化后),与公式一致。
要点 递推三步:按行展开建递推式 → 算初始值 → 归纳证明。别省第三步——规律是猜出来的,证明才把它变成定理。本题的递推式 Dn − 2Dn−1 + Dn−2 = 0 是二阶常系数线性递推,特征根 1, 1(二重),通解 Dn = α + βn,代初始值即得 n+1——这套解法与第六章特征多项式的语言完全同构。
现代接口 三对角阵 T 满足 T·(D2, D3, …)t = (…) 型的位移结构,它的特征多项式正是 Dn(λ)。本例是「特征值理论」的影子——下册讲完相似对角化后回头看,这个 n+1 会自己走出来。
题 计算四阶行列式 D = det1201341010210113,即 D = detABCD,其中 A = 1234,B = 0110,C = I2,D = 2113。
解(舒尔补) 注意 ABOD 型才能直接拆乘,本例 C ≠ O,先用块消法把 C 消掉:左乘 IO−CA−1I(消法块的块版,行列式为 1):
ABCD → ABOD − CA−1B
由 A−1 = −213/2−1/2,A−1B = 1−2−1/23/2,故舒尔补
D − CA−1B = 2113 − 1−2−1/23/2 = 133/23/2,det = 3/2 − 9/2 = −3
于是 D = det A · det(D − CA−1B) = (−2)·(−3) = 6。换一个方向验算(D 也可逆):A − BD−1C = 6/58/512/521/5,det = (126−96)/25 = 6/5,D = det D · det(A − BD−1C) = 5 · 6/5 = 6 ✓。两个方向一致,且直接按四阶消元算同样得 6。
要点 ①分块三角才能「拆乘」,一般分块不行——先消法再拆;②舒尔补公式 detABCD = det A · det(D − CA−1B)(A 可逆时)与 = det D · det(A − BD−1C)(D 可逆时)互为验算;③块消法的「块初等矩阵」行列式为 1,这点与数值消法完全平行。
现代接口 舒尔补是块消元的「余项」,它在线性代数里无处不在:条件数、递归最小二乘、高斯消元的块算法都以它为基本动作。对它最深的看法是范畴论的:「拿 A 做商之后剩下什么」——这是商对象思想的又一次现身。
题 用克拉默法则解 2x + y − z = 8;−3x − y + 2z = −11;−2x + y + 2z = −3,并用消元法核对。
解 系数行列式 D = det21−1−3−12−212。按第 1 行展开:
D = 2(−1·2 − 2·1) − 1(−3·2 − 2·2) + (−1)(−3·1 − (−1)(−2)) = 2(−4) − 1(−10) − (−5) = −8 + 10 + 5 = −1
三个替换行列式(常数列依次换入第 1、2、3 列):
| 行列式 | 展开计算 | 值 | 解 | |
|---|---|---|---|---|
| D1 | 81−1−11−12−312 | 8(−4) − 1(−16) + (−1)(−14) | −32+16+14 = −2 | x = D1/D = 2 |
| D2 | 28−1−3−112−2−32 | 2(−16) − 8(−2) + (−1)(−13) | −32+16+13 = −3 | y = 3 |
| D3 | 218−3−1−11−21−3 | 2(14) − 1(−13) + 8(−5) | 28+13−40 = 1 | z = D3/D = −1 |
消元核对:消元得阶梯形后回代,同样解得 (2, 3, −1);代回三条原式逐条成立 ✓。
要点 克拉默的流程是「四个行列式、一串除法」,机械但量多;消元是「一条流水线」,快但要小心符号。两法互为验算是本章例题的固定动作。
与 3.13 节的呼应 二维时这是真正的面积比(分母即系数行列式);三维以上换成体积比。克拉默法则不是「另一个公式」,而是同一条几何事实在 n 维的写法。
题 (1) 求顶点 (0,0), (2,1), (1,3) 的三角形面积;(2) 判断 (0,0), (2,4), (3,6) 是否共线;(3) 求 T = 2113 作用在单位正方形上所得平行四边形的面积与定向;(4) 求以 (0,0,0), (1,0,0), (0,2,0), (0,0,3) 为顶点的四面体体积。
(1) S = ½|det2113| = ½·|6 − 1| = 5/2。
(2) det2436 = 12 − 12 = 0:面积零,共线 ✓(几何上是 2 倍关系 (2,4) = 2(1,2)、(3,6) = 3(1,2),两向量成比例即推论 3.4 的几何版)。
(3) det T = 2·3 − 1·1 = 5 > 0:面积 1 × 5 = 5,且定向保持(逆时针仍逆时针)。
(4) 四面体是平行六面体的六分之一:V = ⅙ |det diag(1, 2, 3)| = 6/6 = 1。
要点 四个小题是一张速查表:面积 = ½|det|、共线 = det = 0、伸缩 = |det|、翻面 = det < 0、四面体 = ⅙|det|。行列式把「长度×角度」的几何量全部收编成「取两行一减」——这就是坐标化几何的效率。
〔几何〕通往仿射与射影的一瞥 「det ≠ 0 ⟹ 不共线、不共面」在射影几何里叫「点的独立性」;「|det| 伸缩面积」在仿射几何里就是「仿射变换按固定比率改面积」。下册讲这两个几何时,本章的行列式是现成的工具箱。
题 对 A = 123014560:(1) 求 adj A 与 A−1;(2) 验证 det(adj A) = (det A)2;(3) 用伴随公式解 Ax = b,b = (1, 1, 1)t。
(1) 先算 det A = 1·(0−24) − 2·(0−20) + 3·(0−5) = 1。九个代数余子式:删第 1 行第 1 列得 M11 = 1·0 − 4·6 = −24,同法 M12 = 0·0 − 4·5 = −20、M13 = 0·6 − 1·5 = −5、M21 = 2·0 − 3·6 = −18、M22 = 1·0 − 3·5 = −15、M23 = 1·6 − 2·5 = −4、M31 = 2·4 − 3·1 = 5、M32 = 1·4 − 3·0 = 4、M33 = 1·1 − 2·0 = 1。按位放好、乘棋盘符号、转置:
adj A =−2418520−15−4−541, A−1 = adj A / det A = adj A
验算 A·A−1 第 1 行:(−24+40−15, 18−30+12, 5−8+3) = (1, 0, 0) ✓。
(2) det(adj A) 按公式应为 12 = 1;直接消元算三阶可得 1 ✓(推论 3.15④)。
(3) x = A−1b = adj A · b:第 1 分量 −24 + 18 + 5 = −1,第 2 分量 20 − 15 − 4 = 1,第 3 分量 −5 + 4 + 1 = 0。故 x = (−1, 1, 0)t。代回:第 1 式 −1 + 2 + 0 = 1 ✓,第 2 式 0 + 1 + 0 = 1 ✓,第 3 式 −5 + 6 + 0 = 1 ✓。
要点 伴随公式的三个易错点:①忘了转置(伴随是余子式矩阵的转置);②棋盘符号乘错位(左上角是正);③ det 算错就全错——所以先算 det 并顺手验一次(本题 det = 1,巧的是伴随即逆,省了除法)。
〔明线〕两条求逆路的会师 第二章的高斯—若尔当给出同一个 A−1(可回看第一章例 11、第二章例 5——它们用的是同一个矩阵)。算法与公式殊途同归,这正是「逆矩阵唯一」的体感。
题 (1) 证明:奇数阶反对称矩阵(At = −A)的行列式为零;(2) 对实方阵证明 det(AtA) = det(A)2 ≥ 0;(3) 数值核验 (1) 的三阶情形。
(1)证 两边取行列式:左边 det(At) = det A(定理 3.2);右边 det(−A) = (−1)n det A(推论 3.6)。故 det A = (−1)n det A。n 为奇数时 (−1)n = −1,得 det A = −det A,即 det A = 0。∎
(2)证 由乘法规则(定理 3.14)与转置不变(定理 3.2):
det(AtA) = det(At)·det(A) = det A · det A = (det A)2 ≥ 0。∎
顺带一个读法:AtA 的行列式永远非负——「自乘不翻面」,因为 AtA 描述的变换先翻再翻(或根本不翻),定向必然复原。
(3)数值核验 取 A = 025−203−5−30(确实 At = −A):
det A = 0·(0+9) − 2·(−0+15) + 5·(6−0) = 0 − 30 + 30 = 0 ✓
再取偶阶对照:01−10 的 det = 1,不为零——结论只说奇阶,没说偶阶,两边都验过了。
要点 (1) 是「取行列式」这种操作的教科书式应用:对一个矩阵等式两边取 det,等式立刻变成数的等式。(2) 则示范两条性质接力。证明题的功夫在「挑哪条性质」,而挑法来自对性质清单的熟悉——这正是 3.5–3.8 节存在的意义。
现代接口 反对称阵组成的空间记作 𝔰𝔬(n),它是 SO(n) 的「切空间」——力学里的角速度、物理里的自旋都住在那里。本章最后一个例题恰好停在通往李群论的大门口:下册 O(n)、SO(n) 登场时,今天的 det 条件就是通行证。
1. 求逆序数并写出符号:(1) 3124;(2) 4321;(3) 2143。
答:(1) τ = 2(3 压 1、2),+;(2) τ = 6(每对都逆序,C(4,2)),+;(3) τ = 2(2>1 与 4>3),+。
2. 用定义直接计算 det0110 与 det010100001。
答:都是 −1。两个阵都是换行阵:二阶是 r1↔r2,三阶是 r1↔r2,各变一次号。几何读法:把平面(空间)翻了一次面。
3. 写出三阶行列式按定义的全部 6 项,并标出每项的符号。
答:+a11a22a33 +a12a23a31 +a13a21a32 −a13a22a31 −a11a23a32 −a12a21a33。排列 123、231、312 为偶,321、132、213 为奇。与萨吕六项一一对应。
4. 判断四阶行列式中项 a13a22a31a44 与 a14a23a32a41 的符号。
答:前者列标 (3,2,1,4),τ = 3,取 −;后者列标 (4,3,2,1),τ = 6,取 +。
5. 若 det A = 2,求 (1) det(A2);(2) det(2A)(A 为 3 阶);(3) det(At);(4) det(A−1)。
答:(1) 4;(2) 23·2 = 16;(3) 2;(4) 1/2。四条分别是定理 3.14、推论 3.6、定理 3.2、推论 3.15①。
1. 用消元法计算 det211432654。
答:r2−2r1、r3−3r1 后得 211010021,再 r3−2r2 得对角 2·1·1 = 2。无换行、无倍乘,det = 2。
2. 计算 det123246101。
答:0。第 1、2 行成比例(推论 3.4),一步看穿,不必动笔。
3. 计算 det2111131111411115(例 2(2) 的完整复盘)。
答:74。流程:r1↔r2 记号 → 三次消法 → 两次消法 → 一次消法,上三角对角积 1·(−5)·(17/5)·(74/17) = −74,翻回 +74。全程只动消法与一次换行,倍乘因子为空集。
4. 计算 det1111123413610141020。
答:1。ri − ri−1(从下往上)逐次相减,得帕斯卡三角的差分结构,最后化为 1111012300130001 型上三角,对角积 1。
5.(方法对比)用三种方法算同一个三阶 det1234567810:萨吕、消元、按第 1 列展开。三种答案都应为 −3;每条中间结果。
答:萨吕 230 − 233;消元 1·(−3)·1;展开 1(5·10−6·8) − 4(2·10−3·8) + 7(2·6−3·5) = 2 + 4 − 9。三路互证是本章推荐的收尾动作。
1. 计算 det3005020000407001。
答:−256。沿第 2 列展开:2·(+1)·det305040701,内层再沿第 2 列得 4·(3−35) = −128。
2. 用代数余子式表示 det A(按第 3 行展开),A = 210132014,并算出值。
答:det A = 0·A31 + 1·A32 + 4·A33 = 1·(+1)·det2012 + 4·(+1)·det2113 = 4 + 4·5 = 24。直接展开核:24 ✓。
3. 已知 det A = −2(A 为 3 阶),求 a11A11 + a12A12 + a13A13 与 a21A11 + a22A12 + a23A13。
答:前者是「同行配同组」,等于 det A = −2;后者是「异行配同组」,等于 0(定理 3.10)。这一对是伴随矩阵的全部基础。
4. 三阶 A 的第 1 行是 (1, 2, 3),A11 = 4, A12 = −2, A13 = 1。求 det A;再把第 1 行换成 (2, 4, 6),新行列式是多少?
答:4 − 4 + 3 = 3;换行后 2·4 + 4·(−2) + 6·1 = 6——恰是原来的 2 倍,因为行列式对第 1 行线性(定理 3.5),与余子式无关。
5.(先造零再展开)计算 det1111231210213113。
答:0。r4 − r1·? ——注意第 1 行与第 4 行不成比例,需先消:r2 − 2r1、r3 − r1、r4 − 3r1 后,第 1 列只剩 1,展开得三阶 det1−10−110−2−20——第 3 列全零,行列式为 0。
1. 计算 V(1, 3, 4) 与 V(0, 1, 3)。
答:V(1,3,4) = (3−1)(4−1)(4−3) = 6;V(0,1,3) = (1−0)(3−0)(3−1) = 6。两个 6,来源不同——公式只认差值。
2. 用范德蒙德公式判断:V(x1, x2, x3, x4) = 0 的充要条件是什么?
答:xi = xj 对某一对 i < j 成立。乘积六项,任一为零即整体为零,反之皆非零。
3. 计算「对角占优 + 全 1」型:det311131113(三阶版例 3)。
答:全行相加(每行和为 5)→ 提 5 → 消三角:5·(1·2·2) = 20。或用 2I3 + J3 的秩 1 观点:23(1 + 3/2) = 20 ✓。
4. 计算箭形行列式 det1111120010301004。
答:−2。按第 4 行展开(只有两个非零元):1·(−1)4+1·det111200030 + 4·(+1)·det111120103 = −1·6 + 4·1 = −2。箭形阵的标准削法是消第 1 列,展开法在此更快——选法本身是考点。
5.(上下三角)证明:上三角阵的行列式 = 对角元之积,并说明它与定理 3.8 的关系。
证:按第 1 列逐次展开,或用定义——n! 项中只有 σ = 恒等 一项可能非零。它是定理 3.8「化三角再取对角积」的特例,也是消元法算行列式的终点形态。
1. 用克拉默法则解 x + 2y = 5;3x + 4y = 6。
答:D = 4 − 6 = −2,D1 = 20 − 12 = 8,D2 = 6 − 15 = −9,故 x = −4, y = 9/2。代回两条原式核验 ✓。
2. 例 9 的方程组若把右端换成 (0, 0, 0),克拉默法则给出什么?这与第一章的秩判据一致吗?
答:D = −1 ≠ 0,三个 Di 全为 0(含零列),唯一解 x = y = z = 0——与「秩 = n ⟹ 齐次只有零解」一致。克拉默是秩判据的显式版。
3. 含参方程组 kx + y = 1;x + ky = 1 何时有唯一解?何时无穷多解?
答:D = k2 − 1 = (k−1)(k+1)。k ≠ ±1 时唯一解 x = y = 1/(k+1);k = 1 时两式相同,无穷多解;k = −1 时两式矛盾(−x + y = 1 与 x − y = 1),无解。
4.(计算量对比)估计 n = 10 时:按定义算一个 10 阶行列式约多少次乘法?消元法呢?克拉默法解 10 元方程组呢?
答:定义 10! ≈ 3.6×106 项、每项 9 次乘法,约三千万;消元约 n3/3 ≈ 333;克拉默要算 11 个行列式,是消元的三千多万倍。公式给的是结构与唯一性,不是工效。
5.(克拉默的几何读法)二维时 x = [b, a2]/[a1, a2]。解释为什么分母为零时「面积比」失效,并对应到代数结论。
答:分母 [a1, a2] = det A 为零,即两列共线,平行四边形被压扁,无法用面积比定位——代数上正是 A 不可逆、解不唯一(或不存在)。
1. 求 f(k) = detk11k,并解 f(k) = 0。
答:f(k) = k2 − 1,零点 k = ±1。几何读法:k = ±1 时两行共线(k=1 同向、k=−1 反向),面积归零。
2. 求 g(k) = detk111k111k,并解 g(k) = 0。
答:全行相加(行和 k+2)提因子、再消三角,得 g(k) = (k+2)(k−1)2。核对 k = 0:2 ✓;k = 2:4 ✓。零点 k = 1(二重)与 k = −2。注意 k = 1 是二重零点——行列式作为 k 的多项式,重根里有信息(下册特征值理论将回收它)。
3. 与第一章例 8 对照:同一方程组的秩判据与行列式判据何时给出同样的结论?何时行列式「多说了话」?
答:方阵情形两者等价(定理 3.17)。但行列式只对方阵有定义——长方阵的方程组只能靠秩。行列式「多说的」是 det 的具体数值(如重根结构),秩不携带这层信息。
4. 证明:若 A 是 n 阶可逆阵,则 det(adj A) = (det A)n−1。
证:A·adj A = det A·I 两边取行列式:det A · det(adj A) = (det A)n,除以 det A ≠ 0 即得。∎
5. 设 A、B 为同阶方阵,det A = 3, det B = 2。求 det(AB)、det(BA)、det(A2B−1)、det(3A)(设 n = 3)。
答:6;6;9/2;27·3 = 81。每一步都在用定理 3.14 与它的推论——乘法规则是「算账的复利公式」。
1. 计算 det120340(下块 5678)。
答:(−2)(−2) = 4。分块上三角直接拆乘(定理 3.12)。
2. 计算 det1234012300210012。
答:3。前两行/列为一块 det = 1,后两块 det2112 = 3;右上块不影响。
3. 用舒尔补计算例 8 的四阶 detABCD,并把两个方向(用 A 与用 D)的中间矩阵都写出来。
答:D − CA−1B = 133/23/2,det = −3,D = (−2)(−3) = 6;另一方向 A − BD−1C = 6/58/512/521/5,det = 6/5,D = 5·6/5 = 6。两路一致。
4. 证明:detOABO = (−1)mn det A · det B(A 为 m 阶、B 为 n 阶)。
证:把上面的块逐行搬到下面,需 mn 次相邻换行(每行跨过 n 行、共 m 行),每次变号,共 (−1)mn;搬完即成分块对角。∎
5.(拉普拉斯特例)沿前两行用拉普拉斯展开计算 det1200340011562378,并与分块法对照。
答:前两行里非零的二阶子式只有一个:N = det1234 = −2,其代数余子式为 (+1)·det5678 = −2,故 det = 4。拉普拉斯在此退化成分块公式——两者是同一件事的两种说法。
1. 求 adj(diag(2, 3)) 并验证 A·adj A = det A·I。
答:adj = diag(3, 2);乘积 diag(6, 6) = 6I = det A·I ✓。对角阵的伴随是对角元互换——二阶公式 d−b−ca 的对角特例。
2. 用二阶公式求 2113−1。
答:det = 5,逆 = 1/5·3−1−12。验乘:2113·3−1−12 = 5005 ✓。
3. 用伴随公式重解例 11 的 Ax = b(b = (1,1,1)t),并说明这一步与克拉默的 Di 有何关系。
答:x = (−1, 1, 0)t。xi = Di/D 的分子恰是「b 与第 i 列代数余子式的错位内积」——克拉默与伴随是同一张表的两个读法。
4. 若 A 可逆且 det A = 2(3 阶),求 det(adj A) 与 det(2 adj A)。
答:(det A)2 = 4;23·4 = 32(推论 3.6:全阵倍乘按 n 次方)。
5.(易错诊断)某学生把 A = 1234 的伴随写成 4−3−21。错在哪?正确的伴随是什么?
答:他忘了转置。C = 4−3−21 恰是代数余子式矩阵,而 adj A = Ct = 4−2−31。验证:A·adj A = −200−2 = det A·I ✓(用错版本会得到非对角阵,一乘便知)。
1. 求顶点 (0,0), (4,1), (1,3) 的三角形面积。
答:½|det4113| = ½·11 = 11/2。
2. 判断 (0,0), (2,4), (3,6) 与 (0,0), (2,4), (4,9) 哪组共线。
答:det2436 = 0 共线;det2449 = 2 ≠ 0 不共线。
3. 求 T = 2113 把单位圆盘映成的椭圆的面积。
答:|det T|·π = 5π。不需要求椭圆形状——伸缩率对所有区域一视同仁(定理 3.18)。
4. 判断下列变换是否翻面(det < 0):(1) 0110;(2) 3/5−4/54/53/5;(3) 200−1。
答:(1) det = −1,翻面(关于直线 y = x 的反射);(2) det = 9/25 + 16/25 = 1,旋转,不翻面;(3) det = −2,翻面且面积放大 2 倍。
5.(体积)以 (0,0,0)、(2,0,0)、(0,1,1)、(1,0,3) 为顶点的平行六面体体积是多少?
答:|det200011103| = |2·(3−0)| = 6(按第 1 行展开,第 1 行只有 2 非零)。
1. 证明:奇数阶反对称矩阵(At = −A)的行列式为零(例 12(1) 的重述)。
证:det A = det(At) = det(−A) = (−1)n det A = −det A,故 det A = 0。∎ 数值例:025−203−5−30 的 det = 0。
2. 证明:det(AtA) = det(A)2,并由此说明 AtA 不可逆当且仅当 A 不可逆。
证:乘法规则 + 转置不变。可逆性:det(AtA) = (det A)2 = 0 ⟺ det A = 0。∎
3. 设三对角阵 Tn 对角为 2、次对角为 −1(例 7)。证明 det Tn = n + 1,并写出 n = 5 的数值。
答:递推 Dn = 2Dn−1 − Dn−2,D1 = 2, D2 = 3,归纳得 n+1;D5 = 6。
4. 设 A 满足 A2 = A(幂等)。证明 det A 只能是 0 或 1。
证:det(A2) = det A,而 det(A2) = (det A)2,故 x2 = x,x ∈ {0, 1}。∎ 幂等阵的几何身份是「投影」,投影要么保住一块体积(det = 1)要么压扁(det = 0)——与第二章例 9 的图一致。
5. 设 A 为 3 阶且 det A = −2。求 det(−A)、det(A2)、det(adj A)、det(At·A·A−1)。
答:(−1)3(−2) = 2;4;(−2)2 = 4;det A = −2(乘完转一圈回到 At 的行列式)。最后一问是检验「取 det 后矩阵等式变数等式」的熟练度。
1. 计算「循环阵」C = 1234234134124123 的行列式。
答:160。全程只用消法:r2−2r1、r3−3r1、r4−4r1 后右下三阶为 −1−2−7−2−8−10−7−10−13;再 r3−2r2、r4−7r2 化出 00−4400436;最后 r4+r3 得上三角,对角积 1·(−1)·(−4)·40 = 160。无换行、无倍乘,一步账都不用记。循环阵与第六章多项式环的单位根有深层联系。
2. 计算 det1111123413610141020(帕斯卡型,习题课二第 4 题的复核)。
答:1。逐行差分(ri − ri−1,自下而上)后化上三角。
3.(一般加边)证明:det1+x1111+y1111+z = xyz + xy + yz + zx,并用 x=y=z=1 核对。
证:加边升阶(例 6 的流程),削成箭形后按对角展开。核对:x=y=z=1 时公式给 4,直接算 211121112 得 4 ✓(即习题课六第 2 题 k = 2)。
4. 设 A、B、C 为 n 阶方阵。判断并证明:(1) det(AB) = det(BA);(2) det(A + B) = det A + det B 是否成立。
答:(1) 成立,都等于 det A·det B;(2) 不成立——行列式对整阵不是线性的(只对单独一行线性)。反例:A = B = I2,det(A+B) = det(2I) = 4 ≠ 1 + 1。「对行线性」不等于「对矩阵线性」,这是多重线性最要紧的分寸。
5.(挑战预告)设 A 为 n 阶实方阵且 AtA = I。证明 |det A| = 1,并指出 det A = 1 与 det A = −1 的几何差别。
证:两边取行列式得 (det A)2 = 1。det = 1:纯旋转(保定向);det = −1:含一次反射(翻定向)。这正是下册正交群 O(n) 与 SO(n) 的分野。
本章的错题有明显的「聚类」结构——错的人错得几乎一样。把八类高频错误归档如下,建议对照自己的作业逐条打钩。
| 编号 | 错误类型 | 典型表现 | 纠正动作 |
|---|---|---|---|
| E1 | 萨吕越权 | 四阶还用对角线法则 | 记住:只对 n ≤ 3 成立 |
| E2 | 换行忘变号 | 消元中换行后对角积没翻号 | 换行必记一笔「−1」账 |
| E3 | 倍乘忘还原 | 某行乘 3 后忘记除回 | 倍乘记系数,最后连乘 |
| E4 | 伴随忘了转置 | 把代数余子式矩阵当伴随 | 口诀:代余、转置、除以 det |
| E5 | 棋盘符号错位 | Aij 的正负取反 | 画符号棋盘再动笔 |
| E6 | det(kA) 漏次方 | 写成 k·det A | 牢记 kn,n 是阶数 |
| E7 | 整阵「线性」幻觉 | 以为 det(A+B) = det A + det B | 线性只在单独一行上 |
| E8 | 分块乱拆乘 | 对 ABCD 直接写 det A·det D | 先块消法化三角再拆 |
三道自测题(覆盖 E2/E4/E6,各 3 分钟):
自测1. 消元时交换了两行,最后对角积为 −5,原行列式是多少?(E2)
答:+5(一次换行翻回符号)。
自测2. A = 1234,写出 adj A。(E4)
答:4−2−31——代数余子式矩阵 4−3−21 的转置。
自测3. 4 阶 det(2A) = ?,若 det A = 3。(E6)
答:24·3 = 48。
问一 本章四条性质(转置不变、换行变号、多重线性、消法不变)里,哪一条是「其他三条的推论」?提示:消法不变可由多重线性 + 推论 3.4 导出,这一条链在定理 3.7 的证明里走了一遍。
问二 「用消元算行列式」与「用行列式判可逆」是一对互逆的操作。一句话说明:消元把矩阵变成上三角,行列式把「可逆性」变成「一个数」——这两件事为什么恰好是同一枚硬币的两面?
问三 如果让只保留本章一页带进下一章(线性空间),会保留哪一页?为什么?(本书的建议:3.8 节——消法的那个两行证明,是全章最便宜也最锋利的武器。)
札记①
1683 年,日本江户的和算家关孝和写成《解伏题之法》,书中处理多元方程组时,写下了与今天三阶、四阶行列式完全一致的展开规则——比欧洲的同类成果早了约十年。1693 年,莱布尼茨在给洛必达的信中写下了含三个未知数、三个方程的系数交叉乘积,也 independently 触及行列式。两人在互不知情的情形下,摸到了同一块石头。
更有趣的是两人动机的差别:关孝和的目的极其「工具性」——他要解「伏题」(消去中间未知数后的方程组问题),行列式是他的消元技术的副产品;莱布尼茨则把它当作一种「组合的代数」,关心的是记号本身能表达什么。工具性与记号性,正是行列式后来两条生命的种子。
行列式真正成为数学的主角,走了一条漫长的路:麦克劳林 1748 年明确给出克拉默法则的表述,克拉默 1750 年发表它;拉普拉斯 1772 年给出一般展开(本章 3.10 节以他命名);柯西 1812 年系统整理并用「determinant」一词给它命名;雅可比 1841 年的论文《论行列式的结构与性质》把它立成独立的研究对象;直到凯莱 1858 年提出矩阵,「行列式是数表的属性」这一层关系才被理顺——先有行列式,后有矩阵,次序与直觉恰好相反。本章的讲法(先矩阵后行列式)是现代教科书的回溯式重排,而历史上它是「儿子先于父亲出生」。
中文「行列式」一名取的是横行竖列的直观;日文沿用汉字「行列式」也是对关孝和传统的致意。一个术语里,藏着两个文明各自的算学底色。
细心的可以发现:本章的历史札记里没有出现《九章算术》。这不是疏漏——方程章的算筹解法走的是纯粹的消元算法路线,始终没有把「系数交叉相乘」当成一个独立的量来关心。张苍们距离行列式,只差「把这个数单独拿出来看一眼」这半步,但半步也是一步。
然而《九章》并未缺席:本章每一次「用消元算行列式」(3.8 节),都是方程章直除术的现代回声。算法是中国的遗产,不变量是欧洲的提炼,两条线索在本章的每一道例题里并行不悖。这正是本书反复说的「两副面孔」:面孔不同,题目还是那道 39 斗题。
问一 关孝和与莱布尼茨各自出于什么动机触及行列式?「工具的副产品」与「记号的自觉」这两种起源,各自更接近本章的哪一节?
问二 「先有行列式,后有矩阵」这一历史次序,与本书「先矩阵后行列式」的教学次序冲突。两种次序各牺牲了什么、成全了什么?
问三 如果《九章》的算师看到了萨吕法则,他最可能提出的问题是什么?试着替他问出一个「直除视角」的问题。
札记②
本章讲完,行列式在我们手里已经有了三重身份:数(Leibniz 和式,3.4)、判据(det ≠ 0 ⟺ 可逆,3.14)、体积(有向体积伸缩率,3.15)。三重身份不是三种巧合,而是一件事的三个投影:行列式是「n 个向量围出的有向体积」这个几何量的代数名字。体积会算账,所以行列式可乘(先缩 A 倍再缩 B 倍);体积有方向,所以换行变号;体积容不得重合,所以两行相同为零。四条性质没有一条是凭空约定的,全是体积的天性。
「有向」二字值得单独驻足。两块面积都是 5 的平行四边形,可以一个逆时针、一个顺时针——大小相同,手性相反。行列式的正负号携带的正是这个「手性」:物理学家用它区分左手系与右手系,化学家用它区分旋光异构体,几何学家用它区分旋转与反射。3.18 节的 SO(n)(保定向的正交变换)之所以能从 O(n) 中干净地切出来,靠的完全是这个符号。
下册讲欧氏运动时会给这句话一个响亮的版本:刚体运动分两类,一类转过去(det = 1),一类翻过去(det = −1),没有第三类。而这句话的代数内核,就是本章的 sgn(det)。
第二章末尾说过:分类问题里最值钱的是不变量。本章把这句话做实了——「等价 ⟺ 同型同秩」的矩阵分类里,秩是不变量;而在线性映射更深一层的分类(下册的相似分类)里,det 及其推广(特征多项式)将接棒成为新的不变量。每次分类的升级,都伴随不变量的升级:
| 分类对象 | 不变量 | 在哪里 |
|---|---|---|
| 矩阵在初等变换下 | 秩 | 第二章 2.16 |
| 矩阵在相似变换下 | 特征多项式(含 det) | 下册 |
| 线性变换的定向行为 | sgn(det) | 本章 3.15、3.18 |
| 可逆性本身 | det ≠ 0 | 本章 3.14 |
看这张表应当生出一种预感:特征值理论就是「秩的故事」的续集,而续集的第一句话,已经写在 det 里面了。
问一 用「体积的天性」复述四条行列式性质,并指出其中哪一条无法用体积直观解释、只能靠代数(提示:没有——转置不变其实说的是「体积不偏袒行与列」;这就是答案)。
问二 为什么「有向体积」比「体积」信息量更大?举一个生活中区分左右手性的例子。
问三 不变量的升级(秩 → det → 特征多项式)是「越换越细」还是「越换越抽象」?用「能把哪些矩阵分开」来回答。
六步方法表(本章所有题型都可以归到这六步之一)
| 步骤 | 要做什么 | 用到的工具 | 典型题 |
|---|---|---|---|
| 1 | 低阶(≤3)直接算 | 萨吕 / 二阶公式 | 例2(1)、习题课一 |
| 2 | 高阶先消元造零 | 消法不变 + 换行/倍乘记账 | 例2(2)、习题课二 |
| 3 | 有零行零列先展开 | 定理 3.9 + 符号棋盘 | 例4、习题课三 |
| 4 | 认出特殊结构 | 范德蒙德 / 加边 / 递推 / 分块 | 例5–8、习题课四、七 |
| 5 | 解方程与求逆 | 克拉默 / 伴随 / det ≠ 0 | 例9、例11、习题课五、八 |
| 6 | 证明题:取 det 化数 | 四性质 + 乘法规则 | 例12、习题课十、十一 |
要「分类」,先要有一双不随操作改变的眼睛——数学里叫不变量。本章的全部工作,可以概括成一句话:给可逆性找到了一只又算得快、又看得深的眼睛。
「算得快」是消元赋予的:换行记号、倍乘记账、消法白做,三步之后对角积就是答案——这是张苍法的第三次收成。「看得深」是几何赋予的:这一个数同时说出了压扁与否(可逆性)、放大多少(体积)、翻没翻面(定向)。一个数,三重信息,这就是好不变量的标准。
下一章开始,矩阵们将不再被当作数表,而被当作空间来研究;不变量的接力棒会从 det 传给特征多项式。但接力不是替换——特征多项式的常数项永远是 (−1)n det,本章的眼睛会一直睁在后面几章的每一页上。
与第二章思想卡的对接 第二章说「矩阵是线性世界的语言」,本章说「行列式是语言里的关键字」——一句话里真正不可替换的词。学会在一串矩阵操作里一眼盯住 det,就学会了在读数学时「抓重点」。
以下八条恒等式覆盖本章全部工具。每条都给出证明思路提示;先自己写完再看提示。
C1. det(At) = det A(重证一遍,要求写出 τ(σ) = τ(σ−1) 的理由)。
思路:逆序对与顺序对互换,总数 n(n−1)/2 不变。
C2. det(A−1) = 1/det A;进而证明 det(Ak) = (det A)k(k 为负整数也成立,只要 A 可逆)。
思路:AA−1 = I 两边取 det;负指数用 A−k = (A−1)k。
C3. det(adj A) = (det A)n−1(习题课六第 4 题的完整证明)。
思路:A·adj A = (det A)I 取 det。
C4. detABOC 型与舒尔补:A 可逆时证明 detABCD = det A·det(D − CA−1B)(例 8 的一般化)。
思路:块消法矩阵行列式为 1;化成分块上三角后用定理 3.12。
C5. 奇阶反对称阵 det = 0(例 12(1));并证明偶阶时不一定为零,举出 det ≠ 0 的二阶、四阶例子各一。
思路:取 det 化数。例子:01−10 det = 1;四阶取两个这样的块拼对角。
C6. 证明 det(A + B) 的展开式:对二阶写出 det(A+B) 按列拆分的四项,指出哪两项等于 det A + det B,另外两项是什么。
思路:第 1 列拆分、第 2 列再拆分,共四项;中间两项是「混合行列式」——它们正是 det(A+B) ≠ det A + det B 的原因。
C7. 证明:若 A 各行元素之和都等于 s,则 det A 有因子 s。
思路:全行相加(消法不变)得某行全为 s,提出公因子。
C8.(综合)设 A 为 n 阶实方阵且 A2 = −I。证明:(1) n 为偶数;(2) |det A| = 1。
思路:取 det 得 (det A)2 = (−1)n,左边非负迫使 (−1)n ≥ 0,故 n 偶且 (det A)2 = 1。(事实上 det A = 1 而非 −1——实阵的 ±i 特征值必成对共轭出现,这要用下册特征多项式的语言;第二章 2.9 节 A = 0−110 的 A2 = −I、det = 1 正是最低维实例。)
赛1(计算) 求 D = det1111123413610141020,并用「差分阵」解释结果为什么这么小。
解 自下而上逐行相减:r4 − r3 = (0,1,4,10)、r3 − r2 = (0,1,3,6)、r2 − r1 = (0,1,2,3);再对新第 2、3 行内的差分重复,最终化为
det1111012300130001 = 1。
解释:原阵是帕斯卡三角的左上角,差分一次列出差 1、差 2、差 3 的斜列;二重差分后只剩单位上三角。「差分把组合数阵打回原形」——矩阵 1101 的幂恰好生成帕斯卡阵。
赛2(证明) 设 A、B 为 n 阶方阵,AB = A + B。证明 det(AB) = det A·det B 且 (I − A) 与 (I − B) 同为可逆或同为不可逆。
解 第一句即定理 3.14,无条件成立。第二句:由 AB − A − B = O,加 I 凑因式分解:
(I − A)(I − B) = I − A − B + AB = I
故 I − A 与 I − B 互为逆阵,同时可逆。∎(取 det 还可附加 det(I−A)·det(I−B) = 1。)本题是「凑因式」与「取行列式」的合演:矩阵等式负责结构,行列式负责数值。
赛3(含参) 求 k,使方程组 kx + y + z = 0;x + ky + z = 0;x + y + kz = 0 有非零解,并求出此时的解空间维数。
解 齐次有非零解 ⟺ 系数行列式为零(定理 3.17 + 第一章)。由习题课六第 2 题,det = (k+2)(k−1)2,故 k = −2 或 k = 1。秩核对:k = 1 时系数阵为全 1 阵,秩 1,解空间维数 2;k = −2 时矩阵为 −3I + J,秩 2,解空间维数 1(解为 (1,1,1)t 的倍数)。行列式找临界点,秩数说清维数——两件工具接力。
赛4(几何) 平面上三点 (1,2)、(3,8)、(t, t2+1) 共线,求 t。
解 共线 ⟺ 面积行列式为零:det26t−1,t2−1 = 2(t2−1) − 6(t−1) = 2(t−1)(t+1) − 6(t−1) = 2(t−1)(t−2),故 t = 1 或 t = 2。几何验收:t = 1 时第三点 (1,2) 与第一点重合(退化共线);t = 2 时第三点 (2,5),代入过 (1,2)、(3,8) 的直线 y = 3x − 1 得 y = 5 ✓。行列式给零点,几何负责验收——两步都不要省。
理论之外,本章的算法值得亲手跑一遍。三个实验,一个比一个出乎意料。
实验 1:n! 的暴政 按定义展开(Leibniz 求和)与消元法各写一个程序,计时对比:
| n | n!(定义法项数) | 消元法约 n3/3 次乘法 | 定义法耗时(示意) |
|---|---|---|---|
| 8 | 40320 | 171 | 秒级 |
| 10 | 3628800 | 333 | 分钟级 |
| 14 | 约 8.7×1010 | 915 | 天级 |
| 20 | 约 2.4×1018 | 2667 | 宇宙年龄级 |
结论:定义法只配写在纸上,消元法才配写进机器。「定义负责讲清楚,算法负责算出来」的分工,在此有了量化的证据。
实验 2:Hilbert 阵的塌缩 取 Hilbert 阵 Hij = 1/(i+j−1),用精确分数算行列式:
det H2 = 1/12, det H3 = 1/2160, det H4 = 1/6048000
再用双精度浮点算同样的矩阵:当 n 增到 10 上下,浮点结果会与真值相差到「有效数字只剩两三位」的程度。矩阵没变,算法没变,只是把分数换成小数,答案就塌了——这就是数值分析里的「病态矩阵」:行列式极小、逆矩阵极大,任何微小的舍入都被放大。Hilbert 阵是这一现象的标准标本。
实验 3:主元的力量 对同一个 20 阶随机矩阵,分别用「按顺序消元」与「选最大主元消元」(部分主元法)计算行列式,与精确值对比。可观察:顺序法在小主元处放大舍入误差,主元法稳定得多。这就是工程程序里行列式总与行交换(每交换一次记一个负号)绑在一起的原因——理论上的「消法不变」在实际机器上必须用「换行」来保护。
方法论 三个实验合起来是一句话:数学正确 ≠ 数值可靠。本章的定理在 ℝ 上精确成立,而机器用有限位小数近似 ℝ;从「正确」到「可靠」之间隔着一门完整的学问(数值线性代数),它的第一块砖就是本章的消元法。
(满分 100 分,建议 90 分钟)
一(20 分) (1) 求 τ(4213) 与项 a13a24a32a41 的符号;(2) 设 A 为 3 阶且 det A = −2,求 det(2A)、det(At)、det(A−1)、det(adj A)。
评讲:(1) τ(4213) = 4(4 压三个、2 压 1),符号 +;项的列标 (3,4,2,1),τ = 5,符号 −。(2) −16;−2;−1/2;4。每小题考查一条性质——错哪条,回哪节。
二(25 分) 计算:(1) det3111131111311113;(2) V(1, 2, 5);(3) det2005020000407001。
评讲:(1) 48(全行相加提 6,消三角,6·8 = 48);(2) (2−1)(5−1)(5−2) = 12;(3) 沿第 2、3 列展开:2·4·det3571 = 8·(−32) = −256。
三(25 分) 用克拉默法则解 2x + y − z = 8;−3x − y + 2z = −11;−2x + y + 2z = −3,并回答:若右端换为 (0,0,0),解集是什么?此时克拉默与秩判据各说什么?
评讲:D = −1,(x, y, z) = (2, 3, −1)。齐次时 D ≠ 0 ⟹ 只有零解;秩判据同结论,克拉默进一步给出「解的显式公式」——两工具的关系是「判据 vs 公式」。
四(30 分) 证明题:(1) 设 A 满足 A2 = A(幂等),证明 det A ∈ {0, 1};(2) 设 A 为实反对称阵且可逆,证明 n 必为偶数;(3) 用舒尔补证明:若 A、D 可逆,则 detABCD = det A·det(D − CA−1B)。
评讲:(1) det A = (det A)2;(2) det A = det(−A) = (−1)n det A,det A ≠ 0 迫使 (−1)n = 1;(3) 块消法矩阵行列式为 1,化三角后用定理 3.12。三题分别示范「取 det 化数」「符号分析」「块消法」三种证明姿势。
赛 4 的复核(见挑战二) 独立重做挑战二赛 4:t2−1 的展开中 t+1 与常数 3 的合并最容易错,正确零点是 t = 1, 2,而 t = 2 的点 (2,5) 恰在直线 y = 3x − 1 上。排错的过程本身就是考点:行列式给零点,几何负责验收。
行列式是方阵才有的奢侈品——长方形的系数阵没有 det。第四章《线性空间与子空间》将把「数组的加法与数乘」本身立成对象,让秩、解集、子空间在同一个语言里重新聚齐:那时可以发现,本章的消元法一直在做的事,是找一张「子空间的坐标表」。
第三章末尾我们留了一句话:消元法一直在做的事,是找一张「子空间的坐标表」。现在兑现它。回到最初的画面——《九章》的方程术解到今天,我们把方程组写成了 Ax = b。算法早已熟练,但有一个更基本的问题一直被跳过:解集长什么样?
把三个具体的方程组画在同一张图上看看:
| 方程组 | 解集 | 形状 |
|---|---|---|
| x + y + z = 1(一个方程) | 过点 (1, 0, 0) 的一整片 | 平面 |
| x + y + z = 0;y = z(两个方程) | 方向 (−2, 1, 1) 的直线 | 直线 |
| x = ½;y = 2(钉死两个变量) | 一点 | 点 |
再补一刀:齐次方程组 Ax = 0 的解集有两条明显的规律——两个解相加还是解;一个解乘个数还是解。也就是说,解集自己内部就能做加法和数乘,俨然一个小世界。「自己内部能做加法与数乘的集合」——这句话就是本章的主角:子空间。
① 形状:解集凭什么是一条直线、一个平面?——子空间语言来命名;
② 大小:直线是一维、平面是二维,那解集的「维数」是多少?——n − r(自由未知量个数)将升格为定理;
③ 坐标:选定一族「基本解」,任何解都能用它们拼出来吗?——基与坐标,结构登场的加冕礼。
〔明线〕张苍法的第三份收成 第一份收成是解(第一章);第二份是秩与逆(第二章);本章收第三份——解集的形状。同一个消元算法,把「怎么解」炼成了「解集是什么」。这也是全书的转折点:从这一章起,我们的注意力从求解转向结构,为第五章「解方程组 = 求线性映射的原像」铺路。
到目前为止我们只跟「数构成的数组」打交道。但数学里一大堆对象天然支持「相加」与「数乘」:多项式可以相加、可以乘常数;矩阵可以;函数也可以。它们的加法规则各不相同,但加法与数乘满足的运算法则却惊人地一致。把这些公共法则抽出来立成公理——这就是本章最重要的观念升级。
定义 4.1(线性空间) 设 𝔽 是一个数域(如 ℚ、ℝ、ℂ),V 是一个非空集合,其上定义了两种运算:
· 加法:V × V → V,(α, β) ↦ α + β;
· 数乘:𝔽 × V → V,(k, α) ↦ kα。
若它们满足以下八条公理(对任意 α, β, γ ∈ V、k, l ∈ 𝔽):
(1)α + β = β + α(交换律);(2)(α + β) + γ = α + (β + γ)(结合律);
(3)存在零元 0 ∈ V:α + 0 = α;(4)每个 α 有负元 −α:α + (−α) = 0;
(5)k(α + β) = kα + kβ;(6)(k + l)α = kα + lα;
(7)(kl)α = k(lα);(8)1·α = α。
就称 V 是数域 𝔽 上的一个线性空间(也叫向量空间),其元素称为向量。
现代接口 这正是第三章用过的「公理候选 + 唯一性」套路的又一次上演——上次立的是「行列式」,这次立的是「线性空间」。公理化的要义:定理只为公理负责,不为具体对象负责。于是关于 ℝn 证得的一切,自动适用于多项式、矩阵、函数——一次证明,处处生效。
定义立好了,先看谁在殿堂里、谁在门外。门内的家族成员出奇地多:
门外站着三位常客——它们各破一条要害,判例值得逐个过目:
反例 1 非负象限 W = {(x, y) : x ≥ 0, y ≥ 0}。加法封闭,但数乘失守:(1, 1) ∈ W 而 −1·(1, 1) = (−1, −1) ∉ W。破在数乘。
反例 2 坐标轴并集 W = {(x, y) : xy = 0}。(1, 0)、(0, 1) 都在 W 里,但它们的和 (1, 1) 不在(1·1 = 1 ≠ 0)。破在加法。
反例 3 仿射平面 W = {(x, y, z) : x + y + z = 1}。它自己很平、很规矩,却不含零向量——而零向量必须满足 x + y + z = 0。连门牌都挂错:线性空间必有零元,一切子空间必含 0。
〔几何〕反例 3 那张「不过原点的平面」将在下册修成正果:把线性空间的平移与并置纳入语言后,它叫仿射子空间——仿射几何的第一块砖。眼下先记住:齐次(右端为 0)的方程,解集才过原点。
定义 4.2(子空间) 设 V 是线性空间,W ⊆ V 非空。若 W 对 V 的加法与数乘封闭(且这两种运算限制在 W 上满足八条公理),则称 W 是 V 的子空间。
要逐条验八条公理未免笨重。好消息是:封闭性自动捎带上大部分公理——因为 W 里的元素本来就在 V 里,公理在 V 里已经成立。真正需要单独看管的,只有「运算出不去」和「零元在不在」:
定理 4.1(两步判定法) W ⊆ V 非空是子空间 ⟺
(1)加法封闭:α, β ∈ W ⟹ α + β ∈ W;
(2)数乘封闭:α ∈ W, k ∈ 𝔽 ⟹ kα ∈ W。
证 (⟹)显然。(⟸)数乘封闭取 k = 0 得 0 = 0·α ∈ W,取 k = −1 得负元在 W;其余公理在 V 中成立,限制到 W 依然成立。∎
两个平凡的子空间先登记在册:{0} 本身(零空间)与 V 本身。其余子空间都叫真子空间。走两个判例:
判例 1 W = {(a, b, c) : b = a + c} ⊂ ℝ3。任取 α = (1, 2, 1)(验证 2 = 1 + 1 ✓)、β = (2, 3, 1)(3 = 2 + 1 ✓),和为 (3, 5, 2),检验 5 = 3 + 2 ✓。一般地两个满足条件的向量相加,条件式两边照抄相加即可——线性条件天然封闭。子空间 ✓。
判例 2 W = {(x, y, z) : x + y + z = 1}。零向量 (0, 0, 0) 的坐标和为 0 ≠ 1,不在 W 里——两步判定还没走到就被拦下。而且可以具体看它怎么破:(2, −1, 0) 与 (−1, 1, 1) 各自满足条件(和为 1),但其和 (1, 0, 1) 的坐标和是 2 ≠ 1。不是子空间。
现代接口 子空间是「空间里的空间」。本章后半将证明:每个子空间自己就是一个线性空间(公理自动满足)——于是「基、维数、坐标」这一整套装备对子空间照样适用。结构的定义是递归友好的:大空间的子结构还是同一类结构。这在抽象代数里是普遍现象(子群、子环、子模……),子空间是遇到的第一个。
子空间判定法回答了「给定的集合是不是子空间」。反过来更要紧:怎样制造子空间?取几个向量,把它们的全部线性组合装进一个集合——
定义 4.3(生成子空间) α1, …, αs ∈ V,记
span(α1, …, αs) = {k1α1 + k2α2 + ⋯ + ksαs : ki ∈ 𝔽},
称为由这组向量生成(张成)的子空间。
定理 4.2(span 是最小子空间) span(α1, …, αs) 是子空间,且是包含 α1, …, αs 的最小子空间:任何包含这组向量的子空间都包含整个 span。
证(骨架) 封闭性直接验:两个组合相加还是组合(系数对应相加),数乘同理,零向量取系数全 0。「最小性」:子空间对加法与数乘封闭,就必须装下每一个线性组合——一个都跑不掉。∎
几何直观最要紧:一个向量张成一条过原点的直线;两个不共线的向量张成一张过原点的平面;三个向量能张满整个 ℝ3(若它们不共面)。张成,就是把有限个向量「织」成一片无限的空间。
〔明线〕解空间的张成语言 第一章的「基础解系」其实就是解空间的生成组:自由未知量取单位值得到的那几个解,张成了整个解集。当时只能说「取遍所有组合」,现在有了名字:解集 = span(基础解系)。本章末将把「基础解系恰是解空间的基」写成定理。
线性组合就是形如 k1α1 + ⋯ + ksαs 的向量;若 β 能写成这样的组合,称 β 可被这组向量线性表示。表示问题本质上是解方程组问题——设 β = Σkiαi,按分量展开就是关于 k1, …, ks 的线性方程组:「能否表示」⟺「方程组有无解」,「表示是否唯一」⟺「方程组是否唯一解」。张苍法又一次接到活儿。
而且表示可以不唯一。看一个最小例子:在 ℝ2 中问 (3, 5) 能否由 (1, 0)、(0, 1)、(1, 1) 表示?设 (3, 5) = a(1, 0) + b(0, 1) + c(1, 1),按分量:
a + c = 3, b + c = 5
两个方程、三个未知数——取 c 为自由变量,得无穷多组表示 (a, b, c) = (3−c, 5−c, c):c = 0 时 (3, 5, 0);c = 1 时 (2, 4, 1);c = 2 时 (1, 3, 2)……逐组代回都对:2(1,0) + 4(0,1) + 1(1,1) = (3, 5) ✓。冗余的向量给了同一目标多条路线。
例 β = (4, 9, 7) 能否由 α1 = (1, 2, 1)、α2 = (1, 1, 2) 表示?解 a + b = 4;2a + b = 9;a + 2b = 7。由前两式 a = 5, b = −1,代入第三式 5 − 2 = 3 ≠ 7,矛盾——三个条件只被满足两个,不能表示。用矩阵语言:r(α1, α2) = 2 ≠ r(α1, α2, β) = 3,增广比系数「胖」了一阶,方程无解。
把判据写成一条定理(第二章秩的语言在这里第一次「用了就离不开」):
定理 4.3(表示判据) β 可由 α1, …, αs 线性表示 ⟺ r(α1, …, αs) = r(α1, …, αs, β)(即以 αi 为列、β 为增广列的方程组相容)。
〔明线〕这条定理是「把几何问题翻译成方程问题」的第一座桥:表示 ⟺ 相容 ⟺ 消元后增广列不产生新主元。下一节的「相关性」与 4.8 的「基」,全部走的是同一座桥——一切线性代数的判定问题,最终都是一次消元。
上一节看到:向量组里若有「冗余」,表示就不唯一。现在给「冗余」一个精确名字。
定义 4.4(线性相关与无关) 向量组 α1, …, αs(s ≥ 1)称为
· 线性相关:存在不全为零的系数使 k1α1 + ⋯ + ksαs = 0;
· 线性无关:上式只有系数全为零一种取法。
几何读法一针见血:相关 = 有一个向量是「多余的」——它被其余向量表示(设某 ki ≠ 0,移项即 αi 是其余的组合)。两个向量相关 ⟺ 共线;三个向量相关 ⟺ 共面。四个向量在 ℝ3 里必然相关:三张平面的世界装不下第四个独立方向。
判定手段有三件兵器,按场合选用:
| 方法 | 操作 | 适用 |
|---|---|---|
| 定义法 | 设 Σkiαi = 0,解齐次方程组 | 低阶、系数简单的手算题 |
| 行列式法 | s = n 个 n 维向量排成方阵:相关 ⟺ det = 0 | 向量个数 = 维数时最快 |
| 秩方法 | 相关 ⟺ r(α1,…,αs) < s | 一般场合的万能判定 |
行列式法迅速验两个例子(第三章的收获立刻回本):(1, 0, 1), (0, 1, 1), (1, 1, 2)——第三个恰是前两个之和,排阵取行列式得 1(2−1) − 0 + 1(0−1) = 0,相关 ✓;而 (1, 1, 0), (0, 1, 1), (1, 0, 1) 的行列式为 1(1−0) − 1(0−1) + 0 = 2 ≠ 0,无关 ✓。
现代接口 「无关」还是 3.3 节那个预埋伏笔的答案:sgn 之所以能当群同态,靠的是「任一排列可由对换拼出,且拼法奇偶性唯一」——那正是「对换是排列群的一组无关生成元」的影子。无关性思想在群、环、模里都会重逢;在线性代数里它连着维数,在抽象代数里它连着自由对象。
现在把「表示的存在性」(span 保证)与「表示的唯一性」(无关保证)合体:
定义 4.5(基与维数) 设 V 是线性空间。若 α1, …, αn 满足:
(1)线性无关;(2)张成 V(即 V 中每个向量都可由它们线性表示),
则称它是 V 的一个基;基中向量个数 n 称为 V 的维数,记 dim V = n。维数为 n 的空间称 n 维空间;只含零向量的空间维数规定为 0。
为什么表示会唯一?若 β = Σaiαi = Σbiαi,相减得 Σ(ai−bi)αi = 0,无关性迫使每个 ai = bi。基 = 不多不少的坐标系:多了必相关(表示不唯一),少了张不满(有的向量够不着)。基的存在性对有限维空间不平凡,需要一条替换定理(习题课四演练其特例,完整证明见高等代数教材标准章节);但「不同基的向量个数相同」这一维数良定性,是本章的支柱定理:
定理 4.4(维数良定性) 若 V 既有 n 个无关向量,又由 m 个向量张成,则 n ≤ m。推论:V 的任何两组基所含向量个数相同,dim V 的定义无歧义。
最熟悉的基:ℝn 的标准基 e1, …, en;𝔽[x]≤n 的 1, x, x2, …, xn(维数 n+1);𝔽m×n 的 mn 个「单位矩阵」(维数 mn)。再练一个非标准的:ℝ3 中取 (1, 1, 0), (0, 1, 1), (1, 0, 1)——由 4.7 节行列式 = 2 ≠ 0 知无关;又 e1 = (α1 + α3 − α2)/2、e2 = (α1 + α2 − α3)/2、e3 = (α2 + α3 − α1)/2(逐个展开验算即得),标准基可被表示 ⟹ 这组向量张满 ℝ3:是基。
〔明线〕解空间的基登场 拿张苍法解一个四元齐次方程组 x1+x2+x3+x4 = 0, x1−x2+x3−x4 = 0:两式相减得 x2 = −x4,相加得 x1 = −x3,r = 2,自由未知量是 x3, x4,基础解系 (−1, 0, 1, 0) 与 (0, −1, 0, 1)(逐个代回验算均为解 ✓)。今天的话说:解空间是二维的,这两向量是它的一组基。于是 解集 = 基的一切线性组合——「通解 = 基础解系 × 任意常数」这句老话,从此有了结构学的身份。
基选定后,每个向量获得一组唯一地址——坐标。这件事值得一个正式定义:
定义 4.6(坐标) α1, …, αn 是 V 的基,β ∈ V 且 β = x1α1 + ⋯ + xnαn,则列向量 (x1, …, xn)t 称为 β 在基 α1, …, αn 下的坐标。
算一个上三角的漂亮例子。取基 α1 = (1, 0, 0), α2 = (1, 1, 0), α3 = (1, 1, 1),求 β = (5, 3, 2) 的坐标。设 β = x1α1 + x2α2 + x3α3,从最后一个分量看起:x3 = 2;中分量 x2 + x3 = 3 ⟹ x2 = 1;首分量 x1 + x2 + x3 = 5 ⟹ x1 = 2。坐标 (2, 1, 2)——回代只需三步,因为基矩阵是上三角的。把基按列排成矩阵:
T =111011001, T−1 =1−1001−1001, T−1(5, 3, 2)t = (2, 1, 2)t
一切坐标问题 = 一次线性方程组求解 = 一次矩阵乘向量。于是换基这件事也有了矩阵语言:
定义 4.7(过渡矩阵) 设 A = (α1, …, αn) 与 B = (β1, …, βn) 是 V 的两组基。把每个 βj 在基 A 下的坐标排成第 j 列,所得矩阵 P 称为由基 A 到基 B 的过渡矩阵,满足 B = AP。
过渡矩阵必可逆(两组基互相表示,P 的逆就是 B 到 A 的过渡矩阵),其行列式永不为零——这个行列式在第三章还是「体积伸缩率」,在这里升格为「换基的合法性证书」。
〔几何〕歪坐标系的合法证书 在天文学与工程里,人们总是在斜着的坐标系里工作(地平坐标、轨道坐标……)。4.13 节将把「换基」写成完整的坐标变换公式;下册则会证明:保持图形形状不变的换基,恰恰是正交变换——那里,欧氏几何将接管今天的一切。
两个子空间 U、W 拼在一起(U+W,见 4.12 节的正式定义),会得到多大的子空间?天真的答案「维数相加」往往偏大——因为 U 与 W 之间的公共部分被数了两遍。
定理 4.5(维数公式) 设 U、W 是 V 的有限维子空间,则
dim(U + W) = dim U + dim W − dim(U ∩ W)。
证(骨架) 取 U∩W 的基 γ1,…,γr,扩充成 U 的基 γ1,…,γr, α1,…,αs 与 W 的基 γ1,…,γr, β1,…,βt。断言:γ1,…,γr,α1,…,αs,β1,…,βt 是 U+W 的基——它显然张成;无关性用定义法证:设组合为零,代入拆出 U 侧与 W 侧,两侧相等说明那个向量落在 U∩W 里,只能由 γ 们表示,比较系数迫使一切系数为零。于是 dim(U+W) = r+s+t = (r+s) + (r+t) − r,正是公式。∎
走一个实算的四维例子。取
U = span(α1, α2) = span((1,2,1,0), (−1,1,1,1)), W = span(β1, β2) = span((2,−1,0,1), (1,−1,1,3))
两组各自无关,dim U = dim W = 2。求交:设 aα1 + bα2 = cβ1 + dβ2,按分量立齐次方程组,精确消元后恰有一维解空间,取 a = −1, b = 3 得交向量
−α1 + 3α2 = (−4, 1, 2, 3) = −3β1 + 2β2,
两个表示在两边各验一次:左边 (−1−3, −2+3, −1+3, 0+3) = (−4, 1, 2, 3) ✓;右边 (−6+2, 3−2, 0+2, −3+6) = (−4, 1, 2, 3) ✓。于是 dim(U∩W) = 1,四个向量的并组秩为 3,公式对账:2 + 2 − 1 = 3 ✓。
推论一枚 dim(U+W) ≤ dim U + dim W,且 dim(U∩W) ≥ dim U + dim W − dim V。于是三维空间里的两张过原点平面必交于一条直线(2 + 2 − 3 = 1,交不可能为 0 维)——线性代数用一行不等式,说出了立体几何要画图才敢说的话。
维数公式里最好的情形,是交只剩下 {0}——两个子空间「不共享任何方向」。
定义 4.8(直和) 若 U ∩ W = {0},则称 U + W 为直和,记作 U ⊕ W。若 V = U ⊕ W,称 U、W 互为补子空间。
定理 4.6(直和的等价刻画) 下列说法等价:
(1)V = U ⊕ W; (2)V = U + W 且 dim V = dim U + dim W;
(3)V 中每个向量分解成 v = u + w(u ∈ U, w ∈ W)的方式唯一。
(3)是直和的灵魂。若分解不唯一,u + w = u′ + w′ 移项得 u − u′ = w′ − w,这个向量既属 U 又属 W,是公共方向——交非零;反之亦然。唯一分解 = 没有公共方向,一体两面。
实算一个 ℝ3 的分解。U = span(e1, e2)(水平面),W = span(1, 1, 1)(斜线)。交显然为 {0}(斜线上除零外没有水平向量),且维数和 2 + 1 = 3 = dim ℝ3,故 ℝ3 = U ⊕ W。于是任一向量有唯一分解,例如
v = (4, 7, 9) = (−5, −2, 0) + 9·(1, 1, 1),
其中 (−5, −2, 0) ∈ U(末位为 0 ✓)、9(1,1,1) ∈ W。分解的求法就是把 v − t(1,1,1) 压进 U:末位 9 − t = 0 给出唯一的 t = 9。验算 (−5+9, −2+9, 0+9) = (4, 7, 9) ✓。
多项式空间里有一组天然的直和:偶函数部分 ⊕ 奇函数部分。p(x) = 1 + 2x + 3x2 + 4x3 = (1 + 3x2) + (2x + 4x3),系数逐项对账 (1, 0, 3, 0) + (0, 2, 0, 4) = (1, 2, 3, 4) ✓——任何多项式的偶部与奇部由系数直接读出,分解唯一。
现代接口 「整体 = 各部分 ⊕ 各部分,且不带重叠」是抽象代数的通用句式。第三章的分块对角阵 diag(A, D) 正是 V = V1 ⊕ V2 的矩阵化身;第五章会看到,矩阵能对角化的条件就是「特征子空间拼成直和」。直和是把复杂结构拆成简单零件的合法证书。
4.10–4.11 用到的 U∩W 与 U+W,正式立个户口:
定义 4.9(交与和) U∩W = {v : v ∈ U 且 v ∈ W};U+W = {u + w : u ∈ U, w ∈ W}。两者都是子空间(封闭性逐条验即可),且是同时包含于 U, W 的最大子空间与同时包含 U, W 的最小子空间。
和与「并」不同:并集 U∪W 一般不是子空间(两个方向的向量一相加就跑出并集),和恰是并集的「子空间闭包」——把所有组合都收进来。两个过原点的不同直线,并起来是两条线(不是子空间),和起来是一张平面(子空间)。
交的算法——这是本节的技术核心,把「求交」化成「解齐次方程组」:设 U = span(α1,…,αs),W = span(β1,…,βt)。交里的向量等于「用 α 表示,也用 β 表示」,于是
x1α1 + ⋯ + xsαs − y1β1 − ⋯ − ytβt = 0
的解 (x, y) 中,x 部分给出的组合恰跑遍 U∩W。又是一次消元——张苍法的第四份收成悄然到账。
实算一个四维例。U = span((1,1,0,0), (0,0,1,1)),W = span((1,0,1,0), (0,1,0,1))。立方程 a(1,1,0,0) + b(0,0,1,1) = c(1,0,1,0) + d(0,1,0,1),按分量:a = c;a = d;b = c;b = d——四个数被迫全部相等!取 a = b = c = d = 1 得交向量 (1, 1, 1, 1),它在两边都能拼出:(1,1,0,0)+(0,0,1,1) ✓,(1,0,1,0)+(0,1,0,1) ✓。于是 U∩W = span((1,1,1,1)),一维;dim(U+W) = 2 + 2 − 1 = 3(四个张成向量秩为 3)。两张「平面」在四维空间里交出一条对角线。
〔明线〕注意本节的模式:几何对象(交、和)→ 线性方程组 → 消元 → 读出维数与基。结构问题被逐个翻译回张苍法,这正是全册的明线设计:算法不因观念升级而退役,反而升级为一切判定的发动机。
4.9 节埋下的三角关系,现在写成完整公式。设基 A = (α1,…,αn) 到基 B = (β1,…,βn) 的过渡矩阵为 P(即 B = AP),向量 v 在两基下的坐标分别为 [x] 与 [y]:
定理 4.7(坐标变换公式) A[x] = B[y] = AP[y],而 A 可逆,两边消去 A:
[y] = P−1[x], [x] = P[y]。
完整实算。取新基 β1 = (1, 1, 0), β2 = (0, 1, 1), β3 = (1, 0, 1)(标准基 A = (e1, e2, e3))。过渡矩阵按列排:
P =101110011, det P = 2 ≠ 0, P−1 =1/21/2−1/2−1/21/21/21/2−1/21/2
求 v = (2, 1, 3) 在新基下的坐标:
[y] = P−1(2, 1, 3)t = (0, 1, 2)t,
即 v = 0·β1 + 1·β2 + 2·β3 = (0,1,1) + 2(1,0,1) = (2, 1, 3) ✓。再来一组练手:v = (3, 2, 1) 得坐标 (2, 0, 1),验算 2β1 + 0β2 + 1β3 = (2,2,0) + (1,0,1) = (3, 2, 1) ✓;v = (1, 2, 3) 得坐标 (0, 2, 1),验算 2(0,1,1) + (1,0,1) = (1, 2, 3) ✓。注意坐标可以出现 0 甚至负数——地址不忌讳任何数,只要唯一。
两个易错点提前钉住:① 方向别反——新基坐标 = P−1 乘旧坐标(「新用逆」);② P 的列是新基在旧基下的坐标,不是别的。
现代接口 同一个向量在不同基下坐标不同——那么「矩阵」究竟是谁的性质?第五章将给出答案:同一个线性映射在不同基下的矩阵相差一个 P−1AP 型的相似变换(第二章例 10 已埋伏笔),相似不变量(迹、行列式、特征多项式)之所以「不变」,正因为它们不依赖坐标系统。今天学的换基公式,是全部相似理论的语法。
先看三对貌似无关的对象:ℝ2 与「次数 ≤ 1 的多项式」;ℝ3 与 M2×1 矩阵;ℝ4 与 2×2 矩阵。它们元素长得完全不同,但有一件事完全一样:加法表与数乘表逐条相同。把这种「结构完全相同」立成定义:
定义 4.10(线性映射与同构) f : V → W 称为线性映射,若对一切 u, v ∈ V、k ∈ 𝔽:
f(u + v) = f(u) + f(v), f(kv) = k·f(v)(合起来即 f(au + bv) = a·f(u) + b·f(v))。
若 f 还是双射,则称 f 为同构映射,此时称 V 与 W 同构,记 V ≅ W。
显式搭一座桥:ℝ3 与 𝔽[x]≤2 之间,令
f(a, b, c) = a + b x + c x2,
它是线性的:两个三元组相加,像恰好相加((1, 2, −1) 映到 1 + 2x − x2,(0, 1, 3) 映到 x + 3x2,和 (1, 3, 2) 映到 1 + 3x + 2x2,恰等于前两个像之和 ✓);数乘同理;逐位对应保证双射。反方向同样顺畅:p(x) = a + bx + cx2 ↦ 系数组 (a, b, c)。两座桥互逆,同构。
定理 4.8(同构判据) 有限维线性空间 V ≅ W ⟺ dim V = dim W。
证(骨架) (⟹)同构把基映成基:无关性在双射线性映射下保持,像组张成 W。(⟸)维数相等时,取两边各一组基,按「第 i 个基向量 ↦ 第 i 个基向量」逐位搭桥,线性扩展即得同构。∎
〔明线〕「维数相同 ⟺ 同构」解释了一件从前只能默认的事:为什么解方程组时我们敢把解写成 k1ξ1 + k2ξ2 的坐标形式?因为解空间与 𝔽n 的某个子空间同构,基础解系就是那张「结构说明书」。同构是隐形的翻译官,从第一章起一直在场,今天才自我介绍。
定理 4.8 值得单独一页,因为它宣告了一件事:在「同构意义下」,有限维线性空间被维数一维定乾坤——任何 n 维空间都同构于 𝔽n。维数,是线性空间类别的完全不变量:它不多不少地分类了所有有限维空间。
于是同一维数的世界可以随意换装,每件衣裳都是同一个结构:
| 维数 | 四件衣裳(互相同构) | 桥 |
|---|---|---|
| 4 | ℝ4 ≅ M2(𝔽)(2×2 矩阵)≅ 𝔽[x]≤3(次数 ≤3 多项式)≅ ℝ2×ℝ2 | 按位读系数 |
| 3 | ℝ3 ≅ 𝔽[x]≤2 ≅ 空间几何中的「点空间」 | 按位读系数 |
| 2 | ℝ2 ≅ 次数 ≤1 多项式 ≅ 复数 ℂ(作为实空间) | (a, b) ↦ a + bi |
最后一行值得驻足:复数集 ℂ 在实数域上就是二维线性空间,基 {1, i}——「虚数轴」不是比喻,是维数定理的直接推论。四元数(札记①的主角)则是四维的延续。
维数不变量的第一个战果,是给「秩—零化度」预留席位。设 A 是 m×n 矩阵,齐次方程组 Ax = 0 的解空间(今后称零空间 N(A))的维数 = 自由未知量个数 = n − r(A)。用今天的语言重说第一章的事实:
定理 4.9(零空间的维数) A 为 m×n 矩阵时,dim N(A) = n − r(A)。第五章将以「秩—零化度定理」的正式身份回归。
回到明线:消元把方程组化成阶梯形时,主元个数 r 与自由变量个数 n − r 此消彼长,总和恒为 n。消元不是在制造信息,而是在把 n 维「预算」在主元与自由元之间分配——今天我们知道,分配的结果就是解空间的维数。
现代接口 「完全不变量」是分类数学的圣杯:找到一个量,它相同 ⟺ 结构相同。线性空间的分类已经被 dim 一劳永逸地解决——这是本科数学里罕见的「分类完成」时刻。第六章将遇到不完全的反例:多项式环的理想分类远比维数复杂,那里正是抽象代数的起点。在分类完成与分类艰难之间,数学的全部风景铺展开来。
还有一种造新空间的办法,思路奇特而威力巨大:把子空间「压成零」。设 W 是 V 的子空间,规定向量 v, v′ 等价,只要 v − v′ ∈ W——也就是它们相差一个 W 里的向量。每个等价类
v̄ = v + W = {v + w : w ∈ W}
称为一个陪集,全体陪集构成商空间 V/W,加法与数乘按代表元定义(这个定义是适定的:换代表元结果不变,正因 W 封闭)。
几何一图胜千言。取 V = ℝ2,W = span((1, 0))(横轴)。陪集 (a, b) + W 是过点 (a, b) 的整条水平线;两个点同属一个陪集 ⟺ 纵坐标相同。于是商空间 ℝ2/W 的「点」就是水平线,「一个点 = 一条线」——商运算把二维压成一维,把点压成线:
dim(V/W) = dim V − dim W。
数值小例:ℝ3 对直线 W = span((1, 1, 1)) 取商,维数 3 − 1 = 2:商空间的「点」是所有与 (1,1,1) 平行的直线——空间被 «压扁» 成一张「直线为点」的平面。更实用的取法是对平面取商:ℝ3 对 W = {x+y+z = 0} 的商是 1 维的,任何向量的「身份」只由 x+y+z 的值决定——商空间把三维信息浓缩成一个数。
现代接口 第三章的商群 GLn/SLn ≅ 𝔽* 与今天的商空间是同一个思想的两处落笔:把「不关心的差异」正式宣布为相等。第五章的解集合一一 Ax = b 的任意一个特解 + 零空间的全部——用商的语言说就是:解集是 b 所在的陪集。「通解 = 特解 + 通零解」这句口诀,正是陪集分解 v̄ = v + W 的日常读音。
本章把「数组、矩阵、多项式、函数」统一成了线性空间。但抽象代数还有更高一层的屋顶——模:把「数域 𝔽 乘向量」放宽为「环 R 乘向量」,其余公理原封不动。线性空间就是数域这个特殊环上的模:
| 概念 | 线性空间(本章) | 环上的模(抽象代数) | 变化 |
|---|---|---|---|
| 数量来源 | 数域 𝔽(可做除法) | 任意环 R(如 ℤ、𝔽[x]) | 除法不再保证 |
| 基与维数 | 总有基,维数良定 | 可能有基(自由模)也可能没有 | 维数论可能失效 |
| 典型对象 | 𝔽n | ℤn、𝔽[x] 自身、𝔽[x]-模 | 新世界的大门 |
「丢掉除法」看似损失,实为解放。一个漂亮的例子:给了线性算子 T : V → V,V 立刻升级为 𝔽[x] 上的模——让多项式这样作用在向量上:
p(x)·v := p(T)(v)(如 (x2 + 1)·v = T2v + v),
验算:多项式的加法对应算子的加法,乘法对应复合(第二章「矩阵乘法 = 复合」的回声)。在这个模里,「多项式 p(x)T 零化 v」恰是「p 是 v 的零化多项式」。第六章主角 𝔽[x] 在这里提前客串。
现代接口 本章全部概念在模的世界里都有对应物:子空间 → 子模,交与和 → 模的交与和,直和 → 模直和,商空间 → 商模。但注意:模的维数定理可能整体失效——环 ℤ 的模(交换群)里,⟨1/2⟩ 不是整数组合能到达的地方;「基」可能不存在或不唯一。线性代数是模论的「幸运特例」,看清幸运从何而来(域可除),就看清了抽象代数为何要另起炉灶。
本章最后一个视角最抽象也最「省心」:范畴论。一个范畴由两类东西组成——对象与态射(对象之间的箭头),且箭头可以复合、复合满足结合律、每个对象有恒等态射。三个早已认识的例子:
| 范畴 | 对象 | 态射 | 同构 = ? |
|---|---|---|---|
| Vect𝔽 | 𝔽 上线性空间 | 线性映射 | 可逆线性映射(4.14 节) |
| Group | 群 | 群同态 | 双射同态(第三章 GL 与 𝔽* 的语言) |
| Ring | 环 | 环同态 | 双射同态(第六章登场) |
范畴论对「同构」的统一裁决:同构 = 存在逆态射的态射(f∘g = id 且 g∘f = id)。三个世界的定义在这个裁决下归一。更进一步,范畴论有一条指导性偏好:凡命题尽量用「同构」而不是「相等」陈述。本章已经受惠于此:4.15 节的分类定理严格的读法是「n 维线性空间同构于 𝔽n」而非「就是 𝔽n」——同构断了「唯一性」的念想,却给了「翻译 freely」的自由。
本章收束 从解集的形状(4.1)出发,经公理化(4.2)、子空间(4.4)、基与维数(4.8)、维数公式与直和(4.10–4.11)、同构(4.14)、商空间(4.16),最后升到模与范畴(4.17–4.18)。结构正式登场,登场的方式是:所有判定问题都回到一次消元,而所有概念都获得了一次命名。下一章,箭头(线性映射)接过主角之位——方程组 Ax = b 将被重写为「求 f(x) = b 的原像」,明线将在那里完成收束。
例 1 判断下列 ℝ3 的子集是否为子空间,并说明理由:
(1)W1 = {(a, b, c) : b = a + c}; (2)W2 = {(a, b, c) : a + b + c = 1};
(3)W3 = {(a, b, c) : a2 = b2}; (4)W4 = {(a, b, 0) : a, b ∈ ℝ}。
解 全部走定理 4.1 的两步判定。
(1)任取两个满足条件的向量,条件式照抄相加仍成立:设 b1 = a1 + c1, b2 = a2 + c2,则和向量的中间分量 b1 + b2 = (a1 + a2) + (c1 + c2) ✓;数乘 kb1 = k a1 + k c1 ✓。两步全部通过——W1 是子空间。它的形状:条件是齐次线性方程,解集是过原点的平面 x − y + z = 0(例 11 将反过来看这类问题)。
(2)零向量 (0, 0, 0) 的坐标和为 0 ≠ 1,不在 W2 里——不是子空间。补一刀看它怎么破:取 (2, −1, 0) 与 (−1, 1, 1)(各自的和都是 1),相加得 (1, 0, 1),坐标和为 2 ≠ 1,加法封闭失效。几何上这是那张「不过原点的平面」。
(3)a2 = b2 等价于 a = b 或 a = −b,即两张平面的并集。取 (1, 1, 0)(a = b 支)与 (1, −1, 0)(a = −b 支),两者都在 W3,但和 (2, 0, 0) 使 a2 = 4 ≠ 0 = b2,不在 W3——加法封闭破——不是子空间。两个子空间的并一般不是子空间,这是一枚常考的反例。
(4)条件「第三坐标为 0」是齐次线性条件:两个第三坐标为 0 的向量相加、乘数后仍为 0,两步全部通过——W4 是子空间,即水平坐标面,它也正是 4.4 节判例的孪生兄弟。
方法论 判定顺序有讲究:先看零向量在不在(一步否决,零成本),再做两步封闭性检验。线性条件(齐次线性方程组给出的)天然过;带常数项、带平方、带并集的条件,通常一击即破。找反例时优先试「分属两支的向量相加」。
例 2 求 W = span((1,1,1), (1,1,0), (1,0,0), (2,2,1)) ⊂ ℝ3 的维数与一组基。
解 生成组的维数 = 生成组的秩(无关向量的极大个数)。把四个向量按行排阵消元:
111110100221 →(r2−r1, r3−r1, r4−2r1) 11100−10−1−100−1
第 4 行与第 2 行相同(r4 = r4 + r2 后化为零行,或直接看出 (2,2,1) = (1,1,1) + (1,1,0) ✓),三行阶梯形,r = 3。故 dim W = 3,而 W ⊆ ℝ3 且维数已达 3,W = ℝ3。基取前三个向量 (1,1,1), (1,1,0), (1,0,0)。
核对第四个向量确实多余:(1,1,1) + (1,1,0) = (2, 2, 1) ✓——第四个向量是前两个之和,自然不添新方向。
方法论 「生成组求维数」的标准动作:排阵 → 消元 → 数阶梯。留下的非零行对应的原向量就是一组基(消元是行变换,不改变行向量之间的线性关系结构)。顺带记住一条捷径:ℝ3 里若某生成组能表示出 e1, e2, e3,立即得 W = ℝ3——本例中 e3 = (1,1,1)−(1,1,0),e2 = (1,1,0)−(1,0,0),e1 = (1,0,0),标准基全员可达。
例 3 判断下列向量组的线性相关性:
(1)α1 = (1,1,0), α2 = (0,1,1), α3 = (1,0,1);
(2)α1 = (1,1,1), α2 = (1,2,t), α3 = (1,3,5)(t 为参数)。
解(1)三个向量、维数也是 3,用行列式法最快:
det(α1, α2, α3 按行排列) = 1(1−0) − 1(0−1) + 0 = 1 + 1 = 2 ≠ 0,
线性无关。(顺带:这三个向量因此构成 ℝ3 的一组基,det = 2 还是它们张成的平行六面体体积。)
解(2)含参数时行列式照样管用,按第一列展开:
D = det11112t135 = 1(10 − 3t) − 1(5 − t) + 1(3 − 2) = 6 − 2t
消元核验:第 2、3 行各减第 1 行得 (0, 1, t−1) 与 (0, 2, 4),第 3 行减第 2 行的 2 倍得 (0, 0, 6−2t)——对角线 1·1·(6−2t),与展开一致 ✓。于是:
· t = 3 时 D = 0,相关(此时第 2 行 (1,2,3) 恰在 (1,1,1) 与 (1,3,5) 张成的平面里);
· t ≠ 3(如 t = 2,D = 2)时无关。
定义法复核(1):设 k1α1 + k2α2 + k3α3 = 0,按分量 k1 + k3 = 0;k1 + k2 = 0;k2 + k3 = 0。三式相加得 2(k1+k2+k3) = 0;消元解出 k1 = k2 = k3 = 0 唯一——无关 ✓。
方法论 含参相关性问题的通式:相关性 ⟺ 行列式(或秩条件)对参数的方程有解。几何读法:t 变动时,第二个向量在一张固定的平面里滑动,t = 3 那一刻它落进前两个向量张成的平面——行列式为 0 的瞬间,就是方向「破产」的瞬间。
例 4 求齐次线性方程组 x1+x2+x3+x4 = 0;x1−x2+x3−x4 = 0 的解空间的维数与一组基。
解 消元:第 2 行减第 1 行得 (0, −2, 0, −2),化简为 (0, 1, 0, 1)。阶梯形为
x1 + x2 + x3 + x4 = 0; x2 + x4 = 0,秩 r = 2,n = 4。
主元变量是 x1, x2,自由未知量取 x3, x4(n − r = 4 − 2 = 2 个)。回代:x2 = −x4;x1 = −x2 − x3 − x4 = x4 − x3 − x4 = −x3。通解
(x1, x2, x3, x4) = (−x3, −x4, x3, x4) = x3(−1, 0, 1, 0) + x4(0, −1, 0, 1)
基础解系两个向量逐式验算:(−1, 0, 1, 0) 代入第 1 式 −1 + 0 + 1 + 0 = 0 ✓,第 2 式 −1 − 0 + 1 − 0 = 0 ✓;(0, −1, 0, 1) 代入第 1 式 0 − 1 + 0 + 1 = 0 ✓,第 2 式 0 + 1 + 0 − 1 = 0 ✓。两向量无关(对应坐标不成比例),解空间维数 = 2,基 {(−1, 0, 1, 0), (0, −1, 0, 1)}。若换取 x3, x4 以外的自由元组合或做行倍乘整理,会得到另一组基——基不唯一,维数唯一(定理 4.4),这正是「基础解系」一词用「系」而不用「第」的深意。
方法论 求基础解系的纪律三则:①先认准主元变量(消元后各阶主元所在的列),其余即自由元;②回代一步一式,符号最容易在此处丢失;③每个基础解系向量必须逐式代回验算,一步不省。张苍法的纪律在结构时代一条不废:算完必验。
例 5 设 β1 = (1, 0, 1), β2 = (0, 1, 1), β3 = (1, 1, 0),求 v = (1, 2, 3) 在基 β1, β2, β3 下的坐标,并写出标准基到该基的过渡矩阵及其行列式。
解 设 v = c1β1 + c2β2 + c3β3,按分量:
c1 + c3 = 1; c2 + c3 = 2; c1 + c2 = 3
三式相加:2(c1 + c2 + c3) = 6,故 c1 + c2 + c3 = 3。逐个减:c1 = 3 − 2 = 1;c2 = 3 − 1 = 2;c3 = 3 − 3 = 0。坐标为 (1, 2, 0)。验算:1·(1,0,1) + 2·(0,1,1) + 0·(1,1,0) = (1, 2, 3) ✓。这个「总和一半」的技巧只在三式两两共享未知数时好使,通用的办法仍是消元或矩阵求逆。
过渡矩阵按列排基:
P =101011110, det P = 1(0−1) − 0 + 1(0−1) = −2 ≠ 0
公式复验(定理 4.7):[v]β = P−1(1, 2, 3)t = (1, 2, 0)t,与解方程结果一致 ✓。注意 det P = −2:绝对值 2 是这组新基张成的平行六面体体积(第三章的旧识在此再就业),符号为负说明这组基把定向翻了一次面。
〔几何〕过渡矩阵的行列式 = 新基张成的平行六面体有向体积。它永远不会是零(基必须无关)——「体积非零」就是「能当坐标系」的几何资格证。
例 6 设 U = {(x, y, z) : x + y + z = 0} 与 W = {(x, y, z) : x + 2y + 3z = 0} 是 ℝ3 的两张过原点平面,求 U∩W,并用维数公式对账。
解 两平面都过原点,都是 2 维子空间(各由两个无关向量张成,如 U = span((1,−1,0), (1,0,−1)))。交里的向量要同时满足两个方程,解联立齐次方程组;几何上,两张过原点的不同平面的交是一条过原点直线,方向即两法向量的叉积:
n1 × n2 = (1,1,1) × (1,2,3) = (1·3 − 1·2, 1·1 − 1·3, 1·2 − 1·1) = (1, −2, 1)
验算方向向量同时在两平面里:1 − 2 + 1 = 0 ✓;1 − 4 + 3 = 0 ✓。所以 U∩W = span((1, −2, 1)),一条过原点的直线。
维数公式对账:dim U + dim W − dim(U∩W) = 2 + 2 − 1 = 3 = dim(U+W)。而 U+W ⊆ ℝ3,维数已达 3,故 U+W = ℝ3——两张平面合起来恰好铺满整个空间,不重不漏。
〔几何〕「两张平面必交于线」在 4.10 节由不等式给出(dim(U∩W) ≥ 1);本例把交算了出来。定性与定量,是维数公式的两副面孔。
例 7 设 ℝ3 = U ⊕ W,其中 U = span(e1, e2)(水平面),W = span((1, 1, 1))(斜线)。把 v = (4, 7, 9) 分解为 u + w(u ∈ U, w ∈ W),并证明分解唯一。
解 设 w = t(1, 1, 1),则 u = v − t(1,1,1) = (4−t, 7−t, 9−t)。要求 u ∈ U 即第三坐标为零:9 − t = 0,得唯一的 t = 9。于是
w = 9(1, 1, 1) = (9, 9, 9), u = (4−9, 7−9, 0) = (−5, −2, 0),
验算 u + w = (−5+9, −2+9, 0+9) = (4, 7, 9) = v ✓,且 u 的第三坐标为 0(∈ U ✓)、w 是斜线的倍数(∈ W ✓)。
唯一性(一般论证):若 v = u + w = u′ + w′,则 u − u′ = w′ − w,左端属 U、右端属 W,故该向量 ∈ U∩W = {0},即 u = u′, w = w′。∎
再做一个多项式空间的同类分解:𝔽[x]≤3 = V偶 ⊕ V奇(偶多项式 ⊕ 奇多项式,交为 {0},维数 2 + 2 = 4)。把 p(x) = 1 + 2x + 3x2 + 4x3 分解:偶部取偶次项 1 + 3x2,奇部取奇次项 2x + 4x3,系数逐项对账 (1,0,3,0) + (0,2,0,4) = (1,2,3,4) ✓。奇偶分解是「投影分解」的最古老模型。
〔明线〕例 4 的解空间语言再看一眼:解空间 = 基础解系张成的子空间,而任何「通解」总可写成「一个特解 + 零空间中的向量」——那正是 ℝn = 特解方向 ⊕ N(A) 式分解的影子(第五章将把它写成陪集等式 x̄ = x0 + N(A))。直和不是装饰,是解方程组的结构原型。
例 8 设 U = span(α1, α2) = span((1,2,1,0), (−1,1,1,1)),W = span(β1, β2) = span((2,−1,0,1), (1,−1,1,3))。求 U∩W 的基、维数及 dim(U+W)。
解 按 4.12 节算法:设 aα1 + bα2 = cβ1 + dβ2,移项立齐次方程组(四个分量四个方程):
a − b − 2c − d = 0; 2a + b + c + d = 0; a + b − d = 0; b − c − 3d = 0
精确消元后解空间一维,取 (a, b, c, d) = (−1, 3, −3, 2)(代入四式逐一核对:−1−3+6−2 = 0 ✓;−2+3−3+2 = 0 ✓;−1+3−2 = 0 ✓;3+3−6 = 0 ✓)。交向量用 U 侧表示:
−α1 + 3α2 = (−1−3, −2+3, −1+3, 0+3) = (−4, 1, 2, 3),
用 W 侧表示核对:−3β1 + 2β2 = (−6+2, 3−2, 0+2, −3+6) = (−4, 1, 2, 3) ✓,两个表示严格相等。U∩W = span((−4, 1, 2, 3)),维数 1。
再算和的维数:四个张成向量的并组秩为 3(比如消元后得三个非零行),故 dim(U+W) = 3。维数公式对账:2 + 2 − 1 = 3 ✓。四维空间里,两张「二维子空间」交出一条线、和出一张三维的超平面——比 ℝ3 里的平面故事更立体。
方法论 交的算法三步:①立方程 Σxα − Σyβ = 0;②解齐次方程组(消元);③解向量的 α 部分(或 β 部分,任取一侧)给交向量的表示。两侧各表示一遍再对账是防错的关键动作——本例两侧同为 (−4, 1, 2, 3),证书齐全。
例 9 (1)在函数空间中判断 1, cos2x, cos 2x 的线性相关性;(2)证明 𝔽[x]≤n 的维数是 n+1。
解(1)凭恒等式一眼看穿:cos 2x = 2cos2x − 1,即 (−1)·1 + 2·cos2x + (−1)·cos 2x = 0——一组不全为零的系数(−1, 2, −1),故线性相关。三个函数在函数空间里「共面」,其中一个是其余两个的组合。任取两个自变量值核对恒等式:x = 0 时 cos 0 = 1, 2cos20 − 1 = 2−1 = 1 ✓;x = π/3 时 cos 2π/3 = −1/2,而 2·(1/4) − 1 = −1/2 ✓。
解(2)取 1, x, x2, …, xn。无关性:若 a0 + a1x + ⋯ + anxn 是零函数,则它在任何点取值为 0;取 n+1 个互不相同的点逐个代入,得系数全为零(这一步也即范德蒙德行列式非零的应用,定理 3.13)。张成:定义即次数 ≤ n 的全体。故它是基,维数 = n + 1。∎
维数立刻给出一些「存在唯一」式的事实:过 n+1 个横坐标互不相同的点,次数 ≤ n 的插值多项式至多一条(待定系数法给出 n+1 个未知数 n+1 个方程,系数矩阵是范德蒙德阵,det ≠ 0 ⟹ 唯一解)。函数空间里的「维数计数」,就是插值唯一性的代数内核。
〔几何〕「相关 ⟺ cos2x 可被另两个表示」与「三向量共面」是同一句话在两个空间的读音。函数空间虽无限维(全体函数),但我们要的子空间(次数 ≤ n 多项式、三角多项式等)常常有限维——在无限维世界里圈出有限维的自留地,是调和分析、有限元等领域的日常操作。
例 10 构造 ℝ3 与 𝔽[x]≤2 之间的同构映射,并验证它保持加法;再问:M2(𝔽)(2×2 矩阵空间)与哪个「貌异神同」的空间同构?
解 定义 f : ℝ3 → 𝔽[x]≤2,f(a, b, c) = a + bx + cx2。
线性:f((a,b,c) + (a′,b′,c′)) = (a+a′) + (b+b′)x + (c+c′)x2 = f(a,b,c) + f(a′,b′,c′);数乘同理(多项式合并同类项就是按位相加)。数值验一对:f(1, 2, −1) = 1 + 2x − x2,f(0, 1, 3) = x + 3x2,两者之和 1 + 3x + 2x2 恰是 f(1, 3, 2) ✓。
双射:反方向 g(a + bx + cx2) = (a, b, c) 逐位读系数,g∘f = id、f∘g = id。故 f 是同构, ℝ3 ≅ 𝔽[x]≤2(与定理 4.8 的维数判据 3 = 3 一致)。
同理 M2(𝔽):维数 2×2 = 4,与 ℝ4 同构——桥可以搭成 (a, b, c, d) ↦ abcd(行拼接)。矩体的「形状」各不相同,维数相同则结构无别。四维衣橱里的四件衣裳:ℝ4、M2、𝔽[x]≤3、ℝ2×ℝ2,同构把它们缝成一件。
现代接口 搭桥的原则叫「基映基」:把定义域的一组基逐个送到值域基的对应位置,再线性扩展——这个映射自动线性,且维数相同时自动双射。同构不是找出来的,是按基「订做」的。第五章的线性映射矩阵表示,正是把这套「订做」流程反过来用:用基的像来记录映射。
例 11 设 W = span((1, 0, −1), (2, 1, 0)) ⊂ ℝ3。求一个行向量 n,使 W = {(v) : n·v = 0}(即把张成式描述翻译成方程式描述),并求 dim W。
解 思路反向而行:平时消元是从方程找解;现在从解找方程。n = (a, b, c) 须同时正交于两个生成向量:
n·(1, 0, −1) = a − c = 0; n·(2, 1, 0) = 2a + b = 0
解得 c = a, b = −2a,一维解空间,取 a = 1:n = (1, −2, 1)。验算:与 (1, 0, −1) 点积 1 − 0 − 1 = 0 ✓;与 (2, 1, 0) 点积 2 − 2 + 0 = 0 ✓。于是
W = {(x, y, z) : x − 2y + z = 0},
一张过原点的平面,dim W = 2(张成组两向量无关,秩 2)。
这道小题是一次完整的「语言对译」:张成语言(生成组)⟷ 方程语言(约束组),中间的翻译官叫「正交」(下册欧氏空间将正式定义内积;眼下点积只是直觉向导)。张成描述擅长「构造」,方程描述擅长「判定」——例 1 的判定题若先把集合翻成方程语言,往往一眼定性。
〔明线〕每个子空间都有两副面孔:一组「生成元」(它由谁张成)与一组「方程」(它满足什么约束)。第五章将证明两副面孔的维数永远互补(r + (n − r) = n)。今天这道题,是那次对账的预告片。
例 12 证明:(1)若 dim U + dim W > dim V,则 U∩W ≠ {0};(2)n+1 个 n 维向量必线性相关。
证(1)由维数公式与 U+W ⊆ V:
dim(U∩W) = dim U + dim W − dim(U+W) ≥ dim U + dim W − dim V > 0,
故 U∩W 至少含一个非零向量,不为 {0}。∎
数值体感:ℝ3 里两张二维平面,2 + 2 = 4 > 3,交必非零(例 6 的直线);ℝ4 里两张二维平面,2 + 2 = 4 不大于 4,交可以是零——例如 span((1,0,0,0), (0,1,0,0)) 与 span((0,0,1,0), (0,0,0,1)) 交于 {0}。不等式严格与否,命运分岔。
证(2)设 α1, …, αn+1 ∈ 𝔽n,记 W = span(α1, …, αn+1) ⊆ 𝔽n,则 dim W ≤ dim 𝔽n = n。若这组向量无关,则它是 W 的 n+1 个无关向量,与 dim W ≤ n 矛盾(无关向量个数不超过维数)。故必相关。∎
「四向量在 ℝ3 里必相关」的图示版:
〔明线〕把(2)用回方程组:m < n 个方程的齐次方程组(系数阵 m×n),列向量 n 个而每列 m 维——列向量组 n > m 必相关,故 Ax = 0 有非零解,「方程少未知数多必有自由解」从此是定理而不是经验。几何预算论,替张苍法说出了它一直默认的事。
1. 判断:ℝ2 的子集 W = {(x, y) : x ≥ 0, y ≥ 0}(非负象限)是不是子空间?
答:不是。数乘破:(1, 1) ∈ W 而 −1·(1, 1) = (−1, −1) ∉ W(负方向一票否决)。
2. 证明:对任意实数 k,W = {(x, y) : y = kx} 是 ℝ2 的子空间;k 不同,直线不同——过原点的每条直线都是一个一维子空间。
答:两步判定全部通过(线性条件的齐次性);k 是斜率,这条直线由向量 (1, k) 张成。
3. 判断:W = {(x, y) : x2 + y2 ≤ 1}(单位圆盘)是不是子空间?
答:不是。两步皆破:加法 (1,0)+(0,1) 长度 √2 > 1 跑出圆盘;数乘 2(1,0) 亦然。「有界」与「子空间」天然互斥——子空间对一切数乘封闭,一放大就无限。
4. 证明:W = {A ∈ M2(𝔽) : tr A = 0}(迹为零的 2×2 矩阵全体)是 M2(𝔽) 的子空间,并求其维数。
答:迹对加法与数乘都线性(tr(A+B) = tr A + tr B, tr(kA) = k·tr A),封闭成立;形如 abc−a 的矩阵由 3 个自由参数 a, b, c 决定,维数 3。一般规律:迹零空间维数 = n2 − 1(一个独立线性条件砍掉一维)。
5. 证明:两个子空间的交还是子空间;并举反例说明并不是。
答:交的封闭性逐条继承;并的反例即 4.4 节判例的「x = y 支与 x = −y 支」:(1,1,0) 与 (1,−1,0) 分属两支,和 (2,0,0) 不属任何一支。
1. 求 span((1, 0), (0, 1), (1, 1)) ⊂ ℝ2 的维数。
答:(1,1) = (1,0) + (0,1),第三个是前两个之和,rank = 2,维数 2,即整个 ℝ2。
2. 求 span((1, 2, 3), (2, 4, 6)) 的维数。
答:第二个是第一个的 2 倍,rank = 1,一条过原点的直线。
3. 判断 span((1, 1, 0), (0, 1, 1), (1, 0, −1)) 的维数。
答:第三个向量恰为 (1,1,0) − (0,1,1) = (1, 0, −1),相关,rank = 2,维数 2——一张平面(不是 ℝ3)。
4. span((2, 1), (3, 2)) ⊂ ℝ2 等于什么?
答:det 2132 = 4 − 3 = 1 ≠ 0,两向量无关,张满 ℝ2。顺带:det = 1 说明这组基「体积」恰为一个单位——面积守恒的基。
5. 设 U = span((1, 1), (1, −1))。问 (3, 5) 可否由这两个向量表示?写出表示。
答:可(det = −2 ≠ 0 ⟹ 张满 ℝ2):解 a + b = 3, a − b = 5 得 a = 4, b = −1,即 (3, 5) = 4(1,1) − (1,−1)。验算 (4−1, 4+1) = (3, 5) ✓。
1. 判断 (1, 1), (2, 2) 的相关性,并写出相关系数。
答:2(1,1) − 1(2,2) = 0,系数 (2, −1) 不全为零,相关(共线)。
2. 用行列式法判断 (1, 2), (3, 4)。
答:det = 4 − 6 = −2 ≠ 0,无关。
3. 为什么 ℝ2 中任意三个向量必相关?用两种语言回答。
答:维数语言——无关向量个数 ≤ dim = 2(例 12);几何语言——三个向量若前两个不共线则张满平面,第三个必落在其中。消元语言——2×3 阵秩 ≤ 2 < 3。
4. 判断 (1, 1, 1), (1, 2, 3), (1, 4, 9) 的相关性。
答:这是范德蒙德阵(第三章定理 3.13),det = (2−1)(3−1)(3−2) = 2 ≠ 0,无关。点值视角:它们是三个函数 1、x、x2 在 x = 1, 2, 3 处的取值——「取值向量无关 ⟺ 函数无关」的特例。
5. 若 α1, α2, α3 无关,证明 α1, α1+α2, α1+α2+α3 也无关。
答:设 k1α1 + k2(α1+α2) + k3(α1+α2+α3) = 0,按 α 整理:(k1+k2+k3)α1 + (k2+k3)α2 + k3α3 = 0,由原组无关得 k3 = 0, k2 = 0, k1 = 0(三角回代)。「上三角化」的系数矩阵行列式 = 1 ≠ 0——无关性在可逆的「换组」下保持,这是 4.13 换基思想的预演。
1. 验证 (1, 1), (1, −1) 是 ℝ2 的一组基。
答:无关(det = −2 ≠ 0)+ 个数已达维数 2 ⟹ 自动张成。「n 维空间里 n 个无关向量就是基」——张成性免费。
2. 求子空间 W = {(a, b, c, d) : a = b} ⊂ ℝ4 的维数与一组基。
答:一个独立线性条件,维数 4 − 1 = 3;基 (1, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)。
3. 求齐次方程 x1 + x2 = 0(ℝ3 中)解空间的基与维数。
答:秩 1、自由元 x2, x3,基 (−1, 1, 0), (0, 0, 1),维数 2。几何:一张过原点、含 z 轴的平面。
4. 求 𝔽[x]≤3 的维数,并判断 1, x, x2 − x, x3 + x 是不是基。
答:维数 4。设 a·1 + b·x + c(x2−x) + d(x3+x) = 0,按幂整理:常数 a;x 项 b − c + d;x2 项 c;x3 项 d。得 d = 0, c = 0, b = 0, a = 0,无关,是基。系数矩阵是三角阵,行列式 1。
5. (替换入门)把 (1, 1, 0) 扩充成 ℝ3 的一组基。
答:任取两个与它拼成无关组的向量,如 (0, 1, 0), (0, 0, 1):det 110010001 的转置行列式 = 1 ≠ 0 ✓。更省事的核对:三向量排阵消元三阶满秩即成。
1. 求 (3, 4) 在基 (1, 1), (1, −1) 下的坐标。
答:解 a + b = 3, a − b = 4:a = 7/2, b = −1/2。验算:首坐标 a + b = 7/2 − 1/2 = 3 ✓,次坐标 a − b = 7/2 + 1/2 = 4 ✓。坐标出现分数很正常。
2. 写标准基到 (1, 1), (1, −1) 的过渡矩阵并求逆。
答:P = 111−1,P−1 = ½111−1(二阶伴随公式,第三章定理 3.20 的直用)。
3. 求 (5, 3, 2) 在基 (1, 1, 0), (0, 1, 1), (1, 0, 1) 下的坐标。
答:设 c1 + c3 = 5;c1 + c2 = 3;c2 + c3 = 2。总和一半:c1 + c2 + c3 = 5,于是 c1 = 3, c2 = 0, c3 = 2。验算 3(1,1,0) + 0 + 2(1,0,1) = (5, 3, 2) ✓。
4. 同一向量的坐标为什么要随基变化?「变与不变」各指什么?
答:变的是坐标(地址随街道改名而改写),不变的是向量(地点本身)。定理 4.7 的 [y] = P−1[x] 是两套地址的官方换算表。
5. 过渡矩阵 P 的行列式有何几何含义?它可能为零吗?
答:新基张成的平行六面体有向体积;永不为零(基无关)——为零即「体积塌缩」,那组「基」其实张不满空间,没资格当坐标系。
1. 用维数公式解释:ℝ3 中任意两张过原点的不同平面必交于一条直线。
答:dim(U∩W) = 2 + 2 − dim(U+W) ≥ 2 + 2 − 3 = 1;交至少一维,至多…两张不同平面交不成二维(否则相同),恰 1 维。
2. 设 U = span((1, 0, 1), (0, 1, 1))(平面),W = span((1, 1, 0))(直线)。求 U∩W 与 dim(U+W)。
答:设 a(1,0,1) + b(0,1,1) = c(1,1,0):a = c;b = c;a + b = 0 ⟹ c = 0,交为 {0};dim(U+W) = 2 + 1 − 0 = 3,即 U+W = ℝ3——直线不在平面里时,平面加直线铺满空间。
3. 设 U = span((1, 1, 0, 0), (0, 0, 1, 1)),W = span((1, 0, 1, 0), (0, 1, 0, 1))。求 U∩W 与 dim(U+W)。
答:立方程 a(1,1,0,0) + b(0,0,1,1) = c(1,0,1,0) + d(0,1,0,1),分量对账迫使 a = b = c = d,交 = span((1, 1, 1, 1))(两边各验:(1,1,0,0)+(0,0,1,1) ✓、(1,0,1,0)+(0,1,0,1) ✓),dim(U+W) = 2 + 2 − 1 = 3。
4. U = W 时维数公式给出什么?这提醒我们使用公式时注意什么?
答:dim(U+W) = dim U,公式自洽。提醒:公式对任意两个子空间成立,重叠越多、交越大、和越小——「和的维数」不是简单相加,交是扣款项。
5. 证明:dim U + dim W > n(n = dim V)时 V ≠ U ⊕ W。
答:直和要求交为零,但此时 dim(U∩W) ≥ dim U + dim W − n > 0,交非零,矛盾。「两个大子空间必然打架」。
1. 求 L1 = span((1, 0, 0)) 与 L2 = span((0, 1, 0)) 的交与和。
答:交 {0}(两条不同的坐标轴只共享原点);和 = span((1,0,0), (0,1,0)),水平坐标面。两条直线之和 = 一张平面。
2. 求 U = span((1, 2, 1, 0), (−1, 1, 1, 1)) 与 W = span((2, −1, 0, 1), (1, −1, 1, 3)) 的交(例 8 的完整流程复习)。
答:立 aα1 + bα2 − cβ1 − dβ2 = 0,消元解出一维解空间,取 (a,b,c,d) = (−1, 3, −3, 2),交向量 (−4, 1, 2, 3),两侧表示对账:−α1 + 3α2 = −3β1 + 2β2 = (−4, 1, 2, 3) ✓。dim 交 = 1,dim 和 = 3。
3. 求 U = span((1, 1, 0, 0), (0, 0, 1, 1)) 与 W = span((1, 0, 1, 0), (0, 1, 0, 1)) 之交的两侧表示。
答:(1, 1, 1, 1) = (1,1,0,0) + (0,0,1,1) = (1,0,1,0) + (0,1,0,1),两侧各验无误。这张「双面收据」就是交向量身份的铁证。
4. 举一例说明 U∪W 不是子空间,并求包含 U∪W 的最小子空间。
答:习一第 5 题的两支平面;最小包住者即 U+W(和 = 并的「子空间闭包」)。
5. 三个子空间的「和」U+V+W 怎么定义?它满足结合律吗?
答:{u+v+w},全部三段组合;结合律成立(组合的搭配方式不改变可达集合),所以记号不加括号。
1. 验证 ℝ2 = span((1, 0)) ⊕ span((0, 1)),也 = span((1, 1)) ⊕ span((1, −1))。
答:两组各自交零、维数和 2。补子空间不唯一:同一间房可以有许多种「十字分割」,斜着切也一样合法。
2. U = span((1, 0, 0), (0, 1, 0)),W = span((1, 1, 0))。ℝ3 = U + W 吗?是直和吗?
答:和 = span((1,0,0), (0,1,0), (1,1,0)) 秩为 2,只到水平面,U+W ≠ ℝ3;且 U∩W = span((1,1,0)) ≠ {0}((1,1,0) = (1,0,0)+(0,1,0)),双料不合格。交非零 ⟹ 分解必不唯一。
3. 把 A = 1234 分解为对称矩阵与反对称矩阵之和,并说明为何唯一。
答:对称部 15/25/24(对角照抄、非对角取平均),反对称部 0−1/21/20;两者相加还原 ✓。唯一性来自 M2 = Sym ⊕ Skew(维数 3 + 1 = 4,交零:既对称又反对称者必为零阵)。
4. 设 ℝ3 = U ⊕ W,U = span(e1, e2),W = span((1, 1, 1))。把 (4, 7, 9) 分解(例 7 的复述训练)。
答:(−5, −2, 0) + 9(1, 1, 1);第三坐标归 W,前两坐标扫给 U,一步定位。
5. 证明:若 V = U ⊕ W,则 dim V = dim U + dim W;反之不真时举一例。
答:正向即维数公式(交零)。反例:习 2 的 U、W 维数和 3 = dim ℝ3 但交非零——「维数对上账」不等于「结构真直和」,账面与结构要分开核。
1. 写出 ℝ4 → M2(𝔽) 的一个显式同构,并验证它把 (1, 2, 3, 4) 送到哪里。
答:(a, b, c, d) ↦ abcd;(1,2,3,4) ↦ 1234。线性(按位)与双射(按位回读)都显然。
2. 证明:全体 2×2 实对称矩阵构成的空间与 ℝ3 同构。
答:对称阵 abbc 由 (a, b, c) 唯一决定,映射双射线性,维数 3 = 3。
3. 「ℝ2 ≅ ℂ(作为实线性空间)」——写出同构并指出乘法为什么不在线性结构的职责范围内。
答:(a, b) ↦ a + bi,基 {1, i}。线性结构只管加法与数乘;复数的乘法是额外的「代」(它使 ℂ 成为比线性空间更贵的结构——一个域)。同构只对账被点名的运算。
4. 全体实函数构成的空间是有限维的吗?它与 ℝn 可能同构吗?
答:无限维(对每个 n,1, x, …, xn 都无关,无关组长度无上界);不同构于任何 ℝn——维数不等,定理 4.8 拦住。
5. 设 f : V → W 是线性映射。证明:f 把无关组送到无关组 ⟺ f 是单射。
答:(⟸)无关性证明搬过桥时,零系数条件由单射转译。(⟹)取单元素的逆例:若 f(v) = 0, v ≠ 0,则单点组 {v} 无关而像组 {0} 相关。单射 = 不压缩任何方向,第五章将把它精确化为「核为零」。
1. 求方程组 x1 + x2 + x3 = 0;x1 − x2 = 0 的解空间,并用本章语言完整描述它。
答:由第二式 x1 = x2,代入第一式 2x2 + x3 = 0,解空间 = span((1, 1, −2))(验算 1 + 1 − 2 = 0 ✓,1 − 1 = 0 ✓):一条过原点的直线,一维子空间,基即那一个向量。「方程组—秩—自由元—基—维数—几何形状」六个词一口气读完,就是本章的完整语法。
2. 设 A 为 m×n 矩阵且 r(A) = n。问 Ax = 0 的解空间是什么?给出定理依据。
答:dim N(A) = n − n = 0,解空间 = {0},只有零解。列满秩 ⟹ 齐次唯一零解——第一章的观察升格为维数定理的推论。
3. 求矩阵 121242111 的行秩,并写出行空间的维数。
答:r2 = 2r1 相关;r1 与 r3 无关(不成比例),秩 2。行空间是 ℝ3 里的一张平面,维数 2。行秩 = 列秩 = r(A),第二章的定理在这里就是「同一子空间的两种记法」。
4. 证明:子空间的非空子集 S 满足 span(S) = W ⟺ S 张成 W 且 S ⊆ W。这句话是不是同义反复?
答:不是——它说的是 span 的最小性(定理 4.2):W 若是子空间且装下 S,就必须装下一切组合,于是 span(S) ⊆ W;反向由张成定义。最小性正是「span 是最经济的造法」的精确表达。
5. 设 dim U = 3, dim W = 4,均为 ℝ6 的子空间。问 dim(U∩W) 至少是多少?
答:≥ 3 + 4 − 6 = 1。六维空间装不下两个这么大的子空间「擦肩而过」——它们必须共享至少一个方向。
1. 求 v = (1, 2, 3) 在基 (1, 1, 0), (0, 1, 1), (1, 0, 1) 下的坐标(用过渡矩阵)。
答:P−1 = ½11−1−1111−11,[v] = P−1(1,2,3)t = (0, 2, 1)t。验算 0·(1,1,0) + 2(0,1,1) + (1,0,1) = (1, 2, 3) ✓。
2. 证明:线性映射保持零向量(f(0) = 0),因此子空间的像张成的空间仍是「好」的集合。
答:f(0) = f(0·v) = 0·f(v) = 0。零向量是结构的锚,线性映射不许挪锚。
3. 把无关组 (1, 0, 0) 用 (1, 1, 1) 扩充成 ℝ3 的基,并验证。
答:取 (1, 0, 0), (1, 1, 1), (0, 1, 0):det 100111010 = −1 ≠ 0 ✓,是基。
4. 设 V 是 n 维空间,U 是 k 维子空间。证明 U 有补子空间 W(V = U ⊕ W)。
答:骨架:取 U 的基 α1,…,αk,逐步添入 V 中与已有组保持无关的向量,直到凑满 n 个(添的过程必可完成,否则张不满 V);添进来的 n − k 个向量张成的 W 与 U 交零、维数和 n。补子空间的存在靠「扩基」——这枚存在性定理是直和理论的发动机。
5. (回望明线)用一句话概括:本章为「解方程组」贡献了什么新语言?
答:把「解集」升格为「子空间」:齐次解集有基有维数(n − r),非齐次解集是它的一个平移(第五章的陪集)。张苍法解出数,结构论命名形。
把本章最容易踩的八类错误归档在案(编号接续前三章的 E 系)。每一条都来自真实的解题现场,对号入座自查:
| 编号 | 错误类型 | 典型症状 | 纠偏动作 |
|---|---|---|---|
| E1 | 忘验零向量 | 对 x+y+z=1 这类集合直接验封闭,绕过了「零不在场」的一票否决 | 判定第一步永远是零向量 |
| E2 | 并当作和 | 宣称 U∪W 是子空间 | 记牢:并一般破,和才是闭包 |
| E3 | 方向搞反 | 坐标变换写成 [y] = P[x](新基坐标错乘 P) | 口诀「新用逆」:[y] = P−1[x] |
| E4 | 维数公式漏减交 | dim(U+W) 直接相加得 4 > 3 还写进答案 | 先问交几维,再对账 ≤ dim V |
| E5 | 基础解系不验算 | 回代丢符号,把 (−1,0,1,0) 写成 (1,0,1,0) | 每个基向量逐式代回 |
| E6 | 交的表示只查一侧 | 交向量用 U 表示后不再用 W 验 | 两侧各表示一遍对账(例 8 铁律) |
| E7 | 「n 个无关即基」越界使用 | 在子空间里拿 n 个无关向量当全空间基 | 先问「在哪个空间里数到 n」 |
| E8 | 同构只看维数不看域 | 宣称 ℂ(作为复空间,1 维)≅ ℝ2(实空间,2 维) | 同构先对齐数域 𝔽 |
三道自测(建议合卷完成,答案全在本章例题与习题课中):
① W = {(a, b, c) : a + 2b = 3c} 是不是 ℝ3 的子空间?维数几何?(提示:齐次线性条件。)
② 求 span((1, 2, 1), (2, 1, 3), (1, 1, 2), (0, 1, 1)) 的维数与一组基。(提示:排阵消元。)
③ P 为标准基到某新基的过渡矩阵,det P = 2。新基坐标为 (1, 1, 1) 的向量,在标准基下坐标是多少?(提示:x = P·y。)
章复盘三问:① 我能用两步判定法在三十秒内「毙掉」一个假子空间吗?② 我能不看书写出坐标变换公式并说明方向吗?③ 我能向别人解释「为什么维数公式长成那个样子」(容斥直观)吗?三问全部通过,方可翻页。
线性空间是数学史上第一个被公理化定义的「空间」——比拓扑空间早、比测度空间早。它的诞生有三块里程碑。
第一块是 1844 年:格拉斯曼(Hermann Grassmann)出版《扩张论》(Ausdehnungslehre),研究「n 维延量的分析」——今天的张成、无关、基、维数,在这本书里已具雏形。可惜写作过于抽象超前,同时代几乎无人读懂;格拉斯曼在数学界终生郁郁,倒是语言学界记住了他的梵语贡献。数学史屡屡如此:超前的结构感,要等几十年才等到。
第二块是 1888 年:皮亚诺(Giuseppe Peano)在《几何演算》中第一次写下线性空间的公理——与本章定义 4.1 骨架几乎相同(含公理 8 那条 1·α = α)。他甚至举出了今天的「反例判别法」:循环论证与平凡解。但皮亚诺本人更关心逻辑基础,公理化在他手里是工具而非纲领。
第三块是 20 世纪初:希尔伯特与里斯把「无限维」逼上前台(积分方程的解空间没有有限基),巴拿赫(Stefan Banach)等人在 1920–1932 年间把线性空间配上范数,建立泛函分析——公理化从此从「整理旧知」变成「开疆拓土」:先立公理,再证明定理,最后才问「世界上有哪些实例」。次序的倒转,是现代数学最深的自信。
「我们不再问数是什么,我们只问数怎么运算。」——这句话的线性代数版,就是本章:不再问向量是什么(数组?矩阵?多项式?函数?),只问加法与数乘是否守约。定义 4.1 的八条公理,是「从方程到结构」这场大迁徙的第一座界碑。而它在中国思想里的远亲,是《大学》的「格物」:物之「理」不在物的质料,而在物与物相接的条理——线性空间捕捉的恰是「相加与数乘」这一种条理。
本章有一个定理看似平凡、实则惊人:不同基所含向量个数相同(定理 4.4)。「基」的定义千姿百态——ℝ2 可以取横竖两轴,也可以取任意两条不共线向量——但个数纹丝不动。这个「个数」值得起一个专名:维数。名字配得上不变量的资格,全靠定理 4.4 撑腰。
支撑定理 4.4 的技术核心是施泰尼茨交换引理(Steinitz exchange lemma,1913 年正式定型):若 β 可由 α1,…,αn 表示且 β ≠ 0 相关地「掺入」,则可以把某个 αi 换成 β 而不破坏张成。交换引理像一台精密的天平:每掺入一个新向量,旧组至少「让位」一个——无关组的个数由此被死死卡在张成组的个数之下。今天教材里「维数良定」的证明骨架,就是这台天平。
更深的震撼来自拓扑学:1911 年布劳威尔(L. E. J. Brouwer)证明了拓扑维数的不变性——ℝm 与 ℝn 在 m ≠ n 时连「同胚」都不可能。代数里维数不变是轻易的(线性结构太强),拓扑里是艰难的(结构太弱)——同一个问题在不同结构强度下的难度落差,本身就是数学结构的「价格表」。
维数还是「分类完成」的范例:定理 4.8 宣告 n 维线性空间的同构类恰与 n 一一对应——一张表格收编全部有限维线性空间。这样干净的分类在数学里屈指可数;第六章将看到多项式环的理想分类远远没有这般整齐,那里才是抽象代数的深水区。
把维数放回明线收束:消元法数出「主元 r 个、自由 n − r 个」,两者此消彼长、总和恒定——维数就是张苍法账本上那笔恒定的总账。两千年前算筹上的「实皆如积」,今天读作:维数不变量在约束与自由之间的分配。
八格知识图谱(从左到右:对象 → 结构 → 工具 → 现代接口):
六步方法表(解「结构型」问题的标准动作):
| 步骤 | 动作 | 落在哪 |
|---|---|---|
| 1 | 认空间与数域:向量是什么、𝔽 是谁 | 4.2–4.3 |
| 2 | 验子空间:零向量 → 两步封闭 | 4.4 |
| 3 | 求基与维数:排阵消元数阶梯 | 4.7–4.8 |
| 4 | 交与和:立齐次方程解交,组合造和 | 4.10–4.12 |
| 5 | 换基与坐标:P 的列 = 新基旧坐标;[y] = P−1[x] | 4.9–4.13 |
| 6 | 升维解读:同构分类、直和拆解、商空间压扁 | 4.14–4.18 |
五指并拢一句话:本章把「解方程组」的产物(解集、秩、自由元)全部翻译成空间的语言(子空间、秩、维数),而每一次翻译的引擎仍是同一次消元。
恩格斯在《反杜林论》里给纯数学下过一句经典界说:「纯数学的对象是现实世界的空间形式和数量关系。」「数量关系」四字里,正孕育着「结构」思想的萌芽——关系先于关系者。本章就是这一思想的教科书现场。
回看本章做过的三次「同一性判决」:ℝ3 与多项式空间,元素毫不相似,但同构(例 10);两条直线与一个二元组,成员毫不相似,但同为二维子空间的基(习题课四);两个补子空间,方向毫不相似,但与 U 都拼成直和(习题课八)。判决的依据从来不是「元素长什么样」,而是关系网长什么样——加法怎么连、数乘怎么缩、谁是谁的组合。
这就是「结构」的严格含义:对象退居背景,关系走到台前。亚里士多德说「整体大于部分之和」;结构主义数学补一句:整体是什么,取决于部分之间如何相加。线性空间是人类给这个观念立的第一座界碑——八条公理,条条都是「关系条款」,无一涉及元素的本性。
下一章思想的伏笔也在这里:线性映射之所以重要,正因为它只携带结构、不携带元素——它是两个关系网之间的「关系保真翻译」。学完第五章会承认:研究映射,就是研究关系的关系。
C1. 列举 ℝ2 的全部子空间,并画出「子空间格」包含图。
答:{0}、全部过原点直线(每条直线由斜率 k ∈ ℝ ∪ {∞} 标定,共无穷多条)、ℝ2 本身——三层。{0} 在底,ℝ2 在顶,无穷多 1 维居中,包含关系自下而上。
C2. ℝ3 的子空间分几类?每一类的「代表」与维数?
答:四层:{0}(0 维)、过原点直线(1 维)、过原点平面(2 维)、ℝ3(3 维)。直线的方向与平面的法向可以互相翻译(例 11 的对偶预演)。
C3. 证明:ℝ3 中不存在两张过原点的不同平面交于 {0}。
答:dim(U∩W) ≥ 2 + 2 − 3 = 1。两平面若交为 {0},维数公式迫使 dim(U+W) = 4 > 3,越界。
C4. 设 W1 = {p ∈ 𝔽[x]≤n : p(1) = 0},W2 = {p : p(2) = 0}。求 dim(W1∩W2) 与 W1∩W2 的一组基(n = 2 时)。
答:W1∩W2 = {p : p(1) = p(2) = 0},两个独立条件 ⟹ 维数 (n+1) − 2。n = 2 时维数 1,基 (x−1)(x−2) = x2 − 3x + 2(验:p(1) = p(2) = 0 ✓)。根的存在 ⟹ 因式分解,第六章的多项式理论将接手。
C5. 设 U = span((1, 1, 0), (0, 0, 1)),W = span((1, −1, 0), (0, 1, 1))。问 ℝ3 = U ⊕ W 成立吗?
答:不成立,尽管 dim(U+W) = 2 + 2 − 1 = 3(和铺满 ℝ3)。交非零:(1, 1, 2) = (1,1,0) + 2(0,0,1) = (1,−1,0) + 2(0,1,1),两侧表示对账 ✓。「维数对上账」与「结构是直和」是两道独立的关——这是 E4/E7 型错误的综合疫苗。
C6. 把无关组 (1, 0, 0) 用给定向量池 {(1, 1, 1), (0, 1, 0), (0, 0, 1)} 扩充成 ℝ3 的基。
答:试 (1,0,0), (1,1,1), (0,1,0):det 100111010 = −1 ≠ 0 ✓。(0,0,1) 也行:det 100111001 = 1 ≠ 0。扩充方案不唯一,验行列式是唯一仲裁。
C7. 证明 M3(𝔽) = Sym3 ⊕ Skew3,并求两个子空间的维数。
答:分解 A = (A + At)/2 + (A − At)/2;对称元 6 个自由位(对角 3 + 上三角 3),反对称元 3 个;6 + 3 = 9 = 32 对账,交零(既对称又反对称 ⟹ 零)。对称/反对称分解对一切 n 都成立,维数 n(n+1)/2 + n(n−1)/2 = n2。
C8. 设 U ⊂ ℝ5,dim U = 3。求 dim(ℝ5/U),并描述商空间中的「点」。
答:维数 5 − 3 = 2。商空间的点是「与 U 平行的三维切片」(陪集):两个向量同一片 ⟺ 差落在 U 里。三维的 U 被「捏成零」,五维世界塌成二维——4.16 节横线模型的五维版。
赛 1. (插值 + 坐标)在基 1, x, x2 与点值向量视角下:已知二次多项式 p 满足 p(1) = 0, p(2) = 1, p(3) = 0,求 p(x) 及其坐标。
答:拉格朗日快速通道:p(x) = −(x−1)(x−3) = −x2 + 4x − 3(首项系数 = p(2)/[(2−1)(2−3)] = −1)。坐标 (−3, 4, −1)。范德蒙德核对:V(1, 2, 3) = (2−1)(3−1)(3−2) = 2 ≠ 0,三条件独立可解——插值唯一性的维数证书(例 9)。
赛 2. (三维容斥)ℝ3 中取三个坐标平面 U、V、W。求 dim(U+V+W)、两两交的维数、三者之交的维数,并验证不等式 dim(U+V+W) ≤ dim U + dim V + dim W − (两两交维数之和) + 三交维数。
答:和 = ℝ3(维数 3);两两交均为一条坐标轴(维数 1,共 3 条);三交 = {0}。右边 = 6 − 3 + 0 = 3 = 左边,等号成立(这组子空间「恰好相容」)。容斥原理在维数上的推广,等号何时成立本身就是好问题。
赛 3. (交换子空间)求与对角阵 D = diag(1, 2, 3) 交换的所有 3×3 矩阵构成的子空间的维数,并说明其结构。
答:设 A = (aij),AD = DA 按分量比较:aij·(djj − dii) = 0。对角元 dii 两两不同 ⟹ i ≠ j 处 aij = 0,A 必为对角阵;反之对角阵必交换。子空间 = 全体对角阵,维数 3。特征值两两不同 ⟹ 交换空间退化到「最小」——这句话是第五章特征值理论的地基(对角化的可解性判据)。
赛 4. (秩不等式的锐性)举例说明 rank(A + B) ≤ rank A + rank B 可以取等号,而 rank(AB) ≤ min(rank A, rank B) 可以取严格小于号。
答:取 A = 1000,B = 0001:rank(A+B) = rank I = 2 = 1 + 1,等号。同两矩阵下 AB = O,rank = 0 < min(1, 1) = 1,严格。乘法可以彻底销毁秩,加法最多把秩加起来——两个不等式的「脾气」不同,第五章解理论将各用其长。
交与和的手算流程(4.12 节)天然可程序化。用 Fraction 精确有理数实现(杜绝浮点误差),核心只有三段:
核心代码骨架(Python,Fraction 版):
from fractions import Fraction as F
def rref(A): … # 精确高斯消元(主元取 Fraction 除法)
def rank(S): return len(rref(S)[1]) # 阶梯行数
def intersect(U, W): # 交:解 α−β·(x,y)t = 0
ns = nullspace([[*u, *(-w)] for …]) # 拼接系数阵
return [Σ xi·U[i] for 一组解 x] # x 部分的组合
def dimsum(U, W): return rank(list(U) + list(W))
实验一:例 8 的子空间。输入 U = {(1,2,1,0), (−1,1,1,1)},W = {(2,−1,0,1), (1,−1,1,3)},程序输出:交维数 1、交向量(约化)(−4, 1, 2, 3)、和维数 3——与手算逐位一致;两侧表示 (−1, 3) 与 (−3, 2) 亦被程序复验。
实验二:维数预算的统计实证。随机生成一千对子空间(ℝ6 里各随机取向量张成):取维数 2 与 3(维数和 5 ≤ 6)时,程序统计「交为 {0}」的频率接近 100%——维数和不超过全空间维数,随机子空间几乎必然擦肩而过;改取维数 3 与 4(和 7 > 6)时,频率翻转:几乎每次交都非零、且交维数恰为 1(维数公式的下界被随机取等)。「大子空间想不相遇都难」的边界,恰好画在维数和 = n 处——维数公式的预测被千次实验钉死。
实验三:直和判定器。对任意输入的 U、W 程序自动报三行:dim(U+W)、dim(U∩W)、是否直和。用它逐题复查习题课六~八的全部答案,全部成立。
章测试(满分 100,建议 90 分钟,合卷作答后自评)
题 1(概念,20 分) 判断并说明理由:① ℝ3 的子集 {(x, y, z) : x + 2y = 3z} 是否为子空间?② 两个子空间的并何时是子空间?
题 2(计算,25 分) 求齐次方程组 x1 + 2x2 − x3 + x4 = 0;2x1 + 4x2 + x3 − x4 = 0 的解空间的维数与一组基。
题 3(计算,25 分) 设基 B = (β1, β2, β3) = ((1,1,0), (0,1,1), (1,0,1))。求标准基到 B 的过渡矩阵 P、其行列式,以及 v = (3, 2, 1) 在 B 下的坐标。
题 4(证明,30 分) 设 U, W 是有限维空间 V 的子空间。证明 dim(U∩W) ≥ dim U + dim W − dim V,并用它说明 ℝ4 中两张 3 维超平面的交至少 2 维。
评讲要点
题 1 ①是——齐次线性条件,两步判定全部通过(几何:过原点平面);②当且仅当 U ⊆ W 或 W ⊆ U(否则取两支各一向量求和即破,E2 型)。
题 2 消元:r2 − 2r1 得 (0, 0, 3, −3),即 x3 = x4;回代 x1 = −2x2 + x3 − x4 = −2x2。通解 x2(−2, 1, 0, 0) + x4(0, 0, 1, 1):维数 2,基 {(−2, 1, 0, 0), (0, 0, 1, 1)}。验算:基 1 代入 −2 + 2 + 0 + 0 = 0 ✓、−4 + 4 + 0 − 0 = 0 ✓;基 2 代入 0 + 0 − 1 + 1 = 0 ✓、0 + 0 + 1 − 1 = 0 ✓(E5 铁律:不验算不给分)。
题 3 P 按列排基 = 101110011,det P = 2(体积证书,永不为零——若算出 0,必是排列方向搞错)。坐标:[v] = P−1(3,2,1)t = (2, 0, 1)t。验算 2(1,1,0) + 0(0,1,1) + (1,0,1) = (3, 2, 1) ✓(E3 铁律:新用逆)。
题 4 由 U + W ⊆ V:dim(U+W) ≤ dim V;代入维数公式 dim(U∩W) = dim U + dim W − dim(U+W) ≥ dim U + dim W − dim V。ℝ4 中两张 3 维超平面:3 + 3 − 4 = 2,交至少 2 维——两张「大体量」子空间必然深度重叠(习六第 5 题的推广)。∎
下一章预告 第五章《线性映射与方程组解集的结构》将把本章的两个主角合体:给空间装上箭头(线性映射),让矩阵从「数表」升格为「映射的坐标像」,把 Ax = b 读成「求 f(x) = b 的原像」——秩零化度定理、像与核、解集 = 特解 + 核的陪集,明线将在那里完成最后的收束。本章的消元法一直在做的事,是找一张子空间的坐标表;下一章将看清,那张表真正记录的,是一支箭头的方向。
第四章末尾,子空间已经就位:解集不再是一堆数,而是(或近乎是)一个空间。但还有一件东西没有登上台面——方程组 Ax = b 里那个真正的动作。矩阵 A 乘在向量 x 上,把 x 送到 b:A 不是一张数表,它是一台机器,吃进一个向量,吐出一个向量。解方程组,就是问:哪些 x 会被这台机器送到 b?
这一步换视角不是文字游戏。在「数表」视角下,第二章的全部算法(消元、求逆、求秩)是对数组的操作;在「机器」视角下,同样的算法变成对变换的操作,而问题也从「求出一个解」升级为「描述全部解的形状」。图 5-1 把两种问法并排放着:
〔明线〕张苍法的第五份收成 前三章里,消元法已交出三份收成:解方程(第一章)、判可逆与求逆(第二章)、算行列式(第三章)、看清解集是子空间(第四章)。本章是第五份,也是最像「成品」的一份:把全部解作为一个完整的对象交出来——它的形状(陪集)、它的维数(秩定理)、它与解空间的相对位置(同态定理)。算法不变,眼界全变。
先立规矩。本章主角叫线性映射,记作 φ: V → W;第四章的子空间 V ⊆ ℝn、W ⊆ ℝm 将充当它的出发地与目的地。机器好不好用,全看它守不守下面这条纪律。
定义 5.1(线性映射) 设 V, W 是数域 𝔽 上的线性空间。映射 φ: V → W 称为线性映射,若它保持两种基本运算:
① 加法:φ(u + v) = φ(u) + φ(v)(先加再送 = 先送再加);
② 数乘:φ(k·v) = k·φ(v)(先倍再送 = 先送再倍)。
两条合起来等价于一句:φ(k1u + k2v) = k1φ(u) + k2φ(v)——「任意线性组合的像 = 像的线性组合」。这条性质看似温和,威力极大:只要知道 φ 在一组基上的取值,φ 在整个空间上的取值就全定了(每个向量都是基的线性组合)。线性映射是「吝啬而守信」的机器:信息只需存一角,行为却处处可期。
两条纪律也自带一条否决权:令 k = 0 得 φ(0) = 0。线性映射必把零向量送到零向量——这是判「非线性」最快的一刀。
先看一批正例与反例:
| 映射 | 判定 | 理由 |
|---|---|---|
| T(x, y) = (x + y, x − y) | 线性 ✓ | 逐项验证:T((1,2)+(3,4)) = T(4,6) = (10,−2) = T(1,2) + T(3,4) = (3,−1) + (7,−1) |
| T(x, y) = (x + 1, y) | 非线性 ✗ | T(0, 0) = (1, 0) ≠ (0, 0)——零向量这一关就过不去(平移不是线性映射) |
| T(x, y) = (x2, y) | 非线性 ✗ | T(1,0) + T(2,0) = (1,0) + (4,0) = (5,0),而 T(3,0) = (9,0);5 ≠ 9,加法被破坏 |
| T(x, y) = (2x + y, 0) | 线性 ✓ | 两个分量都是 x, y 的一次齐次式,如 T(1,2) = (4,0) |
| D: 多项式 ↦ 其导数 | 线性 ✓ | (p + q)′ = p′ + q′,(k·p)′ = k·p′——求导是线性运算,微积分与代数在此握手 |
| 平面绕原点旋转 90° | 线性 ✓ | (1,0) ↦ (0,1),(0,1) ↦ (−1,0),(3,1) ↦ (−1,3);旋转保持平行四边形,故保持线性组合 |
注意「平移 T(x, y) = (x + 1, y)」被开除出线性籍这件事——它太几何、太自然了,凭什么不行?凭 φ(0) = 0。这不是缺陷,而是伏笔:平移与线性映射的组合将构成「仿射映射」,那是下册仿射几何的入口(见 5.16)。
机器再抽象,也得有说明书。线性映射如何被记录?关键在 5.2 末尾那句话:知道了基上的取值,就知道了全部。设 φ: ℝn → ℝm(标准基下),把 φ 作用在 n 个基向量 e1, …, en 上:
φ(e1) = 第 1 列, φ(e2) = 第 2 列, … φ(en) = 第 n 列
把这 n 个像竖着排成一张 m × n 数表,就得到 φ 的矩阵表示。为什么合法?任意 x = (x1, …, xn) 可写成 x1e1 + ⋯ + xnen,于是
φ(x) = φ(x1e1 + ⋯ + xnen) = x1φ(e1) + ⋯ + xnφ(en) = Ax
矩阵乘向量的规则,就是「按组合系数调配各列」的规则。矩阵与线性映射,从此是同一枚硬币的两面。
例 设 φ: ℝ3 → ℝ2,φ(x, y, z) = (x + 2y, y − z)。逐个算基向量的像:
φ(1,0,0) = (1,0), φ(0,1,0) = (2,1), φ(0,0,1) = (0,−1)
竖着排好:
A =
| 1 | 2 | 0 |
| 0 | 1 | −1 |
φ(1, 2, 3) = (1 + 4, 2 − 3) = (5, −1) = A(1, 2, 3) ✓
〔现代性〕同一对象的三种语言 「机器 φ」「数表 A」「m 行方程组 Ax = b」是同一件事的三种说法。范畴论会把这种「对象不同、实质相同」的对应称为同构的范畴等价(见 5.18 预告);眼下只需记住:换语言不是换内容,而是换出「哪一种计算最顺手」。
拿到一台机器,最要紧的两个问题是:它压扁了什么?它够得着什么?这两个问题的答案各有一个空间——齐次方程组的解空间(第四章)在这里正式改名为「核」。
定义 5.2(核与像) 设 φ: V → W 线性。
① 核:ker φ = {v ∈ V : φ(v) = 0}——被送到零向量的全体(「压扁名单」);
② 像:im φ = {φ(v) : v ∈ V}——所有落点的全体(「可达范围」)。
定理 5.1 ker φ 是 V 的子空间,im φ 是 W 的子空间。
证 两条都要「封闭性 + 零元 + 逆元」,以核为例:若 φ(u) = φ(v) = 0,则 φ(u + v) = 0 + 0 = 0,φ(ku) = k·0 = 0——加法、数乘都不逃出核。像这边:若 w1 = φ(u), w2 = φ(v),则 w1 + w2 = φ(u + v) 仍是像,k·w1 = φ(ku) 亦是。∎
例(本章主例 A) 取 φ: ℝ3 → ℝ3 为 φ(x) = Ax,其中
| 1 | 1 | 0 |
| 0 | 1 | 1 |
| 1 | 2 | 1 |
先看列的关系:第 3 列 (0,1,1) 恰为第 2 列减第 1 列 (1,1,2) − (1,0,1),故列秩为 2,im φ = span{(1,0,1), (1,1,2)} 是过原点的一张平面——机器的可达范围只有一张面,ℝ3 里的第三维它够不着。再看核:解 Ax = 0,消元(张苍法照旧)得 x1 = −x3, x2 = x3,即
ker φ = span{(1, −1, 1)}:代入验证 (1) + (−1) + 0 = 0 ✓,0 + (−1) + 1 = 0 ✓,1 + (−2) + 1 = 0 ✓
核是一条过原点的直线——机器沿着这条直线整体压扁成零。
〔明线〕齐次解空间改名换姓 第四章说「Ax = 0 的解集是子空间」,本章补上它的身份:核。名字变了,算法没变——求核照旧用张苍法消元。变的是眼光:解集不是运算的副产品,而是机器本身的档案——核越大,机器压得越狠。
有了核与像,一般映射论里的三个词在线性世界里全部获得代数判据:
| 概念 | 一般定义 | 线性代数判据 |
|---|---|---|
| 单射(不撞车) | u ≠ v ⟹ φ(u) ≠ φ(v) | ker φ = {0} |
| 满射(够得着全部) | im φ = W | im φ = W(像铺满目的地) |
| 同构(一一对应且保运算) | 存在逆映射 φ−1 | 单射 + 满射(且 φ−1 自动线性) |
单射的判据最值得咀嚼:「两个人被送到同一点」意味着 φ(u − v) = 0,即 u − v ∈ ker φ。所以不撞车 ⟺ 核里只有零向量:机器没有压扁任何方向。这把 5.4 的「档案」变成了判据——查单射不必逐对比较,只需求一次核。
定理 5.2(同构的维数判据) 若 φ: V → W 是线性空间之间的同构,则 dim V = dim W。反之,有限维线性空间同构当且仅当维数相等。
正向显然(5.6 的秩定理将给出账本);反向是惊人的:维数是有限维线性空间的完全不变量——凡 ℝ2 皆彼此同构,凡 n 维空间都是 𝔽n 的「化装舞会」。但这绝不意味着研究只有一个 𝔽n 就够:不同空间里的基与坐标携带不同的几何与计算便利,这正是下一章线性映射与矩阵继续深入的动机。
「多项式空间 P2(次数 ≤ 2)与 ℝ3 同构,因为维数都是 3」——这句话的分量在例 5 里兑现:p ↦ (p(−1), p(0), p(1)) 就是一座具体的桥,且桥是可逆的。维数相等保证桥存在;造桥的图纸则各有各的巧。
定理 5.3(秩-零化度定理) 设 φ: V → W 线性,V 有限维,则
dim V = dim ker φ + dim im φ(零化度 nullity + 秩 rank = 出发维数)
证(骨架) 取 ker φ 的一组基 u1, …, uk(k 个),扩充成 V 的基 u1, …, uk, v1, …, vr。断言:φ(v1), …, φ(vr) 恰是 im φ 的基。生成:任意 φ(x) 中 x 的核分量被送成零,剩下 v 分量的组合;无关:若 Σcjφ(vj) = 0,则 Σcjvj ∈ ker φ,而它在核基上展开只能全零。于是 dim V = k + r = dim ker + dim im。∎
这是一条账本恒等式:出发维数只有一份,或花在压扁上(核),或花在送达上(像),不多不少。压得越狠,够得着的范围越小——但「账目守恒」本身不偏不倚。
例 5.4 主例 A:dim ker = 1(直线),dim im = 2(平面),账本 1 + 2 = 3 = dim ℝ3 ✓。
例(3 × 5 矩阵) 取
| 1 | 2 | 1 | 0 | 1 |
| 2 | 4 | 1 | 1 | 3 |
| 1 | 2 | 0 | 1 | 2 |
消元知 r(A) = 2(第 2 行减 2 倍第 1 行、第 3 行减第 1 行后只剩两个非零行)。账本:5 = 2 + 3——五个未知数,两个被主元钉住,三个自由。基础解系(自由元逐一代 1):
(−2, 1, 0, 0, 0), (−1, 0, 1, 1, 0), (−2, 0, 1, 0, 1)(逐个代回 Ax = 0 ✓)
〔明线〕秩定理就是「自由未知量计数」的成年礼 第一章我们数过 n − r 个自由未知量;第四章说那是解空间维数;今天账本终于合龙:dim ker = n − r,而 r = dim im。消元法数的从来就是这本账。
第四章学过商空间 V/U(把子空间 U 里的差别视为「相同」)。现在让机器 φ 与它对账:ker φ 里的两个向量被送成同一点(都是零),更一般地 u − v ∈ ker φ 时 φ(u) = φ(v)——核正是「被机器视为相同」的全部差别。于是猜想自然浮现:把核的差别商掉,剩下的应与像一一对应。
定理 5.4(线性代数的同态基本定理) 设 φ: V → W 线性,则
V / ker φ ≅ im φ, 映射为 v + ker φ ↦ φ(v)
证(骨架) 良定:若 u − v ∈ ker φ 则 φ(u) = φ(v),落点与代表元选取无关。线性:继承自 φ。单射:φ(v) = 0 ⟺ v ∈ ker φ,核里全体代表同一零陪集。满射:像中每点当然有人送。∎
例 取 φ: ℝ3 → ℝ2,φ(x, y, z) = (x + y, x + z)。核:x + y = 0, x + z = 0,即 span{(−1, 1, 1)},一维;像:秩 2(前两个分量足以定出全部落点),二维。同态定理说 ℝ3 / span{(−1,1,1)} ≅ ℝ2:三维空间里压掉一条直线的差别,剩下的恰是一张平面的事。
〔明线〕同态定理怎么解方程 「求 φ(x) = b 的全部解」=「求 b 的全部原像」。同态定理说:原像们彼此只差核里的一个向量——这正是 5.8 要正式立起来的「解集 = 特解 + 核」。定理不算数,它说明答案之间的相对位置。
万事俱备。现在把非齐次方程组 Ax = b 的全部解,用结构语言一次说清。设 x0 是某一个解(特解),x 是任一解,两式相减:
A(x − x0) = Ax − Ax0 = b − b = 0
即 x − x0 ∈ ker φ(φ(x) = Ax)。反过来核里任何向量加到 x0 上仍是解。全部解 = 特解 + 核的全体:
定理 5.5(解集的陪集结构) 若 Ax = b 相容,则其解集为
{x0 + v : v ∈ ker φ} = x0 + ker φ(一个陪集:与解空间平行的一「片」)
第四章的「通解 = 特解 + 齐次通解」在结构语言里是:解集是解空间的一个平移拷贝——它不再是子空间(除非 b = 0,拷贝恰好盖回原点),而是与子空间平行的等维子集。
例(本章主例 B) 解 Ax = b,其中
A =
| 1 | 1 | −1 | 2 |
| 2 | 2 | −1 | 3 |
b = (1, 4)
消元(第 2 行减 2 倍第 1 行)得 x3 − x4 = 2 与 x1 + x2 − x3 + 2x4 = 1。取 x2 = x4 = 0 得特解 x0 = (3, 0, 2, 0)(代回 ✓:3 + 0 − 2 + 0 = 1,6 + 0 − 2 + 0 = 4)。核由两个方向张成:
ker φ = span{(−1, 1, 0, 0), (−1, 0, 1, 1)}(逐个代回 Ax = 0 ✓)
于是全部解为 (3, 0, 2, 0) + s(−1, 1, 0, 0) + t(−1, 0, 1, 1)。任取 s = 5, t = −3:得 (5, 5, −1, −3),代回 Ax 得 (1, 4) ✓——随便挑,都在解集里;核外的不在。
〔明线〕张苍法的最终产品 回望全程:第一章消元求「一个」解;第二章求逆;第四章看穿齐次解集是子空间;今天交付最终产品——全部解的完整描述:一个代表 + 一张平移说明书(核)。消元法从头到尾只做一件事:把这本说明书从方程组里读出来。
解方程组前先问一句:有没有解?结构语言一句话:Ax = b 有解 ⟺ b ∈ im φ——b 在机器的可达范围内。怎么不真正求解就查验?增广矩阵登场。
定理 5.6(存在性判据) Ax = b 有解 ⟺ r(A) = r(A | b)(添加右端不升秩)。
理由:r(A | b) = r(A) 说明 b 可由 A 的列线性表出,即 b 是各列的组合——恰是 b ∈ im φ 的定义。消元后出现 0 = 非零 的矛盾行,正是「b 在可达范围之外」的现场证据。
例 取两行成比例的矩阵
A =
| 1 | 2 |
| 2 | 4 |
r(A) = 1,像是一条直线 span{(1, 2)}。
① b = (3, 6) = 3(1, 2):在直线上 ✓,r(A|b) = 1 = r(A),有解(且有无穷多:解集是一条与核平行的直线)。② b = (3, 5):3 ≠ (5/2)·2,在直线外,r(A|b) = 2 > 1,无解。
〔现代性〕判据的两种写法 「r(A) = r(A|b)」是算法家的写法(消元可查);「b ∈ im φ」是结构学家的写法(一句成员资格)。两者等价,但后者才能推广:抽象空间上没有「矩阵增广」可写,成员资格的说法照用不误。术语向结构靠拢,是为了把同一条定理带去更多地方——这正是本章反复出现的主题。
存在性问「落点资格」,唯一性问「撞不撞车」。若 x1, x2 都是 Ax = b 的解,相减得 A(x1 − x2) = 0——两解之差必在核里。反过来核里任何向量都能把一个解搬运成另一个解(加到解上仍是解)。于是:
定理 5.7(唯一性判据) 下列三条等价:① Ax = b 只要有解就唯一;② ker φ = {0};③ φ 是单射。
例 取
A =
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
三行两列,消元后秩为 2(三个方程中只有两个独立),核为 {0}:机器把 ℝ2 钉死在 ℝ3 的一条直线上,不压扁任何方向。解 Ax = (1, 2, 3):由前两个方程 x + y = 1, x + 2y = 2 得 (x, y) = (0, 1);第三个方程自动满足(0 + 3 = 3 ✓)。解存在且只有这一个。
〔明线〕存在与唯一,一句合璧 张苍法消元时看的两件事在这里获得统一解释:相容 ⟺ b ∈ im φ(5.9),唯一 ⟺ ker φ = {0}(本节)。当年盯着阶梯形判断「有没有矛盾行、有没有自由元」,如今知道数的是像的成员资格与核的大小。算法未动,语义登基。
机器也可以做算术。同型映射之间有逐点运算:(φ + ψ)(v) = φ(v) + ψ(v),(kφ)(v) = k·φ(v)(各自仍线性,5.12 将收编它们成一个新的线性空间)。更重要的是复合——把两台机器串成流水线:
(ψ ∘ φ)(v) = ψ(φ(v)) (先过 φ,再过 ψ)
定理 5.8 线性映射的复合仍是线性映射;取标准基下的矩阵,则
矩阵(ψ ∘ φ) = 矩阵(ψ) · 矩阵(φ)
矩阵乘法为什么是「行乘列」?因为复合要求它必须是。矩阵乘法的规则不是谁发明的巧合,而是「流水线」这件事在数表世界里的唯一写法——这是第二章埋下的问题(「乘法规则凭什么长这样」)的正解。
例 平面上的旋转 90° 与关于 x 轴的反射:
R =
| 0 | −1 |
| 1 | 0 |
| 1 | 0 |
| 0 | −1 |
两条流水线:S·R =(先转后翻)
| 0 | −1 |
| −1 | 0 |
| 0 | 1 |
| 1 | 0 |
复合还带来一条关于「账本」的预警:im(ψ∘φ) ⊆ im ψ(产出不会超过最后一道工序的天花板),ker(ψ∘φ) ⊇ ker φ(第一道就压扁的,整条流水线都白送)。这两条包含关系是挑战一里秩不等式的种子。
5.11 的逐点加法与数乘值得郑重宣布:全体线性映射 φ: V → W 自己凑成一个集合
L(V, W) = {φ : V → W | φ 线性}
它对加法封闭(两个线性映射的和仍线性:逐点分配即可验证)、对数乘封闭、有零映射、有负映射——公理化八条(定义 4.1)逐条过关。曾经站在台上表演的「映射」,如今坐进了观众席,成为新的线性空间的向量。结构无限递归:空间中的点可以自己又是映射。
定理 5.9 若 dim V = m, dim W = n,则 dim L(V, W) = mn。
理由:矩阵表示是一一对应(5.3),L(V, W) ≅ Mn×m(𝔽),而 n × m 个数表的维数自然是 n × m(每格一个自由参数)。
例 dim L(ℝ2, ℝ3) = 2 × 3 = 6;dim L(ℝ3, ℝ3) = 9。特别地 L(V, V)(自映射全体)是 n2 维——它对复合封闭、有单位元(恒等映射)、可逆元成群(GL(V),第三章 GLn 的抽象版)。一个集合同时是线性空间和群——这身「两栖」装备,下册将称它为(结合)代数。
〔现代性〕同一套公理,第三批公民 第一公民:数组(ℝn)。第二公民:多项式、矩阵(第四章)。第三公民:线性映射(本节)。公理化方法的红利在于定理写一遍,三个世界同时受益——第四章的基与维数理论没说「只许向量用」。
还有一批特殊的映射值得单独认识:L(V, 𝔽)——把向量送成一个数的线性映射,称为线性函数(或线性泛函)。它们的全体记作 V*,称为 V 的对偶空间。
线性函数是「测量仪器」:喂给它一个向量,它报一个数。最朴素的仪器是坐标读数:ε1(x, y) = x,ε2(x, y) = y——「读第一坐标」「读第二坐标」。这两个仪器本身就是线性的,且恰构成标准基 e1, e2 的「影子」:ε1(e1) = 1, ε1(e2) = 0,ε2(e1) = 0, ε2(e2) = 1。
定义 5.3(对偶基) 设 f1, …, fn 是 V 的基。若线性函数 f1, …, fn ∈ V* 满足 fi(fj) = δij(测自己的基向量报 1,测别家报 0),则称 f1, …, fn 为 f1, …, fn 的对偶基。
例 取 f1 = (1, 1),f2 = (1, −1)。解对偶基:设 f1(x, y) = ax + by,要求 f1(f1) = a + b = 1 且 f1(f2) = a − b = 0,解得 a = b = 1/2,即
f1(x, y) = (x + y)/2, f2(x, y) = (x − y)/2
验证:f1(f1) = (1+1)/2 = 1 ✓,f1(f2) = (1−1)/2 = 0 ✓,f2(f1) = 0 ✓,f2(f2) = 1 ✓。向量 v = (3, 1) 的两台仪器读数 f1(v) = 2, f2(v) = 1,复原 2f1 + f2 = (3, 1) ✓——读数即坐标。
〔明线〕行向量终于有了户口 第一章里 1×n 的行向量乘列向量得一个数——那正是线性函数的最简形态(f(x) = a·x)。消元法对行做的每一步初等变换,都是在对偶空间里换仪器。对偶不是新东西,是老朋友的正式身份。
一个疑问:秩是矩阵的属性(第二章),又是映射的属性(dim im φ,本章)。换一组基,矩阵变了,秩变不变?
设基变换矩阵为 P(可逆),新坐标下的矩阵是 P−1AP(第三章已有的相似式)。取 5.4 主例 A 与
P =
| 1 | 0 | 0 |
| 1 | 1 | 0 |
| 1 | 1 | 1 |
程序精确算得
P−1AP =
| 2 | 1 | 0 |
| 0 | 1 | 1 |
| 2 | 1 | 0 |
数表面目全非,但:r(P−1AP) = 2 = r(A)(秩不变 ✓),tr P−1AP = 2+1+0 = 3 = tr A(迹不变 ✓)。
定理 5.10(秩的一致性) dim im φ 与所选基无关,且等于其任何矩阵表示的秩:rank P−1AP = rank A。
理由(骨架):矩阵的列空间经可逆变换只是「换参数」,列向量组的极大无关组不会增减——精确地说,r(P−1AP) = r(AP)(右乘可逆阵不改变列秩)= r(A)(左乘可逆阵不改变行秩,而行秩 = 列秩)。∎
〔现代性〕「不变量」名单加长 第三章找到了乘法不变量 det;本章又添两个相似不变量:秩与迹。不变量名单越长,我们隔着「坐标外衣」认出同一台机器的本事越大。下一章的特征值将给这份名单加入最锋利的成员。
把本章的几件家当排成一列,会看到一条漂亮的链:
0 → ker φ → V → im φ → 0
三个箭头依次是:包含(核塞进 V)、原映射 φ(送到像)、以及「映射到零」。说这条链正合(exact),是指每个箭头的像恰等于下一个箭头的核:核进 V 的像就是 ker φ 本身;φ 的核正是上一站送来的那批向量;φ 的像恰是「映到零」这一步的核。链上每一环严丝合缝,不多送一个、不少送一个。
定理 5.11(正合列的维数账) 对短正合列 0 → U → V → W → 0(U ↪ V 单、V → W 满且像 = 中间映射的核),有 dim V = dim U + dim W。
这正是秩定理 5.3 的无字版本:dim V = dim ker φ + dim im φ。正合列的价值在于把维数账写成结构——不提矩阵、不提消元,任何满足正合性的场合(群、环、模、拓扑空间)都自动继承这条加法。这是同态定理之后,结构语言的第二次「一劳永逸」。
「0 → … → 0」首尾的两个零不是装饰:起点 0 → ker φ 要求包含映射单(从零出发没有余地为非单),im φ → 0 要求 φ 满(送到零前不留残余)。正合列自己会「声明」自己的单满性——这种自我陈述的能力,正是范畴论喜欢它的原因。
5.8 说解集是「子空间的平移拷贝」。这种对象在几何里早有大名——现在正式授予:
定义 5.4(仿射子空间) V 的子集 A 称为仿射子空间,若存在 p0 ∈ V 与子空间 U ⊆ V 使 A = p0 + U = {p0 + u : u ∈ U}。U 称为 A 的方向子空间,dim U 称为 A 的维数。一维仿射子空间是直线,二维是平面(不必过原点)。
例 解集 x + y + z = 1:特解 p0 = (1, 0, 0),方向子空间是齐次方程 x + y + z = 0 的解空间 U = span{(1, −1, 0), (1, 0, −1)}。验证一般点:(1+s+t) + (−s) + (−t) = 1 ✓。整个解集是过 (1,0,0)、与方向 U 平行的一张平面。右端换成 5:x + y + z = 5 的解集方向不变、特解改 (5, 0, 0)——同一方向、平移不同的平行平面族。
〔几何〕通往仿射几何的桥 下册将给出仿射几何的现代定义:只保平行、不保原点的几何——它的「点集」正是全体仿射子空间,它的变换群是「线性映射 + 平移」的合成(仿射映射)。本章预先看清了最基本的事实:每个非齐次方程组的解集,都是仿射几何里的一个合法居民。消元法求特解与核,就是在给这个居民登记「位置 + 姿态」。
为什么 b = 0 的解集是「真」子空间而 b ≠ 0 的不是?因为平移把原点搬走了,而子空间的定义要求收留零向量。零向量的特殊地位(线性结构的「锚」)在这里第一次显出几何代价——也正是「线性」与「仿射」的分界线。
本章在群论门口说了好几次「那里也有同样的定理」。现在把话说全。同态基本定理不是线性代数的特产,而是整座结构数学大厦的标准图纸——凡有「保运算的映射」(同态)的地方,它都成立:
| 结构 | 同态 | 核 | 定理的形状 |
|---|---|---|---|
| 群(下册) | 群同态 φ: G → H | ker φ = {g : φ(g) = e}(正规子群) | G / ker φ ≅ im φ |
| 线性空间(本章) | 线性映射 φ: V → W | ker φ(子空间) | V / ker φ ≅ im φ |
| 环(下册 𝔽[x]) | 环同态(如「代 x = a 求值」) | 使求值为零的多项式全体(理想) | 商环 ≅ 像(余数定理的雏形) |
| 拓扑空间(远眺) | 连续映射 | 「被压成一点」的差别 | 商空间 ≅ 像 |
四行是同一个定理的四件衣服。共同的句式是:「把核里的差别商掉,得到的一定与像同构。」这句话在数学里随处可见,以至于有人戏称它是数学的「守恒定律」:信息不会凭空消失——被压扁的部分(核)如实记账,被送达的部分(像)如实兑现,两清。
〔现代性〕模板的来历 把这条定理从群论提炼成「通用句式」的功臣是 20 世纪 20 年代前后的 Emmy Noether——她强调同态的核与像应当作为结构对象本身来研究,而不只是计算的副产品。第四章的公理化与本章的同态定理,背后是同一场思想运动:结构优先。
最后开一扇远眺的窗。本章反复出现的句式可以再升一级:
① V ↦ dim V:给每个空间派一个数;② φ ↦ rank φ:给每个映射派一个数;
③ V ↦ V*:给每个空间派一个对偶空间;④ 复合 ψ∘φ ↦ 秩满足 rank(ψφ) ≤ min(rank ψ, rank φ)。
这种「给对象派对象、给映射派映射、且保持复合」的配备,范畴论称为函子(functor)。眼下不必背定义,只需体会它管住什么:一旦某个量被证明是函子式的(保持结构与复合),它在换基、换实现下自动不变。秩是最简单的例子:矩阵随基千变万化,秩岿然不动,因为它是映射的属性而非数表的属性(5.14)。
例(不变量的清单) 本章收进清单的有:维数(同构不变)、秩(相似不变)、迹(相似不变)、ker φ 与 im φ 的同构类(同态定理)。下一章的主角——特征多项式——将把「迹」与「行列式」收编为同一件东西的两个读数。
〔现代性〕从方程到结构,路标立完 第一章问「解是什么数」;第五章答「解是什么形状、什么空间、什么陪集」。张苍法的第五份收成至此交割完毕:方程组研究的终点,是映射与空间的常态研究。但结构的故事还差最后一块拼图——数本身的世界(数域)与多项式的世界还没正式建档。第六章《多项式环 𝔽[x] 与数域》去补这一块,然后下册:欧氏空间、正交变换、仿射与射影几何,几何的大幕拉开。
例 1 判断下列映射是否线性,并说明理由:
① T(x, y) = (x + y, x − y);② T(x, y) = (x + 1, y);③ T(x, y) = (x2, y);④ T(x, y) = (2x + y, 0)。
解 ① 两条纪律都守:取 u = (1, 2), v = (3, 4),则 T(u + v) = T(4, 6) = (10, −2),而 T(u) + T(v) = (3, −1) + (7, −1) = (10, −2) ✓;数乘逐项一次齐次显然。线性。
② T(0, 0) = (1, 0) ≠ (0, 0)——线性映射必送零到零(取 k = 0 即得),非线性。它是「平移」:整体挪动一格,原点不保。
③ 取 u = (1, 0), v = (2, 0):T(u) + T(v) = (1, 0) + (4, 0) = (5, 0),而 T(u + v) = T(3, 0) = (9, 0)。5 ≠ 9,加法被平方破坏——非线性。直观:x ↦ x2 把等距的点挤向一边,网格皱了。
④ 两个分量都是 x, y 的一次齐次式,逐项验证通过(如 T(1, 2) = (4, 0))。线性——虽然第二分量恒为零,它把整个平面压到 x 轴上,压扁得毫不客气,但「压得狠」不妨碍「线性」。
方法论 判定顺序:先查 T(0) = 0(一票否决),再抽查加法(找具体反例或证明),最后必要时查数乘。反例要给具体的 u, v——「不显然线性」不是证明。
例 2 设 D: P3 → P3(次数 ≤ 3 的多项式空间,维数 4)为求导映射 D(p) = p′。求 ker D 与 im D,并核对秩定理。
解 核:p′ = 0 当且仅当 p 是常数,故 ker D = span{1},一维——导数机器把「常数方向」整体压扁。像:任何 a + bx + cx2 + dx3 的导数是 b + 2cx + 3dx2,恰跑遍 P2(次数 ≤ 2),故 im D = span{1, x, x2},三维。
账本:4 = 1 + 3——dim P3 = dim ker D + dim im D ✓。基上的取样: D(1) = 0,D(x) = 1,D(x2) = 2x,D(x3) = 3x2——基向量的像竖排即表示矩阵(对 {1, x, x2, x3} 基):
| 0 | 1 | 0 | 0 |
| 0 | 0 | 2 | 0 |
| 0 | 0 | 0 | 3 |
| 0 | 0 | 0 | 0 |
方法论 抽象空间上求核与像的两板斧:①从定义直接刻画(「谁求导为零」比解方程组更快);②取基取样(把像用基像表出,秩一目了然)。矩阵是可选工具,不是必需品——这正是结构语言带来的自由。
例 3 设 A 是 5.6 节的 3 × 5 矩阵(r(A) = 2)。不解方程,说出 Ax = 0 与 Ax = b(相容时)解集的维数,并求基础解系。
解 账本(定理 5.3):5 = 2 + 3。Ax = 0 的解空间是 ker φ,维数 5 − 2 = 3;Ax = b 相容时解集是陪集 x0 + ker φ,与核同维——3 维(一个特解加三个自由方向)。
基础解系:消元后自由元为 x2, x4, x5,逐一代 1:
(−2, 1, 0, 0, 0), (−1, 0, 1, 1, 0), (−2, 0, 1, 0, 1)
三个都代回 Ax = 0 验算 ✓(第一行:−2+2+0+0+0 = 0;−1+0+1+0+0 = 0;−2+0+1+0+1 = 0;余行同理)。五维空间里的一张三维「切片」,在 Ax = b 时平移到不过原点的位置。
〔明线〕秩定理先算后解 秩定理的价值次序:先用维数定形状,再动手求代表。知道是 3 维,求出来的三个无关解才有资格叫「基础解系」;不知道维数,求多少个都心里没底。
例 4 找一个非零线性映射 φ: ℝ3 → ℝ,使 ker φ = span{(1, 1, 0), (0, 0, 1)}。这样的映射唯一吗?
解 φ(x) = a·x(行向量形式,5.13),核为 a 的正交补。要 (1, 1, 0) 与 (0, 0, 1) 都在核里:a1 + a2 = 0 且 a3 = 0。取 a = (1, −1, 0),即
φ(x, y, z) = x − y
验证:φ(1, 1, 0) = 0 ✓,φ(0, 0, 1) = 0 ✓。维数核对:正交补维数 3 − 2 = 1,非零解只有 (1, −1, 0) 的倍数——映射不唯一,但彼此只差一个倍数(核相同 ⟺ 行向量成比例)。这解释了第一章的旧事:同一个解集对应的方程可以差一个非零倍数,「最简方程」从来只差比例。
反问题的一般套路:核定像——核是 k 维,像的维数就被钉死为 n − k;核给定后,映射在「相差可逆因子」的意义下被锁死。维数账本(秩定理)连反问题都管。
例 5 证明 Φ: P2 → ℝ3,Φ(p) = (p(−1), p(0), p(1)) 是同构,并求逆映射。
解 线性:求值是线性运算((p+q)(a) = p(a) + q(a)),三个分量各自线性。单射:若三点值全零,二次多项式有三根,只能恒为零,ker Φ = {0}。维数两边都是 3,单射即同构(定理 5.2)。
表示矩阵:对基 {1, x, x2} 逐个求值,竖排得
| 1 | −1 | 1 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
行列式按第 2 行展开:−1·[(−1)·1 − 1·1] + 0 + 0 = −(−2) = 2 ≠ 0——数值上确认可逆(这枚行列式正是范德蒙德行列式 3.11 节的 n = 3 特例:节点 −1, 0, 1 两两不等 ⟹ 非零)。
求逆:给 (a, b, c),用待定系数 p(x) = α + βx + γx2。三点条件解出
p(x) = b + (c − a)/2 · x + (a − 2b + c)/2 · x2
验算:(1, 0, 1) ↦ x2(中项系数 (1−1)/2 = 0,二次 (1+1)/2 = 1 ✓);(−1, 0, 1) ↦ x ✓;(1, 1, 1) ↦ 1 ✓。再试 p = x2 + x:三点值 (0, 0, 2),逆公式还给 p(x) = 0 + (2−0)/2 x + (0+0+2)/2 x2 = x + x2 ✓。
例 6 解 Ax = b,其中
A =
| 1 | 2 | 1 |
| 2 | 3 | 1 |
| 3 | 5 | 2 |
解 先看结构:第 3 行 = 第 1 行 + 第 2 行(1+2=3, 2+3=5, 1+1=2),故 r(A) = 2,账本 3 = 2 + 1——核是一维。求核:由前两行 x1 + 2x2 + x3 = 0, 2x1 + 3x2 + x3 = 0,相减得 x1 + x2 = 0,代回得 x3 = x2,核 = span{(1, −1, 1)}(代回验:第 1 行 1−2+1 = 0 ✓,第 2 行 2−3+1 = 0 ✓,第 3 行 3−5+2 = 0 ✓)。
特解:取 x = (0, 0, 1),代回 Ax = (1, 1, 2) = b ✓。全部解:
x = (0, 0, 1) + t(1, −1, 1), t ∈ 𝔽
(任取 t = 7 验算:(7, −7, 8) 代回得 (1, 1, 2) ✓。)解集是 ℝ3 中过 (0, 0, 1)、方向 (1, −1, 1) 的一条直线——仿射直线(5.16),它平移 −(0,0,1) 后才是真子空间。
方法论 解非齐次方程组的标准流程已完全结构化:①秩定账(自由元个数)→ ②求核(齐次)→ ③凑特解(非齐次)→ ④合账 x0 + ker。四步各有验算点,缺一不可。
例 7 设 L: ℝ2 → ℝ,L(x, y) = x − 2y。描述 L−1(3)(即 x − 2y = 3 的解集)作为陪集的结构,并判断 (5, 1)、(3, 1)、(1, 0) 各与哪个点同陪集。
解 核:L(x, y) = 0 ⟺ (x, y) ∥ (2, 1),ker L = span{(2, 1)}。特解 p0 = (3, 0)(3 − 0 = 3 ✓)。于是
L−1(3) = (3, 0) + span{(2, 1)}:过 (3, 0)、方向 (2, 1) 的直线
逐点判:① L(5, 1) = 5 − 2 = 3 ✓ 在线上——(5, 1) = (3, 0) + 1·(2, 1),与 (3, 0) 同陪集;② L(3, 1) = 1 ≠ 3,它在线外;③ L(1, 0) = 1,与 (3, 1) 同值——同陪集:(3, 1) − (1, 0) = (2, 1) ∈ ker ✓。陪集语言读出来的事实:沿核方向走,永远走不出陪集;跨出核方向,立刻进入另一片。全部陪集 L−1(c)(c ∈ ℝ)是 ℝ2 的一族平行直线,铺满全平面且互不相交。
例 8 设 U = span{(1, 0, 1, 0), (0, 1, 0, 1)} ⊆ ℝ4。求 dim(ℝ4/U),找一组陪集代表,并说明 e3 + U 与 e1 + U 的关系。
解 U 的两个生成元无关(零分量格局不同),dim U = 2。商空间维数直接做减法:dim(ℝ4/U) = 4 − 2 = 2。
陪集代表:试 e1 + U, e2 + U。它们不在 U 中(设 a(1,0,1,0) + b(0,1,0,1) = (a, b, a, b),第三、四分量与第一、二绑定,(1, 0, 0, 0) 无解)✓;且它们线性无关(若 αe1 + βe2 ∈ U,仍由 (a,b,a,b) 格局知 α = β = 0)✓。两个无关陪集张满 2 维商空间——{e1 + U, e2 + U} 是 ℝ4/U 的基。
e3 的身份:e3 + e1 = (1, 0, 1, 0) ∈ U,故 e3 + U = −(e1 + U) = −e1 + U——e3 的陪集恰是 e1 陪集的负!同理 e4 + U = −e2 + U。商空间虽是「压扁的世界」,四条坐标轴在里面只留下两条独立的影子,且影子带符号对账(+e1 与 −e1 同影)。
〔现代性〕商空间的算法侧影 「求商空间」落地成算法就是「求 U 的基 + 在基下做坐标 + 划去 U 占据的坐标」——全是张苍法的老动作。抽象结构不新造算法,只重新解释算法的产品。
例 9 设 f1 = (1, 1), f2 = (1, −1) 是 ℝ2 的基。求对偶基 f1, f2,并计算向量 v = (3, 1) 在基 {f1, f2} 下的坐标。
解 设 f1(x, y) = ax + by。对偶条件 f1(f1) = 1, f1(f2) = 0:
a + b = 1; a − b = 0 ⟹ a = b = 1/2
同理 f2(x, y) = (x − y)/2。四项验证:f1(f1) = 1 ✓,f1(f2) = 0 ✓,f2(f1) = 0 ✓,f2(f2) = 1 ✓。
坐标 = 仪器读数:f1(v) = (3+1)/2 = 2,f2(v) = (3−1)/2 = 1。复原:2f1 + 1·f2 = (3, 1) ✓。对偶基一次读数,坐标直接到手——不必解方程组,因为方程组已经在对偶基的构造里解完了。
对比两条求坐标的路:旧路(第一章)拿 v = af1 + bf2 解二元一次方程组;新路先造两台仪器(解一次同样的方程组),之后每个向量都只读两次数。向量多了,仪器的投资就赚回来了——这正是「先造工具再批量生产」的数学版,也是对偶空间存在的工程理由。
例 10 设 T: ℝ2 → ℝ2 为沿直线 y = x 的反射,T(x, y) = (y, x)。求 T 在基 f1 = (1, 1), f2 = (1, −1) 下的矩阵。
解 标准矩阵 A =
| 0 | 1 |
| 1 | 0 |
B =
| 1 | 0 |
| 0 | −1 |
用公式核对:P =
| 1 | 1 |
| 1 | −1 |
| 1/2 | 1/2 |
| 1/2 | −1/2 |
| 1 | −1 |
| 1 | 1 |
〔现代性〕相似变换的实际身份 B = P−1AP 里的 P 不是代数游戏,它就是「翻译词典」:把机器 T 的动作从标准语言译成 {f1, f2} 语言。相似矩阵 = 同一台机器的不同语言说明书——第三章留下的这句话,至此完全落地。
例 11 设 P 为沿方向 (1, −1) 到直线 span{(1, 1)} 的投影。验证 P2 = P,找出 im P 与 ker P,并把 v = (3, 5) 分解。
解 P(2, 0) = (1, 1)(把它拉到镜线上)、P(1, −1) = (0, 0)(沿方向压扁),故表示矩阵为
P =
| 1/2 | 1/2 |
| 1/2 | 1/2 |
幂等:P2 = P(逐格算:1/4 + 1/4 = 1/2 ✓)——投影两次与投影一次相同,拖到一半的影子不会再拖长。几何上显然,代数上是「幂等」的定义。像与核:im P = span{(1, 1)}(维 1),ker P = span{(1, −1)}(维 1),账本 2 = 1 + 1 ✓,且 tr P = 1/2 + 1/2 = 1 = dim im P——投影的迹等于像维数,一件好用的小事。
分解 v = (3, 5):P(v) = (4, 4),v − P(v) = (−1, 1)。于是
(3, 5) = (4, 4) + (−1, 1):像的部分 + 核的部分
核部分代回 P(−1, 1) = (0, 0) ✓。任何向量 = 投影里的 + 被压掉的,且分解唯一(像 ∩ 核 = {0})。这是「直和分解」(4.12)第一次由一台具体机器制造出来。
〔现代性〕幂等映射 = 分解机器 凡 P2 = P,必得 V = im P ⊕ ker P(挑战二 C2)。投影是把空间「拆成两截」的标准夹具;下册正交投影(最小二乘的几何)只是把这里的斜投影换成垂直投影。
例 12 证明:对 n 阶方阵 A, B,有 rank(AB) ≤ min(rank A, rank B),且 rank(AB) ≥ rank A + rank B − n(Sylvester 不等式)。用 n = 3 的例子检验两端。
解 上界:im(AB) = {A(Bx)} 是先经 B 再经 A 的落点,故 im(AB) ⊆ im A,得 rank(AB) ≤ rank A;转置并用 rank BtAt ≤ rank Bt = rank B,得 rank(AB) ≤ rank B(5.11 的包含关系正是为此准备)。
下界:A 在 im B(维 rank B)上压掉至多 n − rank A 维(核至多 n − rank A 维,因为 ker A ∩ im B 是 ker A 的子空间),故
rank(AB) = dim im B − dim(ker A ∩ im B) ≥ rank B − (n − rank A) = rank A + rank B − n ∎
数值检验 取 A =
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 0 |
〔明线〕不等式里的消元影子 Sylvester 下界说的是:两道消元工序串联,自由度损失有保底。当年高斯消元一笔一笔划去未知数,今天我们把「划掉多少」写成了不等式——算法的经验,升级为结构的定理。
1. 判断 T(x, y) = (x + y, x − y) 是否线性;若是,写出标准基下的矩阵。
答:线性(两条纪律逐项验证,例 1 ①)。矩阵第 j 列 = T(ej):T(1,0) = (1,1),T(0,1) = (1,−1),故 A =
| 1 | 1 |
| 1 | −1 |
2. 判断 T(x, y) = (x + 1, y) 与 T(x, y, z) = (x, y, 0) 是否线性。
答:前者非线性(T(0) = (1, 0) ≠ 0,一票否决);后者线性——第三分量恒零是「压扁」不是「违规」,其核 = span{(0, 0, 1)}。
3. 证明:若 φ 线性,则 φ(−v) = −φ(v),且 φ(u − v) = φ(u) − φ(v)。
答:φ(−v) = φ((−1)·v) = (−1)φ(v)(数乘纪律,k = −1);减法 = 加负号,两条规则连用即得。∎
4. 求导映射 D 在 P3 的基 {1, x, x2, x3} 下的矩阵(例 2 已算),并读出 D(x2 + 3x3)。
答:矩阵见例 2(上三角,对角 0,0,2,3 的错位形)。D(x2 + 3x3) = 2·(x 位置的 1) + 3·(3x2) 组合:2x + 9x2。直接求导核验:(x2 + 3x3)′ = 2x + 9x2 ✓。
1. 求 φ(x, y, z) = (x + y + z, x + y + z) 的核与像。
答:两分量恒同,秩 1,像 = span{(1, 1)};核是 x + y + z = 0:span{(−1, 1, 0), (−1, 0, 1)}。账本 3 = 2 + 1 ✓。机器把整个 ℝ3 压到一条对角线上。
2. 5.4 主例 A(三阶表):证明 im φ 恰是平面 x − y + z = 0。
答:像由 (1,0,1)、(1,1,2) 张成,两者都满足 x − y + z = 0(1−0+1=2?——逐个核:(1,0,1):1−0+1 = 2 ≠ 0!说明平面方程抄错了;改由像的生成元求法向量:(1,0,1)×(1,1,2) = (0·2−1·1, 1·1−1·2, 1·1−0·1) = (−1, −1, 1),即像在平面 x + y − z = 0 上。验证 (1,1,2):1+1−2 = 0 ✓,(1,0,1):1+0−1 = 0 ✓。像 = 平面 x + y − z = 0,维 2 与秩 2 一致 ✓。
3. 设 φ2 = 0(平方为零的映射)。证明 im φ ⊆ ker φ。
答:任取 φ(v) ∈ im φ,则 φ(φ(v)) = φ2(v) = 0,故 φ(v) ∈ ker φ。∎(习题课九的幂零例是它的具体版。)
4. 举例说明「核为零但不满射」与「满射但核非零」都存在。
答:5.10 的三行两列表(钉进直线):核零但不满;习题课二第 1 题的压扁机:满(像 = ℝ 整条对角线铺到 (1,1) 方向)但核二维。两边都要 dim V ≠ dim W——维数相等是「单且满」的门票。
1. 4 × 4 矩阵 A =(行 (1,0,0,1), (0,1,0,1), (0,0,1,1), (1,1,1,3)),求秩并核对账本。
答:A 的行满足第 4 行 = 前 3 行之和(每行都是 (1,1,1,1) 型?——实际矩阵为行 (1,0,0,1), (0,1,0,1), (0,0,1,1), (1,1,1,3),末行 = 前三行之和),r = 3,账本 4 = 3 + 1;核由 (−1, −1, −1, 1) 张成(代回:每行 −1−1−1+1 = 0 ✓)。
2. 已知 φ: ℝ7 → ℝ5 线性且 rank φ = 4。dim ker φ = ?
答:7 = 4 + 3,核三维。注意秩最多 5(目标维数)但实际 4——账本只管出发维数的分配。
3. 证明:若 φ: V → W 满足 dim ker φ = dim V,则 φ = 0。
答:dim im φ = dim V − dim ker φ = 0,零维子空间只有 {0},像为零即零映射。∎
4. 求导映射 D: P4 → P4(次数 ≤ 4,维 5)的秩与零化度。
答:ker D = 常数(维 1),im D = P3(维 4),账本 5 = 1 + 4 ✓。反复求导:D5 = 0 而 D4 ≠ 0——求导是「温柔压扁」的样板。
1. T(x, y) = (2x − y, x) 是同构吗?
答:矩阵 det = 2·0 − (−1)·1 = 1 ≠ 0,可逆 ⟹ 同构(第二章第六说法与第五章判据合流)。
2. P2 与 ℝ2 之间可能存在同构吗?
答:不可能——维数 3 ≠ 2(定理 5.2 是双向的:维数不等必不同构)。但 P2 ≅ ℝ3(例 5)。
3. 构造 M2(𝔽)(二阶表全体,维 4)到 ℝ4 的一个具体同构。
答:最平的桥:把四格按固定次序拉直 abcd ↦ (a, b, c, d)。线性、可逆一目了然。更几何的桥:拆成对称 + 反对称两截——下册正交对角化的预演。
4. 证明:同构的逆映射自动线性。
答:设 φ−1(u) = x, φ−1(v) = y,即 u = φ(x), v = φ(y)。则 φ(x + y) = u + v ⟹ φ−1(u + v) = x + y = φ−1(u) + φ−1(v);数乘同理。∎(「保结构的双射,其逆也保结构」——范畴论里同构的定义味道。)
1. 解 Ax = b:A =
| 1 | 1 |
| 2 | 2 |
答:第二行是第一行的 2 倍,r = 1,独立方程 x + y = 1。特解 (1, 0),核 span{(−1, 1)},解集 (1, 0) + t(−1, 1):一条仿射直线(5.16)。
2. 例 6 的方程组若把 b 换成 (1, 1, 3),还有解吗?
答:b 的第三分量必须 = 前两个之和(行 3 = 行 1 + 行 2 ⟹ 像里每个 b 也守此约),而 1 + 1 = 2 ≠ 3——不在像内,无解。增广矩阵消元将出现矛盾行 0 = 1,两种语言同一结论。
3. 齐次方程组 Ax = 0 与非齐次 Ax = b 的解集,维数关系如何?
答:同维(都是 n − r 维:子空间与它的平移拷贝等维),但前者过原点、后者一般不过——「同姿态,不同位置」。
4. 把「解方程 x + y = 3」的解集用仿射子空间语言登记造册(位置 + 姿态)。
答:位置:特解 (3, 0);姿态:方向子空间 span{(1, −1)}(齐次方程 x + y = 0 的解集)。登记完毕:一维仿射子空间,即一条直线。
1. 例 7 中 (3, 1) 与 (1, 0) 同陪集,验证它们的差在核里。
答:(3, 1) − (1, 0) = (2, 1) = ker 的生成元本身 ✓。判据回顾:同陪集 ⟺ 差 ∈ 核。
2. 求 dim(ℝ3 / U),U = span{(1, 1, 1)},并给一组陪集代表。
答:3 − 1 = 2 维;代表可取 e1 + U, e2 + U(验证无关:若 a e1 + b e2 ∈ U 即 (a, b, a+b) 型与 (t, t, t) 型相等,则 a = b = t 且 a = t, b = t, a + b = t ⟹ 2t = t ⟹ t = 0)。∎
3. 例 8 里 e3 + U = −(e1 + U)。解释为什么「负」陪集不奇怪。
答:商空间自己是线性空间(零元是 U 自身),负元天然存在;e3 在商空间里的影子恰好与 e1 的影子反向——四根轴压成两根,有重影也有反影。
4. 证明:陪集族 {x + U : x ∈ V} 两两不交或重合,并铺满 V。
答:若 (x + U) ∩ (y + U) ≠ ∅,则 x − y ∈ U,两陪集相同;每个 v 属于 v + U。∎(这就是「商 = 分割」:把空间切成等大小的平行瓦片。)
1. 求 dim L(ℝ3, ℝ2) 与 dim L(ℝ3, ℝ3)。
答:3 × 2 = 6 与 3 × 3 = 9(定理 5.9:维数是格数)。
2. 求基 f1 = (1, 2), f2 = (3, 4) 的对偶基 f1, f2(给出行向量形式)。
答:行列式 1·4 − 2·3 = −2。对偶行向量是 P−1 的行(P 以 f1, f2 为列):P−1 =(1/−2)·4−2−31,故 f1 = (−2, 1),f2 = (3/2, −1/2)。验证:f1(f1) = −2 + 2 = 1 ✓,f1(f2) = −6 + 4 = −2?——重验:f1 应对 f2 读零。f1(f2) = (−2)·3 + 1·4 = −2 ≠ 0,上面的 P−1 拼装错了:正确地,P =1324,P−1 =(1/−2)·4−3−21 = −23/21−1/2。对偶基 = P−1 的两行:f1 = (−2, 3/2),f2 = (1, −1/2)。验证 f1(f1) = −2 + 3 = 1 ✓,f1(f2) = −6 + 6 = 0 ✓,f2(f1) = 1 − 1 = 0 ✓,f2(f2) = 3 − 2 = 1 ✓。
3. 证明:线性函数的和与数倍仍是线性函数(V* 封闭)。
答:逐点验证两条纪律,与 5.12 的 L(V,W) 论证逐字相同(取 W = 𝔽 特例)。∎
4. 用对偶基读数法求 v = (5, 7) 在基 {(1,1), (1,−1)} 下的坐标。
答:读数即坐标:f1(v) = (5+7)/2 = 6,f2(v) = (5−7)/2 = −1,故 v = 6f1 − f2。验算 6(1,1) − (1,−1) = (5, 7) ✓。
1. A =
| 1 | 2 |
| 3 | 4 |
答:det = −2 ≠ 0,核为零 ⟹ 解唯一(若存在)。解 x + 2y = 1, 3x + 4y = 1:三倍首式相减得 −2y = −2,y = 1, x = −1。验算 (−1, 1):−1 + 2 = 1 ✓,−3 + 4 = 1 ✓。
2. Ax = b 有唯一解的充要条件是什么?无穷多解呢?
答:唯一 ⟺ 相容且 ker = {0}(r(A) = n 且 b ∈ im);无穷多 ⟺ 相容且核非零(自由元 ≥ 1)。无解 = b 在像外。三种情形合起来恰是增广矩阵阶梯形的「无矛盾行 / 满秩 / 有自由元」三分支——两个世界完全对账。
3. 已知 φ: ℝ4 → ℝ4 满足 rank φ = 2。对每个 b ∈ im φ,解集是什么形状?
答:相容(在像内),解集 = 特解 + ker,而 dim ker = 4 − 2 = 2:过特解的一张二维仿射平面。像内每个点头顶都悬着一张 2 维的「原像平面」。
4. 构造一个相容但解集为一条直线的 3 元方程组。
答:随便取核为一条直线的机器 + 像内的 b。如 A = 习题课二第 1 题的表,b = (2, 2):特解 (2/3, 0, 0) 型(取 (0, 0, 2) 亦可:0+0+2 = 2 ✓),核二维?——核对:那台机器核是二维,解集是平面不是直线。要直线解集需核一维:取 A =(两行独立的 2 × 3 表,如例 6 的前三行删一行),如 x + 2y + z = 1, 2x + 3y + z = 1:秩 2,核一维,解集一条仿射直线 ✓。
1. 设 T(x, y, z) = (0, x, y)。求 T2, T3 的表达式,并指出 T 的秩。
答:T2(x, y, z) = T(0, x, y) = (0, 0, x);T3(x, y, z) = T(0, 0, x) = (0, 0, 0)。三连压扁,第三下归零(幂零指数 3)。T 的像 = span{(0,1,0), (0,0,1)},秩 2,账本 3 = 1 + 2(核 = span{(0,0,1)})。
2. 上题的 T 满足 im T ⊋ ker T。这说明 5.15 的正合列在这里「不短」吗?
答:正合列 0 → ker T → ℝ3 → im T → 0 依旧正合(账本 1 + 2 = 3 不变);im ⊆ ker 的条件是 T2 = 0 的性质(习题课二第 3 题),而这里 T2 ≠ 0,故 im 不必缩进核里。两种陈述互不干扰。
3. 投影 P(x, y, z) = (x, y, 0):求 im, ker 并验证 ℝ3 = im P ⊕ ker P。
答:im = xy 平面(维 2),ker = z 轴(维 1),交为零,和为全空间((x,y,z) = (x,y,0) + (0,0,z))✓。tr P = 2 = dim im(例 11 的小事在此复核)。
4. 若 φ: V → W 与 ψ: W → U 都满射,证明 ψ∘φ 满射。
答:任取 u ∈ U,ψ 满给出 w ∈ W,φ 满给出 v ∈ V,则 ψ(φ(v)) = u。∎(满射沿流水线传递;单射沿逆方向传递——想想为什么。)
1. 证明:若 φ 单射且 ψ∘φ 有定义,则 ker(ψ∘φ) = ker φ。
答:⊇ 显然(5.11 的包含)。反向:若 ψ(φ(v)) = 0 = ψ(0),ψ 单给 φ(v) = 0,即 v ∈ ker φ。——注意用到的是 ψ 单射,不是 φ!单射在流水线的后端起作用。∎
2. 秩 1 矩阵必形如 u·wt(一列乘一行)吗?以 u = (1, 2, 1), w = (1, 1, 2) 验证秩与迹。
答:秩 1 ⟺ 像一维 ⟺ 每列都是像基向量的倍数 ⟺ A = u wt ✓。数值:u wt 的迹 = u1w1 + u2w2 + u3w3 = 1 + 2 + 2 = 5 = w·u——秩 1 映射的迹 = 「前进方向 × 落点方向」的内积。
3. 两个秩 1 映射的复合秩最多几?
答:1(rank(AB) ≤ min = 1)。流水线的产出超不过任何一道工序的天花板——Sylvester 上界的极简版。
4. 设 dim V = dim W = n 且 φ 单射。证明 φ 同构。
答:账本:dim im = n − 0 = n = dim W,子空间维数等于全空间维数则重合,im = W 满。单 + 满 = 同构。∎(有限维的福利;无限维里单而不满的映射比比皆是——平移 n ↦ n+1 在无穷数列空间里就是。有限维是娇贵的花园。)
1. 设 A 为 3 × 3,r(A) = 2。证明存在 b 使 Ax = b 无解,也存在 b 使之有无穷多解。
答:im φ 是二维平面 ≠ ℝ3,平面外任取 b1 无解 ✓;平面内任取 b2,解集 = 特解 + 核(核一维)无穷多 ✓。秩 2 的机器:注定一半求失败、一半求雪崩——这是「欠秩」的宿命。
2. 设 φ2 = φ(幂等)。证明 im φ ∩ ker φ = {0}。
答:v ∈ 交 ⟹ v = φ(v) = φ2(v) = φ(v∈ker 时的值) = 0。精确写:v ∈ ker φ 给 φ(v) = 0;v ∈ im φ 给 v = φ(u),于是 v = φ(φ(u)) = φ(v) = 0。∎(与例 11、挑战二 C2 呼应。)
3. 证明:rank(A + B) ≤ rank A + rank B。
答:im(A+B) ⊆ im A + im B(每个 Ax + Bx 是两个像的和),维数用 4.10 的和公式:≤ rank A + rank B。∎(秩的「三角不等式」。)
4. A, B 为 3 阶,r(A) = 2, r(B) = 3。r(AB) 的可能值?
答:B 满秩(可逆),r(AB) = r(A) = 2(可逆因子不改秩——左乘右乘皆然,5.14 的引理)。只有两个都欠秩,Sylvester 的「浮动区间」才真正浮动。
本章错误有稳定的出没规律,归档八类。自己的错题对号入座,写出「错在哪一步、正确动作是什么」。
| 编号 | 错误类型 | 典型现场 | 纠正动作 |
|---|---|---|---|
| E1 | 忘验 T(0) = 0 | 把平移、仿射映射当线性处理 | 判定第一刀永远砍向零向量 |
| E2 | 核写成单点 | 把 ker φ 写成「x = 0」而漏掉整条压扁方向 | 核是子空间,先问维数再问基 |
| E3 | 秩定理记反 | 把 dim ker 当成 dim im | 账本口诀「出发 = 压扁 + 送达」 |
| E4 | 陪集方向装错 | 把特解装进方向、把核向量当代表 | 「位置 + 姿态」分工:特解定位置,核定姿态 |
| E5 | 对偶基验算偷懒 | 习题课七第 2 题型:P−1 行列拼错,四项验证发现 | 对偶基必做四项验证 fi(fj) = δij |
| E6 | 复合顺序颠倒 | 把 ψ∘φ 的矩阵算成 AB 反序 | 流水线口诀「先 φ 后 ψ,矩阵 B 在前」 |
| E7 | 换基忘了逆 | 把 P−1AP 写成 PAP−1 | 词典方向想清楚:新坐标要过 P−1 才回旧世界 |
| E8 | 解集说成子空间 | 非齐次解集被写成「是一张过原点的平面」 | 先问 b 是否为零;非零 ⟹ 仿射(不过原点) |
三自测(遮住答案默写):① 秩定理原文;② 同态基本定理原文;③ 解集陪集结构定理原文。
① dim V = dim ker φ + dim im φ;② V/ker φ ≅ im φ;③ 相容时解集 = x0 + ker φ。三句都是「一句话定理」——本章最值钱的三句话。
章复盘三问:① 本章把第二章的哪个对象升了级?升成了什么?② 消元法在核、像、陪集三处分别扮演什么角色?③ 「先问结构,再求解」在本章哪个例子里体现得最彻底?
① 矩阵 → 线性映射(数表 → 机器);② 求核 = 消元解齐次、像 = 列空间读秩、陪集 = 特解加核(消元全程代工);③ 例 3(先定形状再求代表)或例 6(四步流程)。
古巴比伦的书记员在泥板上写下 2 与 30;中国《九章》的方程术用算筹布出「上下禾实」的答数;中世纪阿拉伯的代数学家念叨着「还原与对消」——三千年的解方程史,目标都定格在把答案一个一个抠出来。答案是一个数、一组数,解完即走。
转折发生在 17 世纪。笛卡尔把方程与曲线划上等号:一个方程的解不再是一个点,而是一条曲线;两个联立方程的解,是曲线的交点。解集第一次以「几何形状」的身份登台——虽然当时没人用这个词。19 世纪,格拉斯曼(1844,《扩张论》)把「维数」「生成」立为正式概念,解集的形状开始有代数语法;到 20 世纪,公理化运动(第四章札记的续篇)终于把「解集是什么形状」变成与「解等于几」平起平坐的问题。
本章站在这条线索的末端,把三千年历史翻译成三句话:解是一个数(第一章),解集是一个空间(第四章),解集的结构是「位置 + 姿态」(第五章:特解 + 核)。每句话都不推翻前一句,而是给前一句更大的坐标系。
| 时代 | 问法 | 解的身份 |
|---|---|---|
| 巴比伦—《九章》 | 答数几何? | 一个个具体的数 |
| 笛卡尔 1637 | 方程画成什么曲线? | 几何图形(点集) |
| 格拉斯曼 1844 | 解集有几维、由什么生成? | 带维数的结构 |
| 公理化运动以后 | 解集与解空间的关系? | 陪集:位置 + 姿态 |
从「答案」到「结构」不是忘本——算出具体的解依然是日常。变化的是:结构说清了所有答案之间的关系(相差核内向量),使得任何一个具体解都能被即时定位、即时检验、即时搬运。结构是答案的社会学。
本章的定理 5.4(V/ker φ ≅ im φ)有一个庞大家族。最古老的面孔在算术里:ℤ → ℤ/12ℤ(时钟世界),把 26 送到 2(26 mod 12 = 2);它的核是 12 的倍数。群论版本由诺特(Emmy Noether,1920 年代论文)定型;线性代数版本即本章;环的版本管着「除以多项式取余」(第六章主角 𝔽[x] 的分工表);拓扑的版本管着「把边界粘起来」(环面 = 正方形对边相粘,正是商空间)。
为什么一条定理能穿这么多衣服?因为在公理化的视野里,「核、像、商」三者不是三个定义,而是同一关系的三个侧面:映射压扁了什么(核)、送达了什么(像)、把什么视为相同(商)。压扁、送达、视为相同——只要有「保结构的映射」,这三个词就自动在场,定理就自动成立。
诺特的深层贡献在于视角的翻转:在她之前,人们把同态的核当作「不重要的坏点」绕开;她指出核本身就是最有信息量的部分——想知道两个结构差多少,看核;想造新结构,造商。今天教科书里「第一同构定理」的通名,就是为了纪念这场「把核扶正」的运动。
〔远眺〕定理的三副面孔在本册出现两次:第三章的 det: GLn → 𝔽*(核是 SLn,陪集语言读出行列式值)与本章的线性映射版本。下册将看到第三副(正交群与定向)——同一条定理将在几何里最后一次收账。
本章知识图谱(八格):从「机器」出发,向左看它压扁了什么(核)、向右看它够得着什么(像),账本(秩定理)居中坐镇;账本右侧分出两支——解的存在性(b ∈ im)与唯一性(ker = 0);左侧分出两支——陪集结构(解集形状)与商空间(同态定理);最外侧是两个远眺接口——对偶空间与函子。
| 六步方法 | 动作 | 依据 |
|---|---|---|
| ① 认机器 | 确认线性(T(0) = 0 + 两条纪律) | 定义 5.1 |
| ② 定账本 | 求秩、算 dim ker = n − r | 秩定理 5.3 |
| ③ 找核 | 消元解齐次,得基础解系 | 张苍法 + 定义 5.2 |
| ④ 找特解 | 自由元归零回代 | 定理 5.5 |
| ⑤ 合账 | 解集 = x0 + ker φ,验算 | 定理 5.5 + 5.6 |
| ⑥ 升维复盘 | 商空间、对偶、不变量各说一遍 | 定理 5.4 + 5.9–5.10 |
与前三章的接口:第一章的消元=③④的引擎;第二章的秩=②的读数;第三章的 det=可逆判定(同构判据)的后备;第四章的子空间=核与像的原料。张苍法五份收成至此全部交割。
〔下章预告〕第六章《多项式环 𝔽[x] 与数域》暂时离开方程组,去办两件建档大事:数从哪里来(数域)与多项式如何构成一个可以「除法带余数」的世界(环)。它是通往抽象代数的正式接口,也是下册特征值理论(特征多项式!)的军火库。第五章的「同态基本定理」将在那里第三次现身——这次以「求值同态」与「余数定理」的面孔。
「先问结构,再求解。」
面对 Ax = b,新手立刻动笔消元;成熟的做法是先问三个结构问题:机器把什么压扁了(核)?b 在不在可达范围里(像)?答案彼此相差多少(陪集)?三问答完,解只是把已经看清的形状抄写成坐标。
这句话的普适版在数学各处回响:数论里「先看模什么余,再求原解」;几何里「先看不变量,再认图形」;物理里「先找守恒量,再解运动」。结构优先,不是懒于计算,而是让每一次计算都花在看清的地方。
C1(Sylvester 数值版) 取例 12 的 A(秩 2)与循环移位 B(秩 2),n = 3。验证 rank(AB) = 2 落在区间 [2+2−3, min(2,2)] = [1, 2] 内;再取只留右上角的秩 1 表 B′,验证 rank(AB′) = 1 与下界 2 + 1 − 3 = 0。
C2(维数公式) 证明 dim im(φψ) = dim im ψ − dim(im ψ ∩ ker φ),并以 ψ(a, b) = (a, a, b)、φ(x, y, z) = (x, y) 验证:像交核恰是 span{(0, 0, 1)}(ψ(0,1) = (0,0,1) 在像内且在核内),维数 2 − 1 = 1 = rank(φψ) ✓。
C3(行等价保零空间) 证明行等价的矩阵有相同的零空间,并验证 A =1224与 rref(A) =1200的零空间同为 span{(−2, 1)}。
C4(幂等分解) 证明:P2 = P 时 V = im P ⊕ ker P,且 ker P = im(I − P)。用例 11 的表验证:(I − P)(3, 5) = (−1, 1) 恰落在核里。
C5(复合的账本) 设 φ: V → W, ψ: W → U 皆线性。证明 rank(ψφ) ≥ rank ψ + rank φ − dim W(Sylvester 一般版),并说明它如何把「n 阶方阵」版(例 12)作为特例吞下。
C6(满射分解) 证明:秩为 r 的映射可以写成「满射 + 单射」的复合。提示:先商掉核(满),再同构(单)——同态定理的分解读法。
C7(对偶与秩) 证明 rank A = rank At 可以从「行秩 = 列秩」与对偶视角各讲一遍:行向量在对偶空间里张成的维数,与列向量张成的维数,为何必然相等?
C8(四分账) 设 φ: V → V(V 有限维)。证明 dim ker φ = dim ker φ2 当且仅当 ker φ = ker φ2,并构造一个两者不等的例子(提示:习题课九的幂零 T:核从 1 维涨到 2 维)。
赛 1(陪集算术) 在 ℝ4/U(U = span{(1,0,1,0), (0,1,0,1)},例 8)中计算:(e1 + U) + (e3 + U) = ? 答:e1 + e3 + U = U(零陪集!因为 e1 + e3 ∈ U)——商空间里 «1 + 1 = 0» 式的对账并不神秘,只是「差在核里」。
赛 2(商的同构) 证明 ℝ4/U ≅ ℝ2(例 8 的 U),并给出一个具体同构(提示:把前两个坐标读出来:(x, y, z, w) + U ↦ (x, y);良定性正来自 U 的前两坐标为零)。
赛 3(商空间的商) 设 U ⊆ W ⊆ V。证明 (V/U)/(W/U) ≅ V/W(第三同构定理的线性版),并用维数验证一遍。
赛 4(直和的商) 若 V = U ⊕ W,证明 V/U ≅ W,且映射 w ↦ w + U 是具体的同构。(例 11 的投影恰好就是这条同构的「逆过程的见证者」:像部分住在 W 里。)
赛 5(对偶的商) 证明 (V/U)* ≅ {f ∈ V* : f|U = 0}(商的对偶 = 在 U 上消声的函数全体)。提示:U 里的差别必须读出零,才能在商里良定。
赛 6(计数) 𝔽 = 𝔽2(只有 0 与 1 的域,下册正式介绍)时,ℝ4/U(例 8 的 U)有几个元素? 答:22 = 4 个(维 2 的 𝔽2 空间)——商空间的元素个数 = |V|/|U|,账本连「数数」都管。
解集的维数不是抽象的数字,是肉眼可见的形状。下图把 ℝ3 中非齐次方程组解集的四种典型命运画在同一画面:一个点(满秩钉死)、一条直线(两道约束)、一张平面(一道约束)、全空间(零约束)。
实验任务(纸上可做):① 对例 6 的方程组分别删去第三个方程、删去两个方程,画出解集形状的变化(直线 → 平面 → 全空间?——注意删方程后 b 的约束也要跟着核对相容性);② 对 5.8 主例(4 元 2 独立方程)数出自由度并与图对号;③ 用 4.14 节的程序框架把 ker φ 的基画成箭头,验证「陪集 = 沿箭头滑动的整片」。
〔实验的教益〕消元每划掉一个主元,解集就多长出一个方向。秩不是算出来的分数,是形状的维数——这句话在屏幕上看过一次,就再也不会记错账本的方向。
1.(20 分)设 A =
| 1 | 2 | 0 |
| 1 | −1 | 3 |
| 2 | 1 | 3 |
评讲:第 3 行 = 第 1 行 + 第 2 行,r = 2,账本 3 = 2 + 1;核 = span{(−2, 1, 1)}(代回:−2 + 2 + 0 = 0 ✓;−2 − 1 + 3 = 0 ✓;−4 + 1 + 3 = 0 ✓)。像二维。
2.(30 分)解 Ax = b:A =
| 1 | 1 | 1 |
| 1 | −1 | 2 |
评讲:消元(第 2 行减第 1 行)得 −2y + z = −2;取 z = 0 得特解 (2, 1, 0)(代回 2+1+0 = 3 ✓;2−1+0 = 1 ✓);核 = span{(−3, 1, 2)}(×2 归一自 (−3/2, 1/2, 1))。解集 = ℝ3 中一条仿射直线,方向 (−3, 1, 2),不过原点。
3.(25 分)设 A =
| 1 | 2 |
| 2 | 1 |
| 3 | 3 |
评讲:行 3 = 行 1 + 行 2,r = 2,像 = 平面 {(a, b, a+b)}。(3, 3, 6) 守约(3+3=6)⟹ 有解且唯一(核为零:三行两列秩 2 = 未知数个数);(3, 3, 5) 破约 ⟹ 无解。用结构一句话判定,这正是本章的功夫所在。
4.(25 分)证明:若 P2 = P 且 P ≠ I,则 P 不可逆。
评讲:反设 P 可逆,则 P2 = P 两边左乘 P−1 得 P = I,矛盾。故不可逆 ⟹ 核非零 ⟹ P 压扁某个方向(例 11 的 (1, −1) 就是被压扁的方向)。∎ 另证:幂等且可逆 ⟹ 迹与维数账冲突(tr P = dim im P < dim V)。
〔结业赠言〕满卷的消元在这一章收成了完整的世界图景:核、像、陪集、商空间——四个名字,一套张苍法。第六章我们去多项式与数域的世界办理入境手续;下册,几何的大幕拉开时,可以发现本章的每一个概念都将在旋转、反射与投影里重新照面。
前五章沿着「解方程组」这条明线,走到了线性映射。本章暂时放下方程组,去做两件建档大事:数从哪里来(数域),多项式如何构成一个可以「带余除法」的世界(环)。起点仍是《九章》:少广章的开方术,给出了求 x2 = N 之根的完整程序。
例(开方术) 开方 55 225。《九章》的程序是分层试商:
① 估百位:2 × 2 × 10 000 = 40 000 ≤ 55 225,余 15 225;
② 估十位:(2 × 200 + 30) × 30 = 12 900 ≤ 15 225,余 2 325;
③ 估个位:(2 × 230 + 5) × 5 = 2 325,余 0——方根恰为 235。
这个程序在几何上就是把正方形一层层「割补」出来:先铺一个边长 200 的大方块,再在两条边上补宽 30 的磬折形,最后补角。每一步的算法骨架——先估一层,乘开验证,扣掉余量,再进下一层——与第一章的消元法同出一源:都是「把大问题一层层消小」。
〔明线〕第六份收成 开方术要问的是「x2 − 55 225 = 0 的根」。一旦这样改写,主角就从一个数变成了一个表达式:x2 − 55 225。本章的任务,是给这类表达式建一座代数建筑——加、减、乘、除(带余数)样样可行,整除、分解、求根各有定理。张苍法消的是方程的元,本章消的是多项式的次——「带余除法」就是降次的消元。
开方术对不尽之数(如 √2)的处理是「面」:保留开不尽的层,不再强行化整。刘徽注「凡开积为方……意其此之谓也」已经默认了新数的存在。给新数一个合法的家,就是 6.2 的数域。
多项式的系数取自哪里?根到哪儿去找?这需要一个「四则运算通行无阻」的舞台。
定义 6.1(数域) 复数集的一个子集 𝔽 称为数域,若:
① 0, 1 ∈ 𝔽;② 𝔽 对加、减、乘封闭;③ 任何 a ∈ 𝔽(a ≠ 0)的倒数 1/a ∈ 𝔽。
条件③是门槛:除法必须通行。据此盘点:
| 数集 | 加 | 减 | 乘 | 除(非零) | 是否数域 |
|---|---|---|---|---|---|
| ℕ(自然数) | ✓ | ✗ | ✓ | ✗ | 否(1 − 2 出局) |
| ℤ(整数) | ✓ | ✓ | ✓ | ✗ | 否(1 ÷ 2 出局) |
| ℚ(有理数) | ✓ | ✓ | ✓ | ✓ | 是(最小的数域) |
| ℝ(实数) | ✓ | ✓ | ✓ | ✓ | 是 |
| ℂ(复数) | ✓ | ✓ | ✓ | ✓ | 是(最大的数域) |
定理 6.1(最小数域) 任何数域都包含 ℚ。
证 数域含 0, 1;由加减封闭得全部整数,由除法封闭得全部分数——ℚ 的每个成员都被迫入场。∎
数域不止三个:把 ℚ 添上一个 √2,令 ℚ(√2) = {a + b√2 : a, b ∈ ℚ},可以验证它对四则封闭(例 1 现场操作)——这是一个介于 ℚ 与 ℝ 之间的新舞台。数域是一个可以不断「添砖」的世界,这条线索将在 6.18 结出正果。
为什么非是「域」不可?多项式求根要用系数除系数(消元、求逆都要除)。舞台一旦缺除法(如 ℤ),算法就会半途搁浅——这不是苛求,而是被第一章的算法倒逼出来的条件。
定义 6.2(一元多项式) 数域 𝔽 上的一元多项式是形式表达式
f(x) = anxn + an−1xn−1 + ⋯ + a1x + a0, ai ∈ 𝔽
其中 an ≠ 0 时称 n 为次数,记 deg f = n;an 称首项系数。零多项式(全零)不谈次数;首项系数为 1 的多项式称首一多项式。全体记作 𝔽[x]。
三个字要较真:「形式」。多项式不是函数,x 不代值——(x2 − 1) 与 (x − 1)(x + 1) 作为函数处处相等,但我们认定它们是同一个多项式,依据是展开后系数逐项相同。代数把表达式本身当对象,这正是「结构」的开端。运算按系数进行:
加法:同次对齐逐项相加; 乘法:全配对交叉相乘再合并同类项。
定理 6.2(次数加法) f, g ≠ 0 时,deg(fg) = deg f + deg g。
证 乘积的最高次项只能来自 (anxn)(bmxm) = anbmxn+m,而 𝔽 是域、无零因子,anbm ≠ 0。∎
这条定理的言外之意:𝔽[x] 中两个非零多项式相乘永不为零(没有零因子),于是「次数」这个尺子永远好用——它是 6.4 带余除法成立的地基。反观系数取自 ℤ/6(模 6 剩余类)时,2 · 3 = 0,零因子出没,次数公式失灵——舞台的品质决定建筑的高度。
〔现代性〕𝔽[x] 是一座环 「加、减、乘封闭 + 结合、交换、分配律成立」——𝔽[x] 与整数 ℤ 满足同一张法律清单。凡持此清单的代数系统称为环。ℤ 与 𝔽[x] 将在本章并肩而行:辗转相除、算术基本定理、唯一分解,逐条平移。6.17 给这段平行关系一个统一的名字。
定义 6.3(整除) f, g ∈ 𝔽[x],g ≠ 0。若存在 h 使 f = gh,称 g 整除 f,记 g | f。
定理 6.3(带余除法) 对任意 f, g ∈ 𝔽[x](g ≠ 0),存在唯一的 q, r 使
f = qg + r, 其中 r = 0 或 deg r < deg g
(q 称商,r 称余式。)
唯一性是灵魂:假如有两套 q, r,相减得 (q1 − q2)g = r2 − r1;右边若非零则次数低于 deg g,左边若非零则次数不低于 deg g——两头夹死,只能全零。∎
算法就是逐次消最高次项:用首项配对消去 f 的首项,次数立刻下降;重复到次数低于 g 为止。这与第一章的消元一模一样——消元消「元」,这里消「次」。
验算 (x − 1)(x2 + x) + (−2x + 1) = (x3 + x2) − (x2 + x) − 2x + 1 = x3 − 3x + 1 ✓(逐项核对无误)。
〔明线〕余式定理的伏笔 取 g = x − a 这个一次特例:除式只有一次,余式 r 只能是常数;代 x = a 进 f = q(x − a) + r,得 r = f(a)。余式 = 在 a 处的取值——这条一眼看穿的等式(6.9 的余式定理)是「求根」与「因式分解」之间的一座桥。
定义 6.4(公因式与最大公因式) d | f 且 d | g,称 d 是 f, g 的公因式;公因式中次数最高者称最大公因式,约定取首一的那个,记 gcd(f, g)(「首一」是为了唯一:公因式差一个非零常数倍算同一个)。
怎么求?辗转相除——把 ℤ 里的辗转相除(欧几里得《原本》卷七)原样搬进 𝔽[x]:
f = q1g + r1 → g = q2r1 + r2 → r1 = q3r2 + r3 → ⋯
每一步余式次数严格下降,而次数是非负整数、降不到负——有限步内余式必为零,最后一个非零余式就是 gcd。「次数单调下降」在 𝔽[x] 中扮演的,正是「余数单调下降」在 ℤ 中的角色。
例 f = x3 − 1,g = x2 − 1:
x3 − 1 = x · (x2 − 1) + (x − 1); x2 − 1 = (x + 1)(x − 1) + 0
末个非零余式为 x − 1,故 gcd = x − 1(验证:x3 − 1 = (x − 1)(x2 + x + 1),x2 − 1 = (x − 1)(x + 1) ✓)。
定理 6.4(Bézout 恒等式) 存在 u, v ∈ 𝔽[x] 使 uf + vg = gcd(f, g)。
证(骨架) 把辗转相除的每条余式从下往上回代:r1 = f − q1g,r2 = g − q2r1 = −q2f + (1 + q1q2)g……每个余式都是 f, g 的组合,末个非零余式当然也是。∎(与整数版的 Bézout 一字不差。)
比较两条腿走路:整数论里「余数下降」靠 0 ≤ r < |b|;多项式环里「次数下降」靠 deg r < deg g。把「大小」换成「次数」,整数的全部除法算术就能整体平移——这就是 6.17 将要提炼的「欧氏环」概念。
定义 6.5(互素) 若 gcd(f, g) = 1,称 f 与 g 互素。
定理 6.5(互素的刻划) f, g 互素 ⟺ 存在 u, v 使 uf + vg = 1。
例 f = x2 + 1 与 g = x2 − 1:一个根都没有公共的(±i 对 ±1),直觉互素;Bézout 给出证书
½ · (x2 + 1) + (−½) · (x2 − 1) = 1 ✓
互素的三条推论,条条是利器:
| 命题 | 内容 | 一句话理由 |
|---|---|---|
| ① 消去律 | (f, g) = 1 且 f | gh ⟹ f | h | uf + vg = 1 两边乘 h:ufh + vgh = h,左两项都被 f 整除 |
| ② Euclid 引理 | p 不可约,p | gh ⟹ p | g 或 p | h | 不可约的因式只有 1 与自身:(p, g) = 1 时用 ① |
| ③ 传递 | (f, g) = 1,(f, h) = 1 ⟹ (f, gh) = 1 | 两条 Bézout 证书相乘再整理 |
「不可约」与「互素」的分工要拎清:互素是两个多项式之间的关系(无公因式);不可约是一个多项式内部的性质(不能分解)。Euclid 引理把它们焊在一起——正是这枚焊点,让「分解唯一」成为定理而非心愿。
定义 6.6(不可约) p ∈ 𝔽[x] 次数 ≥ 1,若它只能写成 1 级分解(自身 × 非零常数),称 p 不可约;否则可约。
不可约性依赖于舞台:x2 + 1 在 ℝ 上不可约,在 ℂ 上却等于 (x − i)(x + i)——同一个人,换一个域就「可约」了。所以谈不可约必须先声明系数域。
定理 6.7(因式分解唯一性) 𝔽[x] 中每个次数 ≥ 1 的多项式都能分解为首一不可约因式之积;且若不计因式次序,这种分解是唯一的:
f = c · p1e1 · p2e2 ⋯ pkek(pi 互不相同的首一不可约式,ei ≥ 1)
证(两步骨架) 存在性:对次数归纳——要么 f 已不可约,要么 f = gh 且两个真因式次数都更低,归纳拆到底。唯一性:两种分解对照,用 Euclid 引理(推论②)逐个把左边的 pi 灌进右边的某个 qj 里,次数相同又都首一,只能相等。∎
这就是多项式版的算术基本定理。ℤ 与 𝔽[x] 的平行表值得抄一遍:
| 概念 | ℤ(整数) | 𝔽[x](多项式) |
|---|---|---|
| 基本砖块 | 素数 2, 3, 5, … | 不可约多项式 |
| 除法 | 带余除法,余数 < |b| | 带余除法,deg r < deg g |
| 求 gcd | 辗转相除 | 辗转相除(一模一样) |
| Bézout | uf + vg = gcd(f, g) | uf + vg = gcd(f, g) |
| 分解定理 | 算术基本定理 | 定理 6.7 |
| 唯一性引擎 | 素数不劈叉 | Euclid 引理 |
〔下册接口〕下册的特征值理论要把矩阵 A 的全部秘密锁进它的特征多项式;能锁定,靠的正是本章:特征多项式有唯一分解,每个不可约因子对应一类「若尔当块」。本章是下册军火库的第一批弹药。
分解式里可能出现同一个不可约因式多次:(x − 1)2(x + 2) 里的 (x − 1) 出现两次。怎么不分解就探出这种重复?工具是一个初等的对象——形式导数。
定义 6.7(形式导数) 对 f = anxn + ⋯ + a0,定义
f′ = n·anxn−1 + (n−1)·an−1xn−2 + ⋯ + a1
加减乘的求导规则((f+g)′ = f′ + g′,(fg)′ = f′g + fg′)逐条验证成立。注意:这是纯代数定义,没有极限、没有切线——它只是「系数右移一位再降幂」的机械操作。
判别重因式的原理一句话:对 (x − a)k 求导,重数恰好掉一层(k ≥ 1 时 [(x − a)k]′ = k(x − a)k−1)。于是:
定理 6.8(重因式判别) 不可约式 p 是 f 的 k 重因式(k ≥ 1)⟹ p 是 f′ 的 k − 1 重因式。特别地:
f 无重因式 ⟺ gcd(f, f′) = 1
判断有无重因式因此不必分解:一次辗转相除(f 对 f′)即可。
例 f = x3 − 3x + 2:f′ = 3x2 − 3。辗转: x3 − 3x + 2 = (x/3)(3x2 − 3) + (−2x + 2); 3x2 − 3 = (−3x/2 − 3/2)(−2x + 2) + 0。故 gcd = x − 1(首一),有重因式;真分解 f = (x − 1)2(x + 2) 印证:重因式正是 x − 1。
例(重数读数) f = x5 − 2x4 = x4(x − 2):f′ = 5x4 − 8x3 = x3(5x − 8),gcd(f, f′) = x3——x 在 f′ 中是 3 重,在 f 中便是 3 + 1 = 4 重 ✓(恰是定理 6.8 的读数规则)。
微积分的求导在分析里是「变化率」,在代数里是「重数探测仪」——同一个符号公式,两副面孔。这是 5.2「微积分与代数握手」的第二次握手:第一次是求导的线性,这一次是求导的降重数。
定义 6.8(根) a ∈ 𝔽 使 f(a) = 0,称 a 是 f 在 𝔽 中的根;若 (x − a)k | f 而 (x − a)k+1 ∤ f,称 a 为 k 重根。
定理 6.9(因式定理) a 是 f 的根 ⟺ (x − a) | f。
证 带余除法:f = q(x − a) + r,r 为常数。代 x = a:f(a) = r。f(a) = 0 ⟺ r = 0 ⟺ (x − a) | f。∎(6.4 埋的伏笔在此兑现。)
定理 6.10(根数上界) n 次多项式在 𝔽 中的根(计重数)至多 n 个。
证 每个根 ai 贡献一个一次因式 (x − ai),次数加起来不能超过 n(定理 6.2 的次数账本)。∎
推论(插值唯一性):次数 ≤ n 的多项式由 n + 1 个横坐标互异的点值唯一确定——若有两个都过这些点,其差有 n + 1 个根而次数 ≤ n,只能恒为零。第五章例 5 的求值同构 p ↦ (p(−1), p(0), p(1)) 之所以可逆,根子在此。
〔明线〕解方程的代数化 《九章》开方术面对的是「求出那个数」;因式定理把问题改写成「摘下全部一次因式」。从此解方程 = 分解多项式——方程论升格为多项式理论,这正是 6.10 起三节(复、实、有理系数)逐一展开的路线图。
根数上界(定理 6.10)还送一枚小心思:多项式相等的新判据——两个次数 ≤ n 的多项式只要在 n + 1 个互异点取值相同就恒等。第六章开头我们坚持「形式相等」(系数逐项相同),现在看到:在足够多的点上表现一致的形式,本来就同一个。形式与函数,在此和解。
把舞台换成最大的 ℂ,分解问题一步到位。
定理 6.11(代数基本定理) 任何 n ≥ 1 次复系数多项式在 ℂ 中至少有一个根。
推论(连摘因式):摘掉一个一次因式,剩下的还是 n − 1 次复系数多项式,继续摘……于是 n 次复系数多项式在 ℂ 中恰有 n 个根(计重数),且复系数不可约多项式只有一次。复系数上的标准分解:
f = c · (x − a1)e1 ⋯ (x − ak)ek, e1 + ⋯ + ek = n
代数基本定理的第一个证明是高斯 1799 年的博士论文(此前达朗贝尔、欧拉、拉格朗日的尝试各有漏洞);高斯一生前后给出四个证明,今天分析课上的「幅角原理」版本是第四个的直系后代。定理名字里的「代数」,其实是解析的胜利——纯代数无法自证:多项式的连续性与复平面的完备性都借自分析。
注意定理说的是「至少一个根」而不是「都能写出来」:五次方程 x5 − x − 1 = 0 的根存在且共五个,但没有根式公式(阿贝尔—伽罗瓦,下册回望)。存在性与可计算性是两回事——这条分界线是十九世纪代数学最大的觉悟之一。
实系数多项式的复根不散乱,而是成对共轭:
定理 6.12(共轭根定理) f ∈ ℝ[x],若 a + bi(b ≠ 0)是根,则共轭 a − bi 也是根,且重数相同。
证(一行) 共轭是保运算的:加、减、乘各走一步取共轭都不越界,而系数全实、取共轭不动。于是对 f(a + bi) = 0 两边取共轭,得 f(a − bi) = 0。∎
成对出现的共轭根对应的因式相乘:
(x − a − bi)(x − a + bi) = (x − a)2 + b2 = x2 − 2ax + (a2 + b2)
这是实系数的二次式,判别式 4b2 < 0,在 ℝ 上不可约。于是实系数的标准分解只有两种砖:
定理 6.13(实不可约分类) ℝ 上的不可约多项式只有两类:一次式 x − a;判别式小于零的二次式 x2 + px + q(p2 − 4q < 0)。
例 x3 − 1 = (x − 1)(x2 + x + 1):实根只有 1;另外两根是 −½ ± (√3/2)i,恰成共轭对,合起来贡献实不可约二次 x2 + x + 1(判别式 −3 < 0)。三份账对齐:1 + 2 = 3 个根。
〔几何接口〕实数轴上看二次 实二次不可约 ⟺ 抛物线与横轴不相交(判别式 < 0)⟺ 它的两个根「藏在复数里」。下一册讲二次型时,「正定 ⟺ 没有实零点」用的正是这枚判据的推广——椭圆不穿原点,双曲线穿。代数的判别式与几何的相交,一条线索。
有理系数的分数让计算蓬头垢面。一个老办法:通分提出公分母,把分数洗成整数。
定义 6.9(本原多项式) 整系数多项式的系数(全取)最大公约数称容量;容量为 1 的称本原多项式。如 6x2 − 5x + 1 本原(容量 1),4x2 − 4x + 1……也本原;而 6x2 − 6 容量 6,非本原。
任何非零有理系数多项式都能写成「正有理数 × 本原多项式」:f = c · f0(c 提公因子,f0 本原)。于是 ℚ[x] 的分解问题完全化归为 ℤ[x] 的分解问题——只需一条桥:
定理 6.14(高斯引理) 两个本原多项式之积仍本原。
证(骨架) 反证:若积 fg 的全部系数被素数 p 整除,取最小下标 i 使 p ∤ ai(f 的系数)、最小下标 j 使 p ∤ bj(g 的系数)——两者必存在(f, g 本原)。积的 (i + j) 次系数是 aibj 加上一堆「至少一方被 p 整除」的交叉项,于是 p | aibj——但 p 是素数且 p ∤ ai, p ∤ bj,矛盾(整数版 Euclid 引理)。∎
例(引理现场) (2x + 3)(3x − 2) = 6x2 + 5x − 6:两个因子本原,积的容量 gcd(6, 5, 6) = 1 ✓。反例面:(2x + 2)(3x − 3) = 6x2 − 6,因子不本原,积果然不本原——引理的「本原」前提用在了刀刃上。
定理 6.15(ℚ 分解可整化) 有理系数多项式在 ℚ 上可约 ⟺ 提常数后对应的本原多项式在 ℤ 上可约(分解成两个低次整系数多项式)。
从此谈有理系数分解,眼睛只看整数:分数只是噪音,结构在整数里。例 9 给一次完整的洗牌演示。
这条化归路数在数学里反复出现:把带分数的世界(ℚ)压回整数世界(ℤ)做结构分析,再把结论翻译回去。换一个更「整」的代表元系,而不改变对象本身——四个月前是「每个有理数有唯一既约分数」,今天是「每个有理系数多项式有唯一本原代表」,将来是模空间的「规范化」。同一门手艺。
有没有一键判定「不可约」的试金石?有——条件全在系数的整除性上。
定理 6.16(Eisenstein 判别法) 整系数多项式
f(x) = anxn + ⋯ + a1x + a0
若存在素数 p 满足:① p ∤ an(首项幸免);② p | ai(其余系数全被整除,i < n);③ p2 ∤ a0(常数项只被整除一次)——则 f 在 ℚ 上不可约。
证(思路) 反设分解 f = gh。条件②③在「模 p」的世界里把 f 压成 anxn,于是 g, h 模 p 都只能是常数 × 幂次;数一常数项的 p 配额:g, h 的常数项各含一个 p,则 p2 | a0,与条件③矛盾。∎
例 x5 − 2:取 p = 2。① 2 ∤ 1 ✓;② 中间系数全 0、常数 −2 皆被 2 整除 ✓;③ 4 ∤ −2 ✓。不可约——顺带得出 5√2 是无理数。
例(平移技巧) x4 + 1 直接看不出,平移一下:(x + 1)4 + 1 = x4 + 4x3 + 6x2 + 4x + 2,取 p = 2:三条全部通过 ⟹ (x + 1)4 + 1 不可约 ⟹ x4 + 1 不可约(若它能分解,平移后也能)。换原点,换视野——这是本题最优雅的一招。
〔明线〕素性检验的算筹回声 Eisenstein 判别法的三条全在问「能不能被 p 整除」——与《九章》「约分术」里求最大公约数的可除性检查一脉相承。整除性是算术的听诊器,从自然数、整数一路听到多项式,都好用:因为 ℤ 与 𝔽[x] 是同一座环(6.17 正式盖章)。
定理 6.17(有理根定理) 整系数 f(x) = anxn + ⋯ + a0。若既约分数 p/q 是根(p, q 整数,gcd(p, q) = 1,q > 0),则
p | a0, q | an
证(两行) 代 x = p/q 乘以 qn:anpn + an−1pn−1q + ⋯ + a1pqn−1 + a0qn = 0。除首项外每项含 q ⟹ q | anpn,而 gcd(p, q) = 1 ⟹ q | an;对称地看末项得 p | a0。∎
用场:候选根只有有限个——分子候选是 a0 的因子,分母候选是 an 的因子,全部列出来逐个代值。
例 f = 2x3 − x2 − 1:a0 = −1 的因子 ±1,a3 = 2 的因子 1, 2,候选 ±1, ±½。代值:f(1) = 0 ✓(中签),f(−1) = −4,f(±½) ≠ 0。摘因式:f = (x − 1)(2x2 + x + 1);剩下的二次判别式 −7 < 0,在 ℚ、ℝ 上都不再可约——分解收官。
〔方法论〕两把尺子的分工 有理根定理只管一次因式(线性探针),探不出的不代表不可约——x4 + 4 = (x2 − 2x + 2)(x2 + 2x + 2) 可约却无有理根。整块「不可约」的判定要靠 Eisenstein(6.13)。局部探针与整体判据配合使用,是处理不可约性的标准姿势。
一个未知数不够用了:x2 + 2xy + y2 有两个元,x1 + x2 + x3 有三个。多元多项式的定义与一元平行:单项式的和,单项式 = 系数 × 字母的幂积(如 5x12x3)。没有单一的「次数」,但有每个单项式的全次数(各字母指数之和)与整体的排序问题——通常用字典序:先比 x1 的指数,再比 x2……像查词典。
定义 6.10(对称多项式) n 元多项式 f 若对字母的任何置换不变(x1 ↔ x2 等任意对调后逐项不变),称对称多项式。
x1 + x2 + x3、x1x2 + x2x3 + x3x1、x12x2 + x1x22 + ⋯ 都对称;x12 + 2x2 不对称(对调 x1, x2 就变了)。对称多项式的构造原料取最精简的一组:
定义 6.11(初等对称多项式) 对 n 个字母 x1, …, xn:
σ1 = x1 + ⋯ + xn(全部一元之和)
σ2 = x1x2 + x1x3 + ⋯ + xn−1xn(全部二元之积的和)
……
σn = x1x2⋯xn(全部之积)
以 n = 3 为例:σ1 = x1 + x2 + x3,σ2 = x1x2 + x2x3 + x3x1,σ3 = x1x2x3。它们自己当然对称;惊人之处在于反过来,任何对称多项式都能由它们组装(6.16)。
〔明线〕对称是方程的内置档案 把 f(x) = an(x − r1)⋯(x − rn) 展开、比较系数,会看到 r1 + ⋯ + rn = −an−1/an,r1r2 + ⋯ = an−2/an……(韦达定理,6.16 推论)。根的全部对称信息,恰恰就是 σ1, …, σn——方程不看个别的根,只看它们的对称统计。这一视角是伽罗瓦理论的起点之一。
定理 6.18(对称多项式基本定理) 任何 n 元对称多项式 f 都能唯一地表示为初等对称多项式的多项式:
f = g(σ1, σ2, …, σn), g ∈ 𝔽[y1, …, yn] 唯一
存在性的算法:按字典序取 f 的首项,用最靠前的 σ 去消它,循环。唯一性靠「σ 的不同单项式首项互不相同」。φ(x) = an(x−r1)⋯(x−rn) 的展开正是此定理的登场舞台:根的对称函数全部落在 σ 的语言里。
例(平方和) x12 + x22 + x32 对称。配方:(x1 + x2 + x3)2 = x12 + x22 + x32 + 2(x1x2 + x2x3 + x3x1),移项:
x12 + x22 + x32 = σ12 − 2σ2
代 (1, 2, 3) 验算:1 + 4 + 9 = 14,而 σ12 − 2σ2 = 36 − 22 = 14 ✓。
推论 6.19(韦达定理) f(x) = anxn + ⋯ + a0 = an(x − r1)⋯(x − rn) 时:
σ1(r) = −an−1/an, σ2(r) = an−2/an, σ3(r) = −an−3/an, …, σn(r) = (−1)n a0/an
符号一正一负交替——展开时每个根贡献一个 (−r) 的痕迹。
〔下册接口〕特征值的预习 下册将定义 A 的特征多项式 det(xI − A),其根是特征值。韦达定理立刻给出:特征值之和 = 迹,特征值之积 = 行列式。本章的对称多项式是那两句漂亮公式的出生证明。
本章一直在做「整数算术的平移」——现在给这种平行关系一个名字。先收网:把「由 f 生成的全部倍式」钉成一个对象。
定义 6.12(理想与主理想) R 是交换环。子集 I ⊆ R 称理想,若它对加减封闭、且任取 r ∈ R, i ∈ I 有 ri ∈ I(被全环「吸」着乘)。由单个元素生成 (f) = {fg : g ∈ R} 称主理想。
例 𝔽[x] 中 (x) = 一切被 x 整除的多项式 = 常数项为零的那些(f(0) = 0 的判据)。(x2 + 1, x − 1)(两条生成的理想)其实等于 (1) = 𝔽[x] 整个环——因为 x2 + 1 = (x + 1)(x − 1) + 2,辗转一步 gcd = 1:两条生成的理想,也能是一条生成的。
定理 6.20(升网) 带余除法 ⟹ 𝔽[x] 的每个理想都是主理想(主理想环):取理想中次数最小的成员 d,对任一 f ∈ I 作带余除法 f = qd + r,则 r = f − qd ∈ I 且次数更低——只能 r = 0,故 I = (d)。∎
「次数」在 𝔽[x] 里提供的这套下降机制(除法→辗转→Bézout→主理想→分解唯一),与「绝对值」在 ℤ 里提供的完全同构。把「次数/绝对值」抽象成一把公用的尺(欧氏函数),就得到一张层级网:
〔现代性〕公理化收网 本章前十六节看似在算题,实则每节都在给「环」这座抽象建筑添砖:6.3 环、6.4 除法尺、6.5 碾转、6.7 唯一分解、6.17 理想。具体计算是脚手架,抽象结构是建筑本体——诺特与戴德金正是这样把数论升华为环论与理想论的(札记②)。
最后一件大事:造新的数域。工具是「模 f 同余」——多项式版的钟表算术。
定义 6.13(模 f 同余) f, g 除以 m 余式相同(f − g ∈ (m)),称 f ≡ g (mod m)。每个同余类恰有唯一代表:次数 < deg m 的余式。余式的四则就是商环 𝔽[x]/(m) 的四则——乘开后凡遇 m 就换成 0。
例(复数是造出来的) ℝ[x]/(x2 + 1):代表元形如 a + bx;乘法遇 x2 就用 x2 ≡ −1 替换:
(3 + 2x)(1 − 5x) = 3 − 13x − 10x2 ≡ 13 − 13x (mod x2 + 1)
对照复数:(3 + 2i)(1 − 5i) = 13 − 13i ✓。把 x 改名叫 i,它就是复数——ℂ 不是天上掉下来的,是 ℝ[x] 模掉 x2 + 1 造出来的。
定理 6.21(商环造域) 𝔽[x]/(p) 是域 ⟺ p 不可约。
证(思路) 非零代表元 g(次数低于 p、非零)与不可约的 p 必互素,Bézout 给出 ug + vp = 1,在商环里就是 u·g = 1——每个非零元有逆。∎(不可约性的全部用场在兑现倒数。)
例(四元域) 𝔽2[x]/(x2 + x + 1)(系数只有 0, 1):x2 + x + 1 在 𝔽2 上无根(0, 1 代入均非零)⟹ 二次不可约 ⟹ 得四元域 {0, 1, x, x + 1}。算一张乘法:x(x + 1) = x2 + x ≡ 1(模 x2 + x + 1,且模 2 下 −1 = 1)——x 的倒数就是 x + 1。
〔上册收官〕六份收成,一条明线 从《九章》布式出发:消元解方程(第一章)→ 矩阵(第二章)→ 行列式(第三章)→ 线性空间(第四章)→ 线性映射(第五章)→ 本章把「数」本身也要了个说法:数域是运算的舞台,多项式是环,商环造新域。「方程问题」至此彻底升格为「结构问题」——下册相邻领域将在结构的地基上盖楼:特征值、相似标准形、二次型、欧氏空间。
例 1 判断下列集合是否数域:① ℚ(√2) = {a + b√2 : a, b ∈ ℚ};② {a + b∛2 : a, b ∈ ℚ}。
解 ① 四则逐项过:加、减显然封闭;乘法
(a + b√2)(c + d√2) = (ac + 2bd) + (ad + bc)√2
系数仍是(有理数的)四则,封闭 ✓。倒数:a + b√2 ≠ 0 时(a, b 不全为零,且 √2 无理保证 a2 − 2b2 ≠ 0),
(a + b√2)−1 = (a − b√2) / (a2 − 2b2)
分子分母都合法(分母非零、分子形状相同)✓。是数域。验一个:1/(2 + √2) = (2 − √2)/2,代回乘开等于 1 ✓。
② 乘法就翻车:(1 + ∛2)2 = 1 + 2∛2 + ∛4——多出 ∛4 = (∛2)2 这一层,而集合里只有 ∛2 的一次项。由于 1, ∛2, ∛4 在有理数上线性无关(否则 ∛2 是二次根,矛盾),∛4 写不成 a + b∛2。连乘法都不封闭,不是数域。
方法论 数域判定三步:先查 0, 1 与加减(通常显然),再拿两个一般元素做乘法(最易露馅),最后专项攻倒数。例②的病根:添一块「砖」时,它的幂次也跟着进来了——想添 ∛2 就得连 ∛4 一起添(ℚ(∛2) 的真身是三维的 {a + b∛2 + c∛4},那才是域)。这是 6.18 商环观点的预告。
例 2 求 f = x4 − 2x3 + 3x2 − x + 1 除以 g = x2 − x + 1 的商与余式。
解 首项配对逐层消:
第一轮:x4 ÷ x2 = x2,x2 · g = x4 − x3 + x2,扣除后余 −x3 + 2x2 − x + 1;
第二轮:−x3 ÷ x2 = −x,(−x) · g = −x3 + x2 − x,扣除后余 x2 + 1;
第三轮:x2 ÷ x2 = 1,1 · g = x2 − x + 1,扣除后余 x。
余式次数 1 < 2,收工:
f = (x2 − x + 1) · g + x, 商 q = x2 − x + 1,余 r = x
有趣的结构:q = g 自己!即 f = g2 + x——验算:(x2 − x + 1)2 + x = x4 − 2x3 + 3x2 − 2x + 1 + x = x4 − 2x3 + 3x2 − x + 1 ✓。
方法论 带余除法三条纪律:①每轮只用首项配对(别拿整式去乘);②扣除时全式变号;③终止条件是「次数低于除式」而不是「余式为 0」。全程保持降序书写(缺次补 0),是竖式不出错的保险丝。
例 3 求 gcd(x3 − 1, x2 − 1),并写出 Bézout 证书。
解 辗转两步(6.5 已算):x3 − 1 = x(x2 − 1) + (x − 1),x2 − 1 = (x + 1)(x − 1) + 0。末个非零余式 x − 1 首一,故 gcd = x − 1。
回代写证书:x − 1 = (x3 − 1) − x(x2 − 1),即
1 · (x3 − 1) + (−x) · (x2 − 1) = x − 1
验算:x3 − 1 − x3 + x = x − 1 ✓。分解视角复核:x3 − 1 = (x − 1)(x2 + x + 1),x2 − 1 = (x − 1)(x + 1),公共部分恰 x − 1(注意 x2 + x + 1 与 x + 1 无公共因式)✓。
方法论 ①gcd 约定首一:辗转出的余式差个非零常数倍时,除一下配成首一;②Bézout 证书从最后一条余式倒着回代,辗转几步就回代几步——这也是判互素最快通道:证书凑出常数 1 即互素(例 4 立刻用)。
例 4 ① 证明 x2 + 1 与 x2 − 1 互素并给证书;② 已知 (f, g) = 1 且 f | g2h,证明 f | h。
解 ① 根的世界对账:x2 + 1 的根 ±i,x2 − 1 的根 ±1,无交集(两个二次若有公共因式必是一次公共因式、即公共根)。证书现场凑:
½(x2 + 1) − ½(x2 − 1) = ½ · 2 = 1 ✓
② 互素证书:uf + vg = 1。两边乘 h:ufh + vgh = h。第一项被 f 整除(显含 f);第二项里 f | g2h,更被 f 整除。两项之和 h 被 f 整除。∎
注意②就是消去律(6.6 推论①)的直接应用:互素 = 拿到一张「f 的倍数性质可以穿透 g 的阻挡」的通行证。它正是分解唯一性里「不可约因式不劈叉」的动力源。
证书思维值得驻足:「互素」是个存在性命题(找不到公共因式),但 Bézout 把它兑换成一张看得见摸得着的证书 uf + vg = 1。证明②时根本没碰 gcd 本身,全靠证书代数变形——把性质兑换成等式,等式比性质好算。数学证明的高招大抵如此。
例 5 在 ℚ、ℝ、ℂ 上分解 ① x4 − 1;② x4 + 4。
解 ① 两次平方差:
x4 − 1 = (x2 − 1)(x2 + 1) = (x − 1)(x + 1)(x2 + 1)(ℚ、ℝ 上相同)
ℂ 上再裂一层:x2 + 1 = (x − i)(x + i),共四个一次因式,四根 ±1, ±i。
② 直接配方(索菲·热尔曼恒等式):添 4x2 再减去:
x4 + 4 = x4 + 4x2 + 4 − 4x2 = (x2 + 2)2 − (2x)2 = (x2 − 2x + 2)(x2 + 2x + 2)
ℚ、ℝ 上到此为止(两个二次判别式都是 4 − 8 = −4 < 0);ℂ 上再裂成 (x − 1 − i)(x − 1 + i)(x + 1 − i)(x + 1 + i)——四个根是 1 ± i, −1 ± i,恰成两对共轭(定理 6.12 的现场演示)。
方法论 分解问题先问舞台:同一个多项式在不同域上的「最难拆层」不同——ℚ/ℝ 看判别式,ℂ 上必拆到底(代数基本定理)。平方差、添项配方是低次分解的两把常备小刀;更高次则交给 Eisenstein 与有理根定理(例 7、例 8)。
例 6 ① f = x3 − 3x + 2 有无重因式?有的话求出来。② g = x5 − 2x4 中 x 的重数是多少?
解 ① f′ = 3x2 − 3。辗转(6.8 已列):f = (x/3)f′ + (−2x + 2),f′ = (−3x/2 − 3/2)(−2x + 2) + 0。末个非零余式 −2x + 2 = −2(x − 1),首一化得 gcd(f, f′) = x − 1 ≠ 1——有重因式,且就是 x − 1。真分解:f = (x − 1)2(x + 2)(展开:x3 − 2x2 − x + 2?——展开 (x−1)2(x+2) = (x2 − 2x + 1)(x + 2) = x3 + 2x2 − 2x2 − 4x + x + 2 = x3 − 3x + 2 ✓)。x − 1 二重、x + 2 单重。
② g = x4(x − 2),g′ = 5x4 − 8x3 = x3(5x − 8)。gcd(g, g′) = x3——x 在 g′ 中 3 重,在 g 中就是 3 + 1 = 4 重 ✓(与直接观察一致)。
方法论 重因式探测两步走:求 f′,再求 gcd(f, f′)。gcd 的每个不可约因子都是重因式;它在 gcd 里的重数 = 在 f 里的重数 − 1。全程不需要分解 f——这正是「结构先于计算」的一例:用一次辗转相除换掉一整套试根工作。
例 7 在 ℚ 上分解 f = 2x3 − x2 − 1。
解 候选根(有理根定理):分子取 a0 = −1 的因子 ±1;分母取 a3 = 2 的因子 1, 2。候选 ±1, ±½。代值:
f(1) = 2 − 1 − 1 = 0 ✓; f(−1) = −2 − 1 − 1 = −4; f(½) = ¼ − ¼ − 1 = −1; f(−½) = −¼ − ¼ − 1 = −3/2
只有 1 中签。摘一次因式:综合除法(系数 2, −1, 0, −1 逐层带 1 下来)得商 2x2 + x + 1,即 f = (x − 1)(2x2 + x + 1)。剩余二次判别式 1 − 8 = −7 < 0:在 ℚ、ℝ 上均不可约。分解收官(ℂ 上它再裂成 2(x − ω)(x − ω̄),ω = (−1 ± i√7)/4)。
方法论 有理域分解流程:①有理根定理列候选(有限个);②代值筛根;③综合除法摘因式;④剩余部分查 Eisenstein 或判别式定夺。注意流程的边界:三次多项式若无有理根则直接不可约(三次若可约必含一次因式);四次及以上「无根」不等于「不可约」——例 5 ② 的 x4 + 4 是现成的反例。
例 8 证明 x5 − 2 与 x4 + 1 都在 ℚ 上不可约。
解 ① x5 − 2:取 p = 2。①式 2 ∤ 1 ✓;②式其余系数(全为 0,除常数 −2)皆被 2 整除 ✓;③式 4 ∤ −2 ✓。三关全部通过,不可约。附赠品:若 5√2 = p/q(既约),则 x5 − 2 有有理根,与不可约矛盾——5√2 是无理数。
② x4 + 1:系数 (1, 0, 0, 0, 1) 对任何素数都过不了②式(中间系数 0 虽被整除,首项与常数都是 1,②③总有一条不满足)。平移换视野:
(x + 1)4 + 1 = x4 + 4x3 + 6x2 + 4x + 2
((x + 1)4 = x4 + 4x3 + 6x2 + 4x + 1,加 1 得上式。)取 p = 2:① 2 ∤ 1 ✓;② 2 | 4, 6, 4, 2 ✓;③ 4 ∤ 2 ✓。平移后的式子不可约。若 x4 + 1 = g(x)h(x) 是真分解,代入 x ↦ x + 1 得 (x + 1)4 + 1 = g(x + 1)h(x + 1) 也是真分解(次数都没变)——矛盾。故 x4 + 1 不可约。
方法论 Eisenstein 失灵时的两手:①换素数多试几个;②平移 x ↦ x + 1(或 x + c)再试——不可约性在平移下不变,而系数整除面貌焕然一新。②是高次不可约证明的常用暗门,例 12 还有一版不用判别法的对照系数证明可对照。
例 9 ① 求 6x2 − 5x + 1 的容量并在 ℚ 上分解;② 叙述并用例证演示高斯引理的「本原前提」用在哪里。
解 ① 系数 6, −5, 1 的最大公约数为 1,容量 1,已是本原。分解(有理根候选 ±1, ±½, ±⅓, ±⅙):试 ½:6·¼ − 5/2 + 1 = 3/2 − 5/2 + 1 = 0 ✓;试 ⅓:6/9 − 5/3 + 1 = 2/3 − 5/3 + 1 = 0 ✓。两根齐:
6x2 − 5x + 1 = (2x − 1)(3x − 1)(展开:6x2 − 2x − 3x + 1 = 6x2 − 5x + 1 ✓)
注意两个因子都本原(容量各 1)——有理分解在 ℤ 上就能完成,一分钱分数不用借。
② 高斯引理说本原 × 本原 = 本原。正面例:(2x + 3)(3x − 2) = 6x2 + 5x − 6,容量 gcd(6, 5, 6) = 1 ✓。反面例(前提不满足):(2x + 2)(3x − 3) = 6x2 − 6——因子容量 2 与 3,积果然不本原(容量 6)。引理失效的原因恰好被前提拦住:非本原因子各揣一块素数「私货」,相乘时私货合流;本原因子身无分文,积自然干净。证明里的关键一步正是素数 p 对 aibj 的 Euclid 引理。
〔明线〕约分术的环论版 《九章》约分术「可半者半之,不可半者,副置分母子之数,以少减多,更相减损」——求最大公约数、化为既约。本原化就是多项式版的「既约」:提出容量、留下本原代表。两千年前约分数,今天约多项式,同一把更相减损的刀。
例 10 把下列对称多项式表成 σ1, σ2, σ3 的多项式(n = 3),并代 (x1, x2, x3) = (1, 2, 3) 验算:
① x12 + x22 + x32; ② x12x2 + x12x3 + x22x1 + x22x3 + x32x1 + x32x2。
解 ① 配方:σ12 = (x1 + x2 + x3)2 = (x12 + x22 + x32) + 2σ2,故
x12 + x22 + x32 = σ12 − 2σ2 验算:14 = 36 − 22 ✓
② 先看 σ1σ2 = (x1 + x2 + x3)(x1x2 + x2x3 + x3x1):展开后除了目标 ② 的六项,还混进三次齐次项 3x1x2x3 = 3σ3。故
②式 = σ1σ2 − 3σ3 验算:左边 = 5 + 16 + 27 = 48,右边 = 6 × 11 − 18 = 48 ✓
(六项分别是 12·2 + 12·3 + 22·1 + 22·3 + 32·1 + 32·2 = 2 + 3 + 4 + 12 + 9 + 18 = 48。)
方法论 「表为 σ」的配方诀窍:σ 的乘积展开时,比目标多出的项数往往很小——多出的部分本身又是对称的(所以还能用 σ 表出),逐层减掉即可。这也解释了基本定理为何成立:字典序首项一层层被 σ 消去,次数严格下降。下册的「迹 = 特征值之和、行列式 = 特征值之积」就是 σ1 与 σn 的矩阵化装登场。
例 11 在 ℝ[x]/(x2 + 1) 中计算 ① (3 + 2x)(1 − 5x);② (1 + x)(1 − x);③ 解方程 (a + bx)2 ≡ −1。
解 代表元约定:次数 < 2,即形如 a + bx;替换规则 x2 ≡ −1。
① (3 + 2x)(1 − 5x) = 3 − 15x + 2x − 10x2 = 3 − 13x − 10x2 ≡ 3 − 13x + 10 = 13 − 13x。对照复数:(3 + 2i)(1 − 5i) = 13 − 13i ✓(x 就是 i)。
② (1 + x)(1 − x) = 1 − x2 ≡ 1 − (−1) = 2——两个「共轭元」相乘得实数,与 (1 + i)(1 − i) = 2 一致 ✓。
③ 展开:a2 + 2abx + b2x2 ≡ (a2 − b2) + 2ab·x ≡ −1。比较系数:2ab = 0 且 a2 − b2 = −1。a = 0 给 −b2 = −1,b = ±1,即 ±x(b = 0 给 a2 = −1,在 ℝ 中无解)。±x 就是商环里 −1 的平方根——正如 ±i。
方法论 商环计算三板斧:①乘开;②凡遇 m 的倍数清零(这里是 x2 ↦ −1);③化回低次代表元。判方程则比较系数——因为代表元唯一。所有运算都和复数同构地走:ℂ 的代数的全部规则,被 x2 ≡ −1 这一条替换规则完整复刻。
例 12 用两种方法证明 x4 + 1 在 ℚ 上不可约。
解 法一(Eisenstein + 平移,例 8 已给):(x + 1)4 + 1 = x4 + 4x3 + 6x2 + 4x + 2,p = 2 三关全部通过;平移不变性传递回 x4 + 1。
法二(对照系数,零工具):反设 x4 + 1 = (x2 + ax + b)(x2 + cx + d)(b, d 非零整数,因 bd = 1)。展开比系数:
a + c = 0; ac + b + d = 0; ad + bc = 0; bd = 1
由第一式 c = −a,代入第三式:a(d − b) = 0。分两支:支 a = 0:第二式给 b + d = 0 与 bd = 1 联立,得 b2 = −1——整数无解。支 b = d:bd = 1 给 b = d = 1 或 b = d = −1;第二式给 −a2 + 2b = 0,即 a2 = 2b:b = 1 时 a2 = 2 非完全平方,b = −1 时 a2 = −2——均无整数解。两支全灭,反设不成立。∎
方法论 对照系数法是「唯一分解」的逆用:假分解就是给系数列方程组,整数约束(bd = 1 只能 ±1)把解空间挤死。两法比较:Eisenstein 三行解决但需要「灵光」(想到平移);对照系数机械但只对低次现实。工具是省力杠杆,硬算是不坏底盘——两条腿的证明比一条腿结实,也各有教育价值。
1. 判断 ℚ(√3) = {a + b√3 : a, b ∈ ℚ} 是否数域。
答:是。乘法 (a + b√3)(c + d√3) = (ac + 3bd) + (ad + bc)√3 封闭;倒数 (a + b√3)−1 = (a − b√3)/(a2 − 3b2)(a2 − 3b2 ≠ 0,否则 √3 = a/b 有理,矛盾)。与例 1 ① 同模。
2. 用一句话说明 ℤ 不是数域。
答:1 ÷ 2 ∉ ℤ——除法门槛不过。注意 ℤ 对加减乘都封闭(它是好端端的环),缺的只是倒数。
3. 在 ℚ(√2) 中求 (3 + √2)−1。
答:分子分母同乘共轭:1/(3 + √2) = (3 − √2)/((3)2 − 2) = (3 − √2)/7。验算:(3 + √2)(3 − √2) = 9 − 2 = 7,乘回得 1 ✓。
4. 证明:任何数域都包含 ℚ(重证定理 6.1,不看讲义)。
答:数域含 0, 1;1 + 1 = 2,累加得全部正整数,取负得全部整数;再由除法封闭,m/n(n ≠ 0)全部入场——ℚ 被迫收编。∎(「最小数域」是地基,6.18 的一切扩建都从它出发。)
1. 求 x3 + x + 1 除以 x + 1 的余式(先猜后算)。
答:余式定理先行:f(−1) = −1 − 1 + 1 = −1,余式是常数 −1。竖式复核:商 x2 − x + 2,(x + 1)(x2 − x + 2) − 1 = x3 + x + 1 ✓。
2. 求 2x4 − x2 + 1 除以 x2 + 1 的商与余式。
答:商 2x2 − 3,余 4。验算:(x2 + 1)(2x2 − 3) + 4 = 2x4 − 3x2 + 2x2 − 3 + 4 = 2x4 − x2 + 1 ✓。技巧:视 x2 = t 做替代除法 2t2 − t + 1 ÷ (t + 1):商 2t − 3 余 4,再回填 t = x2。
3. k 取何值时,x3 − 3x + k 有因式 x − 2?
答:有因式 x − 2 ⟺ f(2) = 0 ⟺ 8 − 6 + k = 0,k = −2。此时 x3 − 3x − 2 = (x − 2)(x + 1)2(验证:(x − 2)(x2 + 2x + 1) = x3 + 2x2 + x − 2x2 − 4x − 2 = x3 − 3x − 2 ✓)。
4. 能否找到整数 m, n 使 x4 + 1 = (x2 + mx + 1)(x2 + nx + 1)?
答:展开对照:x4 + (m + n)x3 + (mn + 2)x2 + (m + n)x + 1,需 m + n = 0 且 mn + 2 = 0;代入 n = −m 得 −m2 + 2 = 0,m2 = 2 无整数解。这条路堵死,正是例 12 不可约性的「对称分解」剖面——对称的形状限定了试凑空间。
1. 求 gcd(x2 − 4, x3 + 8)。
答:分解对账:x2 − 4 = (x − 2)(x + 2),x3 + 8 = (x + 2)(x2 − 2x + 4)(立方和),公共部分 x + 2。gcd = x + 2。辗转复核同样结论(一步出 x + 2,再除余零)。
2. 判断 x2 + 1 与 x3 + 1 是否互素。
答:互素。x3 + 1 = (x + 1)(x2 − x + 1),两个因式与 x2 + 1 都无公共根(±i 不等于 −1,也不是三次单位根 −½ ± (√3/2)i)。辗转亦可:余式链条一步见 1。
3. 判断 x2 + 1 与 x3 + x 是否互素。
答:不互素——x3 + x = x(x2 + 1),本身就是倍式,gcd = x2 + 1。警惕「看脸互素」:因式测试前先查倍式关系。
4. 设 f | x 且 f | x + 1,证明 f 是非零常数。
答:f 整除两者的差:f | (x + 1) − x = 1。整除常数 1 的多项式只有非零常数。∎(差消手法——与整数里「公因子整除差」完全同款。)
1. 在 ℚ 上分解 x6 − 1。
答:x6 − 1 = (x3 − 1)(x3 + 1) = (x − 1)(x2 + x + 1)(x + 1)(x2 − x + 1)。四个因子两两互素,低次者全不可约(一次天然;两个二次判别式 −3 < 0)。分解到站。
2. 上题在 ℝ 上的分解与此相同吗?
答:相同——ℝ 上不可约的砖块仍只有一次与判别式负的二次,四个因子原样过河。换 ℂ 才再裂:x2 + x + 1 裂成 (x − ζ)(x − ζ2)(ζ 为三次单位根),x2 − x + 1 裂成 (x − ζ4)(x − ζ5)——六根是正六边形顶点。
3. 在 ℚ 上分解 x4 + 4。
答:索菲·热尔曼:x4 + 4 = (x2 + 2)2 − (2x)2 = (x2 − 2x + 2)(x2 + 2x + 2)(判别式均 −4,在 ℝ 上也不可再拆)。无实根却可约——四次的「无根 ⟹ 不可约」是幻觉,二次砖块在捣乱。
4. 用两个途径处理 x4 + 2x3 + 2x2 + 2x + 1。
答:途径一(有理根筛):候选 −1 中签,摘出 (x + 1) 得 x3 + x2 + x + 1,再摘 (x + 1) 得 x2 + 1:= (x + 1)2(x2 + 1)。途径二(配对):原式 = (x4 + x3) + (x3 + x2) + (x2 + x) + (x + 1) = (x + 1)(x3 + x2 + x + 1)。殊途同归,后者更见结构。
1. 求 (2x − 1)(x − 1)(x + 3) = 2x3 + 3x2 − 8x + 3 的三根之和、两两积之和与三根之积。
答:根是 ½, 1, −3。σ1 = −3/2,σ2 = −4,σ3 = −3/2。韦达核对(首一版 x3 + (3/2)x2 − 4x + 3/2):σ1 = −3/2 ✓,σ2 = −4 ✓,σ3 = −3/2 ✓。
2. 已知 x2 − 2x + 5 = 0 的一根为 1 + 2i,不解方程求另一根。
答:实系数 ⟹ 共轭根成对(定理 6.12),另一根 1 − 2i。顺手验收韦达:和 = 2 = −(−2)/1 ✓,积 = 1 + 4 = 5 ✓。
3. 求以 1, 2, 3 为根的首一三次方程。
答:(x − 1)(x − 2)(x − 3)。韦达正着走:σ1 = 6、σ2 = 11、σ3 = 6,符号交替得 x3 − 6x2 + 11x − 6。展开验证一致 ✓。
4. 写出 2x3 − 3x2 + 4x − 1 的三根之 σ1, σ2, σ3(不必求根)。
答:韦达读数:σ1 = −(−3)/2 = 3/2,σ2 = 4/2 = 2,σ3 = −(−1)/2 = 1/2。系数 → 根的对称统计,单向直达;个别根求不出(本例无有理根),统计照样交付——这正是 6.15「对称档案」的用武之地。
1. 在 ℚ 上分解 x4 + 2x3 + 2x2 + 2x + 1。
答:(x + 1)2(x2 + 1)(习题课四第 4 题的成品)。再核判别式:x2 + 1 判别式 −4,ℚ/ℝ 上不可约,分解到站。
2. 证明 x3 + x2 + x + 1 在 ℚ 上的分解只有一种。
答:x3 + x2 + x + 1 = (x + 1)(x2 + 1)(分组提取)。唯一性来自定理 6.7:任何分解对照这组砖,Euclid 引理逐个对号,只能重排不能换人。
3. 证明 x3 − 3x + 1 在 ℚ 上不可约。
答:三次多项式若可约必含一次因式、即有有理根。候选 ±1:f(1) = −1,f(−1) = 3,都不是零——无有理根,三次即不可约。∎(注意用足「三次」这个次数条件;四次就不行了。)
4. 在 ℚ 上分解 x4 + x3 + 2x2 + x + 1。
答:(x2 + 1)(x2 + x + 1)(展开:x4 + x3 + x2 + x2 + x + 1 ✓)。两个二次判别式 −4, −3 皆负——ℚ 与 ℝ 上的终分解。此题无一次因式(候选 ±1 均非根),对照系数或凑对可破。
1. 把 x1x2 + x2x3 + x3x1 表为初等对称多项式。
答:它本身就是 σ2(n = 3 的定义)。基本定理的平凡特例——但「认出平凡」也是功力。
2. (两个字母)把 x13 + x23 表为 σ 的多项式,并代 (2, 3) 验算。
答:x3 + y3 = (x + y)3 − 3xy(x + y) = σ13 − 3σ1σ2。验算:8 + 27 = 35,53 − 3·5·6 = 125 − 90 = 35 ✓。
3. 把 x12x2 + x12x3 + x22x1 + x22x3 + x32x1 + x32x2 表为 σ(例 10 ② 的回收)。
答:σ1σ2 − 3σ3。验算 (1,2,3):48 = 66 − 18 ✓。
4. x2 − 5x + 6 = 0 的两根为 r, s,不解方程求 r2 + s2。
答:r + s = 5,rs = 6,故 r2 + s2 = (r + s)2 − 2rs = 25 − 12 = 13。(根是 2 与 3,4 + 9 = 13 ✓。)韦达桥上只走对称统计,个别根免下桥。
1. 证明 𝔽[x] 中 (x) = {f : f(0) = 0}。
答:f ∈ (x) 即 f = xg,代 0 得 f(0) = 0;反之 f(0) = 0 时常数项为零,剩下的每项都带 x,提出公因子 x。∎(理想是一张「被 x 整除」的名单。)
2. 求 (x, x2)(由两条生成)。
答:(x, x2) = (x)——x2 本是 x 的倍式,第二条生成元是冗员。一般规律:生成的理想 = 由生成元的 gcd 生成的主理想(本章主线索的理想版)。
3. 证明 (x2 + 1, x − 1) = 𝔽[x](char 𝔽 ≠ 2)。
答:x2 + 1 − (x + 1)(x − 1) = 2,故 2 ∈ (x2 + 1, x − 1);char ≠ 2 时 2 有倒数,1 = ½ · 2 也在理想里,而含 1 的理想是全环。∎(Bézout 的理想语言版:gcd = 1 ⟺ 理想 = 全环。)
4. (选做,给结论)证明 ℤ[x] 的理想 (2, x) 不是主理想。
答:反设 (2, x) = (d):d | 2 限定 d 是常数 ±1, ±2;而 x ∈ (2, x) 要求 d | x,常数 d 只能 ±1——但 1 ∈ (d) 推出 (d) = ℤ[x],而 (2, x) 显然不含 1(元素 2a + xb 的常数项是偶数)。矛盾。∎(ℤ[x] 不带余除法,理想可以「两条拧不成一条」——这正是 6.17 层级图上欧氏环比一般环金贵的原因。)
1. 在 ℝ[x]/(x2 + 1) 中计算 (2 + x)(3 − x)。
答:6 − 2x + 3x − x2 = 6 + x − x2 ≡ 6 + x + 1 = 7 + x(x2 ≡ −1)。对照复数 (2 + i)(3 − i) = 7 + i ✓。
2. 在 𝔽2[x]/(x2 + x + 1) 中求 x 的倒数。
答:x(x + 1) = x2 + x ≡ 1(模 2 下 −1 就是 1),故 x−1 = x + 1。四元域里每个非零元都有搭档:1 自逆,x 与 x + 1 互逆。
3. 证明 x2 + x + 1 在 𝔽2 上不可约。
答:二次若可约必含一次因式、即有根。f(0) = 1 ≠ 0,f(1) = 1 + 1 + 1 = 1 ≠ 0(模 2)——两个候选根全出局,二次即不可约。∎ 商环 𝔽2[x]/(x2 + x + 1) 由定理 6.21 保送为域。
4. 证明 ℝ[x]/(x − 3) ≅ ℝ。
答:模 (x − 3) 的余式是常数,映射「取常数」就是求值同态 f ↦ f(3);它保四则、满、且核恰为 (x − 3)。模掉一次式 = 钉死一个值:商环退化回系数域本身。不可约的极端情形(一次)给出最小的新域——与原域同构。
1. 证明:若 (f, g) = 1,则对任意 n ≥ 1 有 (f, gn) = 1。
答:Bézout uf + vg = 1 自乘 n 次展开:(uf + vg)n = 1,除 vngn 外每项都含 f,整理为 u′f + v′gn = 1。∎(证书相乘——互素的传递性 ③ 的加强版。)
2. 证明 gcd(f, g) 在「首一」约定下唯一。
答:设 d, d′ 都是最大公因式:互相整除(d 是公因式、d′ 是最大者,反之亦然),故 d = cd′;两边首一,非零常数 c = 1。∎(「首一」正是为封死这个 c 的自由度。)
3. 求 gcd(x4 − 1, x3 − 1)。
答:分解对账:x4 − 1 = (x − 1)(x + 1)(x2 + 1),x3 − 1 = (x − 1)(x2 + x + 1);公共部分只有 x − 1。gcd = x − 1(辗转复核:一步余 x − 1?——x4 − 1 − x(x3 − 1) = x − 1 ✓,x3 − 1 = (x2 + x + 1)(x − 1) + 0)。
4. 设 f = x4 − 1。求所有首一多项式 d 满足 d | f 且 deg d = 2。
答:从标准分解 (x − 1)(x + 1)(x2 + 1) 里取二次组合:(x − 1)(x + 1) = x2 − 1;(x − 1)(x2 + 1)、(x + 1)(x2 + 1) 是三次——超编。再考虑不可约二次 x2 + 1 本身。共两个:x2 − 1 与 x2 + 1。标准分解是全部公因式的「零件清单」。
1. 求 gcd(x6 − 1, x4 − 1)。
答:零件清单对账:六次单位圆 ∩ 四次单位圆 = 公共角上的单位根 ±1,即 x2 − 1。代数复核:x6 − 1 − x2(x4 − 1) = x2 − 1,一步辗转即见。gcd = x2 − 1(几何与代数同声)。
2. 求 gcd(x4 − 1, x2 − 1) 并解释为什么「一眼见底」。
答:x2 − 1 整除 x4 − 1(平方差套平方差),故 gcd 就是 x2 − 1 自己。整除关系下 gcd(f, g) = g——辗转第一步就收工,与整数的 gcd(8, 4) = 4 同理。
3. 计算 x2 − 2x + 5 的判别式,并求它的两个根。
答:Δ = (−2)2 − 4·5 = −16;x = (2 ± √(−16))/2 = 1 ± 2i。验算:(1 + 2i)2 − 2(1 + 2i) + 5 = (−3 + 4i) − 2 − 4i + 5 = 0 ✓。判别式负 ⟺ 根是共轭复对(定理 6.12 的二次速写)。
4. (预习)两个多项式 f, g 有公共根,与它们的「结式」(一个由系数算出的量)为零是什么关系?
答:等价:res(f, g) = 0 ⟺ f, g 在公共的扩域中有公共根。它是判别式的高维推广(g 与 f 互为其导数情形时,结式差个常数因子就是判别式)。下一页挑战二正式接待它。
本章纠错档案按「病根」归档八则——每则都是算法纪律或概念分界:
E1 带余除法漏写终止条件(余 0 或 次数低于除式)。
答:终止条件是「或」,只记一半会在非整除题上空转。病根:把「除尽」当默认目标——带余除法的常态恰恰是除不尽。
E2 把 gcd 写成非首一(如 2x + 2)。
答:差常数倍算同一个 gcd,但首一约定让答案唯一可比。病根:混淆「对象」与「代表」。
E3 重因式与重根混为一谈。
答:重因式按不可约因子计(含无常数域根的因子);重根必须 a ∈ 𝔽。如 (x2 + 1)2 在 ℝ 上有二重因式却无任何重根。病根:把「根」外推到不在域里的数。
E4 Eisenstein 漏查 p2 ∤ a0。
答:x2 + 4x + 4 = (x + 2)2 恰能骗过只查①②的眼睛——p2 条件正是防「两个 p 在常数项会师」的。病根:把充分条件当口头禅。
E5 有理根候选漏「既约」或漏负号。
答:候选 = (a0 的全部带号因子)/(an 的全部正因子),且 p, q 互素。病根:筛子眼太大。
E6 在 ℚ 上分解时借了分数因子(如 6x2 − 5x + 1 = (x − ½)(6x − 2))。
答:没错但不标准;高斯引理保证总存在整系数本原分解——把它洗成 (2x − 1)(3x − 1)。病根:忘了 6.12 的「整化」纪律。
E7 商环里把「f ≡ g (mod m)」写成「f = g」。
答:商环的等号属于同余类;代表元随时可换(x2 = −1 只在商环里成立)。病根:把舞台规则当成了全集规则。
E8 「无根 ⟹ 不可约」无节制外推。
答:只对一次、三次成立;x4 + 4 无根却可约。病根:把必要条件(可约 ⟹ 有一次因式只对奇次强制)当充分条件。次数决定逻辑,先看次数再用推理。
《九章》少广章的开方术,是人类最早的系统化开方程序:布积、借算、议所得、以所得乘借算……每一步都是位值制上的试商与扣除。刘徽注补足了程序的解释(几何割补)与边界的处理——「开之不尽者,当以面命之」:开不尽就承认那个「面」(方根)为新数,不把程序强行跑完。这是数学史上第一次正面记录无理数的合法身份。
程序在此后七百年继续生长。北宋贾宪(约 1050 年)给出「增乘开方法」——每层试商只用到加法(逐层递乘),并把高次幂展开的系数表(贾宪三角)配成一册《释锁算书》;南宋秦九韶(1247)《数书九章》把增乘开方法推到任意高次方程的数值求解。欧洲的同类方法要等到霍纳 1819 年——晚五个多世纪。
把三条线索并排:开方术求 x2 = N 的根;因式定理把求根变成摘一次因式;Eisenstein 判别式在根不存在时证明它不存在(在 ℚ 上)。求根、摘因式、判不可约——同一枚硬币的三面。本章的全部定理,都是给《九章》那台古老的程序配上的现代仪表盘。
本章的层次结构——具体计算 → 平行定理 → 抽象收网——在数学史上真真切切走了一遍,走了一百多年。
第一站:库默尔与「理想数」(1847)。库默尔研究费马大定理时发现:某些数系里「分解唯一」失灵(如 ℤ[√−5] 中 6 = 2·3 = (1 + √−5)(1 − √−5) 两种分解)。他的救法石破天惊:引入看不见的「理想数」,让分解重新唯一——好比说 12 = 2 × 6 与 12 = 3 × 4 的冲突,是因为 2 与 3 各自还能再「劈」成更小的因子。
第二站:戴德金与「理想」(1871)。戴德金把库默尔的幽灵数值化为看得见的对象:理想——数集的子集合(本章 6.17 的定义)。在戴德金的环论里,「理想数」不再需要存在:理想本身是主角,「分解唯一」对理想重新成立。把性质救回来,靠的不是找到那个数,而是换掉「数」这个概念。
第三站:诺特与抽象环论(1921)。埃米·诺特把戴德金的数论理想论提炼成对任意环成立的定理(《环中的理想理论》):分解唯一性归因于链条件——抽象化的最后一步,连「数」的影子也退场了。本章 6.17 的层级图(欧氏环 ⊃ 主理想环 ⊃ 唯一分解环)正是诺特视角的快照:定理跟着条件走,不跟着对象走。
回头看本章的行军路线:ℤ 与 𝔽[x] 平行(6.3–6.14),再由「理想」的语言合流(6.17),最后用商环造域(6.18)——这正是那五十年抽象化的微缩景观。抽象不是离开具体,而是让所有具体共享同一张地图。下一册讲线性变换的相似标准形时,「不变子空间分解」还会把这枚方法论再演一遍。
本章知识图谱(八格):地基是数域(四则通行的舞台);台上立着 𝔽[x]——带余除法是它的发动机,发动机带动四台机器:辗转求 gcd(Bézout 证书)、判互素(Euclid 引理)、判重因式(形式导数)、判不可约(Eisenstein 与有理根定理);分解唯一性是机器群的出厂合格证;最后两个远眺接口——理想与主理想环(结构收网)与商环造域(造新舞台)。
| 六步方法 | 动作 | 依据 |
|---|---|---|
| ① 认舞台 | 系数域是谁?(ℚ、ℝ、ℂ 行为不同) | 定义 6.1 + 6.10–6.12 |
| ② 探一次因式 | 有理根定理列候选、代值筛 | 定理 6.17 |
| ③ 查重因式 | 求 f′、算 gcd(f, f′) | 定理 6.8 |
| ④ 试不可约 | Eisenstein(含平移)或对照系数 | 定理 6.16 + 例 12 |
| ⑤ 分解对账 | 标准分解、次数守恒、根数核对 | 定理 6.7 + 6.10–6.13 |
| ⑥ 结构归档 | 韦达读统计 / 商环造域 | 定理 6.18–6.19 + 6.21 |
与上册前五章的接口:消元(第一章)同款降次逻辑;ℝ[x] 是第四章线性空间的实例(基 {1, x, …, xn});求值同态 f ↦ f(a) 是第五章线性映射加乘法的完美样例。张苍法六份收成,至此全部交割。
算术基本定理说每个整数有唯一的素因子指纹;本章说每个多项式有唯一的不可约指纹。「分解唯一」不是巧合,是带余除法这类「下降机制」的必然产出——只要有一把永远下降的尺(绝对值、次数),就能碾出唯一的砖块。
但库默尔的挫折提醒我们:不是每个世界都带这把尺。ℤ[√−5] 里 6 有两副面孔——分解唯一会塌。秩序需要地基:域最稳(每数有倒数),欧氏环次之(有除法尺),唯一分解环保底。看到「唯一」二字,先问:哪把尺在下降?哪层地基在托底?
这也回答了一个容易被忽略的问题:为什么本章死磕「带余除法」这个看似平凡的算法?因为它是一切唯一性的引擎——辗转相除靠它、Bézout 靠它、主理想靠它、分解唯一靠它。一个能「步步下降」的世界,终将交出一份唯一的账本。下册的若尔当标准形,是同一句话在矩阵世界的回声:不变子空间一层层剥离,最终表准形唯一(在分块意义下)。
〔金句〕唯一分解是世界的秩序:有下降之尺处,必有唯一之账。
C1. 证明:对任意正整数 n,xn − yn 在 ℤ[x, y] 中被 x − y 整除,并求商。
答:把 y 看常数、x 看主变元:f(x) = xn − yn 在 x = y 处取零,由因式定理 (x − y) | f;长除得商 xn−1 + xn−2y + ⋯ + yn−1。双元问题先「钉死一元」。
C2. 证明 √2 + √3 是无理数。
答:设 t = √2 + √3,则 t2 = 5 + 2√6,(t2 − 5)2 = 24,即 t 是 f(x) = x4 − 10x2 + 1 的根。有理根候选 ±1:f(1) = −8,f(−1) = −8,均非零——t 不是有理数。∎(造捕笼多项式 + 有理根定理,证明无理性的标准姿势。)
C3. 在 ℚ 上分解 x8 − 1,并数一数实根。
答:x8 − 1 = (x4 − 1)(x4 + 1) = (x − 1)(x + 1)(x2 + 1)(x4 + 1);x4 + 1 不可约(例 12)。实根只有 ±1——其余六个根(含 x2 + 1 的 ±i 与 x4 + 1 的四个)全住在 ℂ,围成半张正八边形。
C4. (热尔曼恒等式的推广)证明 x4 + 4y4 = (x2 − 2xy + 2y2)(x2 + 2xy + 2y2),并用于证明 n = 4 型费马方程 a4 + 4b4 = c4 无非平凡解的思路之一环(给出第一步:何时两因子有公因式)。
答:展开验证:(x2 + 2y2)2 − (2xy)2 = x4 + 4x2y2 + 4y4 − 4x2y2 ✓。两因子之和 2x2 + 4y2、之差 −4xy;公因式须整除差与和——x, y 互素时公因式只能是 2 的因子,而两因子模 2 都是 x2 形状,精细分析给出「仅当 2 | x 时可能」的入口(完整证明是费马无限递降,超出本册——留个背影给出)。
二次方程的判别式早已熟悉;本章给出它的真正身份——根的重合探测器。
判别式(二次) ax2 + bx + c 的判别式 Δ = b2 − 4ac = a2(r1 − r2)2(r1, r2 为根)。Δ = 0 ⟺ 两根重合——它是「根撞车」的代数报警器,不需要解方程。
例 x2 − 2x + 5:Δ = 4 − 20 = −16 ≠ 0,两根 1 ± 2i 分居不撞 ✓;x2 − 6x + 9 = (x − 3)2:Δ = 36 − 36 = 0,重根 3 ✓。
结式(初见) 两个多项式 f, g 的结式 res(f, g) 是由系数按固定格式算出的量,满足:
res(f, g) = 0 ⟺ f 与 g 有公共根(在公共扩域中)
它把「有没有公共根」从解方程问题变成系数代数问题。取 g = f′:f 与 f′ 有公共根 ⟺ f 有重根,于是 res(f, f′) 与 Δ(f) 成正比——判别式是结式的特写镜头。
S1. 用结式语言重述 6.8:f 无重根 ⟺ ?
答:res(f, f′) ≠ 0。与 gcd(f, f′) = 1 等价——gcd 版本可执行(辗转),结式版本可公式化(系数行列式),一题两表。
S2. f = x3 + px + q(缺二次项)的判别式是 Δ = −4p3 − 27q2。用它判断 x3 − 3x + 2 的重根。
答:p = −3, q = 2:Δ = −4(−27) − 27·4 = 108 − 108 = 0——有重根 ✓((x − 1)2(x + 2),重根 1)。系数三秒出「撞车与否」,不用先分解。
〔下册接口〕结式的思想——「条件成立 ⟺ 某个系数量的行列式为零」——将在下册全面展开:特征多项式的判别式报告特征值何时重合,二次型的行列式报告正负惯性。判别式与结式是「用代数量探测几何事件」的第一对样本。
本章全部算法都可直接程序化。核心数据结构一句话:多项式 = 系数列表(从常数项到最高次,空位补零)。以下是辗转求 gcd 的参考实现(伪代码):
function PolyGCD(f, g):
while g ≠ 0:
(f, g) ← (g, f mod g) # f mod g 用带余除法
return make_monic(f) # 首一化
三件配套工具:①求值(秦九韶/Horner 格式:从最高次系数起逐层「乘 x 加系数」,n 次多项式只需 n 次乘法——正是增乘开方法的程序内核);②求导(系数右移一位乘下标);③乘法(全配对累加,O(n2)——快速算法(FFT)可达 O(n log n),是数值分析课的压轴戏之一)。
| 算法 | 每步成本 | 步数 | 与手算的对应 |
|---|---|---|---|
| 带余除法 | O(n) | n − m + 1 轮 | 竖式逐层消首项 |
| 辗转 gcd | 一轮除法 | 次数严格下降 ⟹ ≤ deg f 轮 | 图 6-5 的链条 |
| 求值(Horner) | 1 乘 1 加 | n 层 | 增乘开方法的骨架 |
| 判重因式 | 一次求导 + 一次 gcd | 常数轮 | 定理 6.8 |
实验任务 ① 实现 𝔽[x](取 ℚ)的加、乘、带余除法;② 用 PolyGCD 复算例 3、例 6 的两个 gcd;③ 实现判重因式检测,对 x5 − 2x4 报告 x 的重数(答案:4,见 6.8 例);④ 进阶:实现 Eisenstein 检验器,输入系数表与素数,输出三关真伪。
答(要点):①②的数值全部可与本章手算对拍;③的 gcd 应输出 x3(首一),重数 = gcd 重数 + 1;④注意先验证 p 是素数、再走三关,任何一关失败即输出「不适用」而非「可约」——判别法是单行的充分条件。
用程序重走一遍本章,会发现「定理即接口」:带余除法是除法接口、gcd 是比较接口、判别法是布尔接口。把数学写成代码的过程,就是把证明的每一步逼问出「输入—输出」的过程——含糊活不下来。
T1. (20 分)求 f = x4 − 2x3 + 3x2 − x + 1 除以 g = x2 − x + 1 的商与余式,并写出完整的竖式过程。
答:q = x2 − x + 1,r = x(例 2 全过程)。评分点:三轮首项配对、终止判据、f = g2 + x 的验算。
T2. (20 分)证明 x3 − 3x + 1 在 ℚ 上不可约;再说明它有没有重因式。
答:候选根 ±1 均非根,三次即不可约(习题课六第 3 题)。重因式:f′ = 3x2 − 3,gcd(f, f′) 辗转一步余 2x − 2?——细算:f = (x/3)f′ + (−2x + 1),f′ 与 −2x + 1 辗转余非零常数,gcd = 1,无重因式。
T3. (20 分)设 f = (x3 − 3x + 2)(x + 2)。不解出全部根,指出 f 的根及各自重数,并验证 f′ 的相应零点。
答:f = (x − 1)2(x + 2)2:根 1(二重)、−2(二重)。求导重数各降一:f′(1) = f′(−2) = 0 ✓,且 (x − 1) | f′、(x + 2) | f′。评分点:会从「因式平方」读重数,会用定理 6.8 而不必展开四次式。
T4. (20 分)用两种方法证明 x4 + 1 在 ℚ 上不可约。
答:法一 Eisenstein+平移,法二对照系数(例 12 完整两版)。评分点:法一的平移不变性论证(不能只对平移后的式子下结论);法二的 bd = 1 支类讨论。
T5. (20 分)在 𝔽2[x]/(x2 + x + 1) 中:① 列出全部元素;② 求 (x + 1)2;③ 证明它是域。
答:① {0, 1, x, x + 1};② x2 + 2x + 1 ≡ x2 + 1 ≡ (x2 + x + 1) + x ≡ x(模 2 下 2x = 0)——(x + 1)2 = x,妙对:平方根自身开平方回到对方,四元域的四则就此闭环;③ x2 + x + 1 在 𝔽2 无根 ⟹ 二次不可约 ⟹ 商环是域(定理 6.21)。
〔评讲〕T1 考纪律(终止条件与验算),T2 考概念分层(不可约 vs 重因式),T3 考结构眼光(不展开也能读重数),T4 考证明双轨(工具与硬算),T5 考新世界感(四元域是大多数学生亲手摸到的第一个「非 ℚ ℝ ℂ」的域)。五题过线,上册毕业——下册相邻领域将从特征多项式起步,本章的全部装备即刻投产。