
二次型这一章是我当年带学习小组时被问得最多、也是最多人学到一半就卡住的地方。表面上看它只是把二次齐次多项式换了个写法但真正上手做题、做项目的人会发现这一章其实是整个线性代数里矩阵思维落地最彻底的一环——对称矩阵、合同变换、特征值、正定性全在这里汇成一条线。很多人学完特征值觉得挺顺一到二次型就懵问题往往不在新知识本身而在于没搞明白为什么要把一个多项式折腾成矩阵。这篇内容我打算按自己实际讲和实际用的顺序来拆先讲清楚二次型到底在解决什么问题、为什么非得用对称矩阵表示再把标准化、合同变换、正定性判定这些核心环节一步步拆开配上参数计算和实操记录最后把我踩过的坑和学员常犯的错误整理成速查表。适合正在学这一章的学生也适合需要回头补线性代数基础的从业者哪怕你矩阵基础一般跟着走也能把这条线捋顺。1. 二次型的整体设计与思路拆解1.1 二次型到底在解决什么问题先把话说白二次型就是只含二次项的多项式。比如 $f(x_1,x_2)x_1^24x_1x_23x_2^2$每一项都是二次的没有一次项也没有常数项。这种式子在几何里描述圆锥曲线、二次曲面在优化里描述目标函数的曲率在工程里描述能量、方差、惯性张量出现频率高得离谱。问题在于这种交叉项形式特别难分析。$x_1^24x_1x_23x_2^2$ 到底是个碗形、鞍形还是退化的光看系数看不出来。但如果换成 $y_1^22y_2^2$ 这种只有平方项的形式形状一目了然——两个方向都往上翘是个碗。二次型这一章的核心任务就是找一种坐标变换把带交叉项的式子化成只有平方项的标准形这个过程叫标准化。我常跟学员打一个比方二次型就像一份用乱码写的菜单标准化就是翻译成你能看懂的中文。翻译前后描述的是同一道菜同一个几何对象只是换了种表达。这个同一性在数学上就是合同关系而翻译用的工具就是可逆线性变换。1.2 为什么必须用对称矩阵表示把二次型写成矩阵形式 $fx^TAx$这里有个关键细节矩阵 $A$ 必须取对称的。原因很简单$x^TAx$ 展开后$a_{ij}$ 和 $a_{ji}$ 对应的项都是 $x_ix_j$会合并成 $(a_{ij}a_{ji})x_ix_j$。也就是说非对角元素只有它们的和有意义具体怎么分配无所谓。既然无所谓那就约定取对称的让 $a_{ij}a_{ji}\frac{1}{2}\times$交叉项系数。比如 $4x_1x_2$对应 $a_{12}a_{21}2$。这个约定不是随便定的它带来两个实打实的好处一是表示唯一一个二次型对应唯一一个对称矩阵不会出现同一个式子两个矩阵的混乱二是对称矩阵有一套非常成熟的理论实对称矩阵必可正交对角化、特征值全为实数后面标准化全靠这套理论撑着。注意新手最容易在这里出错——把交叉项系数直接填进矩阵忘了除以2。$4x_1x_2$ 写成 $a_{12}4$ 是错的必须写2。这个错误会导致后面特征值全错连锁崩盘。1.3 标准形、规范形与合同变换的关系标准化有几种终点得先分清不然做题时目标不清。标准形是只含平方项、系数任意的形式比如 $y_1^22y_2^2-3y_3^2$规范形更严格平方项系数只能是 $1$、$-1$、$0$比如 $y_1^2y_2^2-y_3^2$。规范形是标准形的进一步化简把系数按正负归一。连接原二次型和标准形的桥梁是合同变换$BC^TAC$其中 $C$ 可逆。合同和相似长得像但完全不同——相似是 $BP^{-1}AP$合同是 $BC^TAC$。合同保持的是二次型的形状本质正负惯性指数相似保持的是特征值。这个区别我见过太多人混淆做题时用错变换结果全盘皆输。为什么用合同而不用相似因为二次型做变量替换 $xCy$ 后代入 $x^TAx$ 得到 $y^T(C^TAC)y$新矩阵天然就是 $C^TAC$。这是变量替换直接推出来的不是人为选择。理解这一点你就明白合同变换不是另一种技巧而是二次型自身的语言。2. 核心细节解析与实操要点2.1 配方法最朴素也最可靠的标准化路径配方法是我推荐给所有人的第一选择因为它不依赖特征值计算纯代数操作出错率低而且能直接看出变换矩阵。思路就是中学的配平方只不过变量多了要一个个消。以 $fx_1^24x_1x_23x_2^2$ 为例。先把含 $x_1$ 的项凑成完全平方$x_1^24x_1x_2(x_12x_2)^2-4x_2^2$。代回去得 $f(x_12x_2)^2-4x_2^23x_2^2(x_12x_2)^2-x_2^2$。令 $y_1x_12x_2$$y_2x_2$标准形就是 $y_1^2-y_2^2$。这里的关键是写出变换矩阵 $C$。从 $yC^{-1}x$ 反解$x_1y_1-2y_2$$x_2y_2$所以$$C\begin{pmatrix}1-2\01\end{pmatrix}$$验证一下 $C^TAC$ 是否等于 $\text{diag}(1,-1)$这是必须做的自检步骤我要求学员每次配完都验一遍能挡住八成计算错误。配方法有个坑如果某项平方项系数为0比如 $f2x_1x_2$不能直接配得先做个简单替换制造平方项比如令 $x_1y_1y_2$$x_2y_1-y_2$得到 $2(y_1^2-y_2^2)$再继续。这个无平方项先造平方项的处理是配方法里最容易被忽略的分支。2.2 正交变换法几何意义最清晰的路径正交变换法走的是特征值路线求对称矩阵 $A$ 的特征值 $\lambda_1,\dots,\lambda_n$ 和对应的单位正交特征向量拼成正交矩阵 $Q$则 $Q^TAQ\text{diag}(\lambda_1,\dots,\lambda_n)$。标准形的系数就是特征值。这条路的好处是几何意义明确——正交变换相当于旋转/反射不改变长度和角度标准形的系数直接告诉你二次型在各个主轴方向上的伸缩率。判断二次曲面类型时特征值的正负号一眼定形状。代价是计算量大。求特征值要解 $|\lambda I-A|0$三阶以上手算就很痛苦还得对每个特征值求特征向量、单位化、正交化重根时尤其麻烦。我的经验是二阶、三阶且系数规整时用正交变换高阶或系数复杂时优先配方法。这不是绝对规则但能省不少力气。正交变换法有个必须注意的点重特征值对应的特征向量要做施密特正交化。很多人求出两个线性无关的特征向量就直接拼矩阵忘了它们未必正交结果 $Q$ 不是正交矩阵$Q^TAQ$ 也不是对角阵。这个错误在考试和作业里出现频率极高。2.3 惯性定理标准形不唯一但本质唯一这里有个让初学者困惑的现象同一个二次型用配方法和正交变换法得到的标准形可能不一样。比如上面那个例子配方法得 $y_1^2-y_2^2$正交变换法可能得 $2.6y_1^2-0.6y_2^2$特征值不同。那到底哪个对答案是都对。惯性定理保证了不管用什么可逆变换标准形里正平方项的个数 $p$正惯性指数和负平方项的个数 $q$负惯性指数是固定的$pq$ 等于矩阵的秩。这就是二次型的指纹变换再花哨也改不了。这个定理的价值在于判断两个二次型是否合同不用真的找变换矩阵只要比较正负惯性指数是否相同即可。合同分类的本质就是按 $(p,q)$ 分类。我在实际做题时经常用配方法快速求出 $p$ 和 $q$然后用惯性定理回答是否合同是否等价这类问题比硬算变换矩阵快得多。提示正惯性指数 $p$ 等于对称矩阵正特征值的个数负惯性指数 $q$ 等于负特征值的个数。这个对应关系是连接配方法和特征值法的桥梁记住它能省很多事。2.4 正定性判定二次型里最实用的部分正定二次型是实际应用里出现最多的类型——优化里的严格凸函数、协方差矩阵、能量函数的稳定平衡点本质都是正定。判定方法有好几条我按实用频率排个序判定方法操作适用场景注意点顺序主子式全正算 $n$ 个顺序主子式低阶、系数规整只对对称矩阵有效且必须从左上角开始特征值全正求全部特征值已需求特征值时顺带判断计算量大配方法化标准形看平方项系数是否全正任意阶最稳需完整配方合同于单位阵找可逆 $C$ 使 $C^TACI$理论证明实操少用顺序主子式法最常用但有个致命细节必须是顺序主子式左上角 $1\times1$、$2\times2$、…、$n\times n$不是任意主子式。我见过有人算了一堆乱七八糟的主子式全正就下结论结果矩阵并不正定。这个坑必须强调。举个实操例子$A\begin{pmatrix}21\12\end{pmatrix}$顺序主子式 $\Delta_120$$\Delta_24-130$全正正定。特征值验证$\lambda1,3$全正一致。两条路互相印证是我推荐的自检习惯。3. 实操过程与核心环节实现3.1 完整案例从二次型到规范形的全流程拿一个三阶的例子走一遍完整流程把前面讲的方法串起来。设$$f2x_1^22x_2^22x_3^22x_1x_22x_1x_32x_2x_3$$第一步写对称矩阵。对角元是平方项系数 $2,2,2$交叉项系数都是2除以2得非对角元全为1$$A\begin{pmatrix}211\121\112\end{pmatrix}$$第二步选方法。这个矩阵结构规整对角2、非对角1特征值好算用正交变换法。求特征多项式$A$ 可以写成 $IJ$$J$ 是全1矩阵$J$ 的特征值是 $3,0,0$所以 $A$ 的特征值是 $134$ 和 $101$二重。标准形为 $4y_1^2y_2^2y_3^2$。第三步求特征向量并正交化。$\lambda4$ 对应特征向量 $(1,1,1)^T$单位化得 $\frac{1}{\sqrt3}(1,1,1)^T$。$\lambda1$ 的特征子空间是 $x_1x_2x_30$取两个线性无关向量 $(1,-1,0)^T$ 和 $(1,0,-1)^T$施密特正交化后单位化。这一步是重根处理的标准动作不能省。第四步拼正交矩阵 $Q$验证 $Q^TAQ\text{diag}(4,1,1)$。第五步由特征值全正判定正定正惯性指数 $p3$规范形为 $z_1^2z_2^2z_3^2$。整个流程走下来每一步都有自检点矩阵对称性检查、特征值之和等于迹$4116222$、特征值之积等于行列式。这些自检能挡住绝大多数计算失误我强烈建议养成习惯。3.2 参数计算特征值与惯性指数的交叉验证实际做题时我习惯用两条独立路径算同一个量互相验证。比如正惯性指数配方法给一个答案特征值符号给另一个答案两者必须一致。还是上面那个矩阵配方法走一遍$f2(x_1^2x_1x_2x_1x_3)2x_2^22x_3^22x_2x_3$。先配 $x_1$$2[(x_1\frac{x_2x_3}{2})^2-\frac{(x_2x_3)^2}{4}]2x_2^22x_3^22x_2x_3$。展开整理后剩余部分是关于 $x_2,x_3$ 的二次型继续配。最终会得到三个正平方项$p3$与特征值法一致。这种交叉验证在考试里可能来不及做但在学习和调试阶段极其有价值。我当年就是靠反复做这种双路径验证才把二次型的各种方法真正吃透而不是死记步骤。3.3 用代码辅助验证可选但推荐手算容易错用几行代码验证是聪明的做法。Python 的 numpy 几行就能算特征值、验证合同变换import numpy as np A np.array([[2, 1, 1], [1, 2, 1], [1, 1, 2]]) # 特征值即标准形系数 eigvals np.linalg.eigvalsh(A) print(特征值:, eigvals) # 正负惯性指数 p np.sum(eigvals 1e-9) q np.sum(eigvals -1e-9) print(正惯性指数 p , p, 负惯性指数 q , q) # 验证合同变换Q^T A Q 是否为对角阵 eigvals, Q np.linalg.eigh(A) D Q.T A Q print(Q^T A Q \n, np.round(D, 6))eigvalsh和eigh专门针对对称矩阵比通用的eig更稳、更快返回的特征值还是排好序的。这个细节很多人不知道用通用函数算对称矩阵有时会出现微小虚部看着吓人。跑一遍上面的代码输出特征值[1. 1. 4.]$p3$$Q^TAQ$ 是对角阵全部对上。注意浮点计算里判断正负要用容差如1e-9不能直接 0否则理论上为0的特征值可能因为舍入误差被判成正或负导致惯性指数算错。4. 常见问题与排查技巧实录4.1 高频错误速查表下面这张表是我这些年收集的学员高频错误按出现频率排序每条都配了排查思路错误现象根本原因排查与修正特征值算出来和迹对不上矩阵写错交叉项没除2先查 $A$ 是否对称、对角元是否为平方项系数$Q^TAQ$ 不是对角阵重根特征向量没正交化对重根做施密特正交化再单位化正定性判断错误用了非顺序主子式只算左上角顺序主子式从 $1\times1$ 到 $n\times n$标准形系数和特征值不符混淆了配方法和正交变换法配方法系数任意正交变换法系数必为特征值合同与相似混用概念不清合同 $C^TAC$ 保惯性指数相似 $P^{-1}AP$ 保特征值无平方项时配方卡住忘了先造平方项令 $x_1y_1y_2$$x_2y_1-y_2$ 制造平方项4.2 几个容易被忽略的细节第一个细节二次型的矩阵表示里常数项和一次项必须为零。如果题目给的式子里混了一次项那它就不是二次型得先分离出二次部分再处理。这个在应用题里偶尔出现别被带偏。第二个细节正交变换法得到的标准形系数是特征值但特征值的排列顺序可以任意所以标准形不唯一顺序不同。写答案时按从大到小或从小到大排都行但要和变换矩阵的列对应上别错位。第三个细节判断正定时如果矩阵不是对称的先对称化——取 $\frac{AA^T}{2}$。二次型的矩阵天然对称但题目有时给个不对称的矩阵让你判断这时要先对称化再判直接对原矩阵算顺序主子式是错的。4.3 我的实操心得讲一个我自己的教训。早年我教配方法时总强调按 $x_1,x_2,\dots$ 顺序配结果有学员遇到 $x_1$ 平方项系数为0、$x_2$ 有平方项的情况硬按顺序配就卡住了。后来我改成优先配系数非零的变量顺序可以打乱问题迎刃而解。配方法的本质是消元谁好消先消谁不必拘泥顺序。这个灵活性是教科书上不写、但实操中极其重要的经验。另一个心得是关于自检的。二次型的计算链条长一步错步步错所以我在每个关键节点都设自检写完矩阵查对称性和对角元算完特征值查和等于迹、积等于行列式配完方回代验证正交化后查向量两两内积为零。这些检查每个只要十几秒但能救命。我带过的学员里养成自检习惯的正确率明显高出一截。最后说个心态上的事。二次型这一章方法多、概念密初学容易乱。我的建议是抓住一条主线一切为了把交叉项消掉。配方法直接消正交变换法借特征值消惯性定理告诉你消完的正负个数不变。抓住这条线各种方法就不是孤立技巧而是同一个目标的不同走法学起来会顺很多。这个内容后续还可以往两个方向扩展一是往二次曲面的几何分类走把标准形系数和椭圆、双曲、抛物面对应起来二是往正定矩阵的应用走看看它在优化和统计里怎么用。这两个方向我都实际用过等有机会再单独展开聊。