news 2026/10/29 7:42:11

二次型标准化三条路线:配方法、正交变换法与初等变换法详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
二次型标准化三条路线:配方法、正交变换法与初等变换法详解

二次型这个东西,课本上讲完合同变换就翻篇了,真正上手做题或者写代码的时候,坑全藏在细节里。我见过太多人配方配到一半变量替换写不出来,正交变换求出特征向量忘了正交化,初等变换做完行变换忘了配列变换,最后结果差一个负号还理直气壮地说“等价就行”。二次型的标准化其实只有三条主流路线——拉格朗日配方法、正交变换法、初等变换法,但每一条都有自己的脾气:配方法快但要用对顺序,正交变换法稳但要算特征多项式,初等变换法机械但极易操作失误。这篇就把三条路线全部拆开,每种方法给完整演算、给可逆变换的证明写法、给验算技巧,顺带把课本上一笔带过的那些细节补上。不管你是正在啃线性代数准备考试的学生,还是需要把二次型化简用到二次曲面拟合、二次规划、图像处理里 Hessian 分析上的工程人员,看完都能直接照着做。

1. 二次型标准化这件事,工程里到底在哪用得上

很多人学二次型的时候会有个疑问:一堆 $x_ix_j$ 的交叉项,把它弄成平方和,除了做题还能干嘛。实际用途比想象中多。最直接的是二次曲面分类——三维空间里一个二次方程 $x^TAx + b^Tx + c = 0$ 到底是个椭球、双曲面还是锥面,光看方程根本看不出来,必须通过正交变换把交叉项消掉,化成标准形才能一眼看出形状。其次是最优化问题里的判定:一个多元函数的 Hessian 矩阵对应的二次型如果正定,那这个驻点就是极小值点,而判定正定最快的办法之一就是配方法看能不能配成全正平方和。再往工程里走,主成分分析里协方差矩阵的对角化、结构力学里的主应力方向、控制理论里的二次型 Lyapunov 函数,本质上都是同一件事。

所以二次型标准化的核心诉求很明确:用可逆线性变换把含交叉项的二次型化成只含平方项的形式。这里两个关键词,一个是“化成平方项”,一个是“可逆”。前一个决定结果好不好用,后一个决定这个变换是不是合法的、信息有没有丢失。很多人只盯着前者,后者随手写个“显然可逆”就过去了,这是最容易被扣分也最容易在工程里埋雷的地方。

1.1 从二次型到矩阵:一张表看懂对应关系

在动手之前,先把二次型和对称矩阵的对应关系钉死。$n$ 元二次型

$$f(x_1,\dots,x_n) = \sum_{i=1}^{n}\sum_{j=1}^{n} a_{ij}x_ix_j$$

写成矩阵形式 $f = x^TAx$,其中 $A$ 必须是对称矩阵。写 $A$ 的规则只有一条:平方项系数直接放在对角线上,交叉项系数除以 2 放在对称的两个位置上。

二次型中的项矩阵中的位置常见错误
$a x_i^2$$a_{ii} = a$无
$b x_i x_j\ (i \ne j)$$a_{ij} = a_{ji} = b/2$直接把 $b$ 填进去,导致 $x^TAx$ 算出来是 $2b x_ix_j$
某个变量完全没出现对应行列全为 0漏写这一行这一列,矩阵维度不对

拿一个具体例子过一遍。设

$$f = 2x_1x_2 + 2x_1x_3 - 6x_2x_3$$

这里面一个平方项都没有,全是交叉项。按规则:$2x_1x_2$ 贡献 $a_{12}=a_{21}=1$,$2x_1x_3$ 贡献 $a_{13}=a_{31}=1$,$-6x_2x_3$ 贡献 $a_{23}=a_{32}=-3$,对角线全是 0。于是

$$A = \begin{pmatrix} 0 & 1 & 1 \ 1 & 0 & -3 \ 1 & -3 & 0 \end{pmatrix}$$

这个矩阵非常关键,后面三种方法都会拿它当练习对象。记住一句话:交叉项系数一定要除以 2,这一步错了后面全盘皆输,而且因为矩阵还是对称的,检查的时候不容易发现。

1.2 三条路线的取舍逻辑

三种方法都能把二次型化成平方和,但它们的“代价”和“产出”完全不同,选错了就是自找麻烦。

方法核心操作对角元是什么变换矩阵 $C$ 长什么样什么时候优先用
拉格朗日配方法代数恒等变形,逐项配平方任意实数一般是三角矩阵或三角矩阵的乘积,手工可写只需要标准形、求惯性指数、判断合同
正交变换法求特征值、特征向量、正交化、单位化恰好是 $A$ 的特征值正交矩阵 $Q$,$Q^TQ = I$需要保持几何形状、二次曲面分类、主成分分析
初等变换法对 $A$ 成对做行变换和列变换与配方法同(可能差一个缩放)累积在右侧的单位阵位置上矩阵维度高、想程序化操作、怕配方配乱

这个表背后有三个必须理解的点。

第一,配方法不保持矩阵的迹和行列式。比如上面那个 $A$,迹是 0,行列式算一下是 $-6$,但配完方之后得到的对角阵可能是 $\mathrm{diag}(2,-2,6)$,迹是 6,行列式是 $-24$,两个都不相等。这不是算错了,而是配方法用的变换矩阵 $C$ 满足 $\det(C) \ne \pm 1$,所以 $\det(C^TAC) = \det(C)^2\det(A)$,行列式被缩放了。理解这一点,你就不会拿迹去验算配方法的结果。

第二,正交变换法保持迹和行列式。因为 $Q$ 是正交矩阵,$Q^TAQ$ 既是合同变换也是相似变换,特征值不变,所以对角元之和等于原矩阵的迹,对角元之积等于原矩阵的行列式。这两个性质是极好的验算工具,后面会专门讲怎么用。

第三,三种方法得到的标准形不唯一,但正负惯性指数唯一。这是惯性定理的内容。也就是说,不管你用哪种方法、配方顺序怎么调,最后正平方项的个数 $p$ 和负平方项的个数 $q$ 是定死的,$p+q$ 就是矩阵的秩。工程上判断正定性、判断两个二次型是否合同,靠的就是这两个数,而不是具体的系数。

2. 可逆线性变换与合同关系

在进入具体方法之前,得把“可逆线性变换”这件事说透,因为标题里专门提到了可逆变换证明,而这恰恰是最容易含糊过去的部分。

2.1 为什么“可逆”这两个字不能省

设 $x = Cy$,代入 $f = x^TAx$ 得

$$f = (Cy)^TA(Cy) = y^T(C^TAC)y$$

新的矩阵是 $B = C^TAC$。这时候如果 $C$ 不可逆,会发生什么?最直接的后果是秩可能变小。举个极端例子,取 $C$ 是全零矩阵,那 $B$ 就是零矩阵,秩从 2 掉到 0,原来的二次型信息全部丢失。你确实把它化成了“平方和”(全是 0),但这个结果毫无意义,因为它对应的是一个恒等于零的函数,和原来的二次型根本不是同一个东西。

所以可逆性保证的是变换前后是同一个二次型,只是换了一组坐标来描述。这就要求 $C$ 必须可逆,也就是 $\det(C) \ne 0$,也就是从 $y$ 能唯一地反解出 $x$。

这里还有个容易混淆的点:可逆线性变换不保持矩阵的秩以外的很多东西。它可以改变行列式(缩放 $\det(C)^2$ 倍),可以改变迹,可以改变特征值(除非 $C$ 是正交矩阵)。它唯一保证不变的是秩和正负惯性指数。

注意:秩在合同变换下不变,这个结论反过来也常用——如果你配完方发现非零平方项个数和原矩阵的秩对不上,那一定是某一步算错了,不用往后做,直接回头查。

2.2 合同、相似、等价:三个词别串了

这三个概念在教材里前后脚出现,特别容易混。用一张表理清楚。

关系定义保持什么不变典型场景
等价存在可逆 $P,Q$ 使 $B = PAQ$秩一般的矩阵化简、解方程组
相似存在可逆 $P$ 使 $B = P^{-1}AP$秩、迹、行列式、特征值线性变换在不同基下的表示
合同存在可逆 $C$ 使 $B = C^TAC$秩、正负惯性指数二次型换坐标

二次型用的是合同,不是相似。只有当 $C$ 恰好是正交矩阵时,$C^T = C^{-1}$,合同才退化成相似,这时候迹、行列式、特征值全都保住。这也是为什么正交变换法在几何问题里特别受宠——它不光化简了二次型,还保持了长度和角度。

一句话记忆:相似看特征值,合同看惯性指数,等价只看秩。

2.3 合同变换的代数语言

把合同变换写成矩阵语言,就是找一串可逆矩阵 $P_1, P_2, \dots, P_k$,使得

$$P_k^T \cdots P_1^T A P_1 \cdots P_k = D$$

其中 $D$ 是对角阵。令 $C = P_1P_2\cdots P_k$,就有 $C^TAC = D$。因为每个 $P_i$ 都可逆,它们的乘积也可逆,所以 $C$ 一定可逆。

这个式子看起来抽象,但它把三种方法统一起来了:

  • 配方法:每一步的 $P_i$ 是一个“单位三角矩阵”或者“两变量相加相减”的矩阵
  • 正交变换法:$P_i$ 全是正交矩阵,最后合并成一个 $Q$
  • 初等变换法:$P_i$ 是初等矩阵,一个个往单位阵上乘

理解了这一层,三种方法就不再是三套互不相干的技巧,而是同一个思想的不同实现。你会发现它们的可逆性证明思路也高度一致——都是证明每一步的变换可逆,然后说有限个可逆变换的复合仍可逆。

3. 拉格朗日配方法:有平方项与缺项两套打法

配方法是三种方法里最“手工”的,但也是最快的。它的思路非常朴素:把含某个变量的所有项凑成一个完全平方,减掉多余的部分,然后对剩下的变量重复这个过程。

3.1 有平方项时的标准动作

如果二次型里至少有一个平方项,动作就很简单:

  1. 挑一个平方项系数不为零的变量(一般挑第一个),把它和所有含它的交叉项凑成一个完全平方
  2. 减掉多出来的项,剩下的部分只含其它变量
  3. 对剩下的部分重复第 1、2 步
  4. 直到所有变量处理完,把省略掉的变量补上(系数为 0)

这个流程的关键在第 1 步的“挑”。我的经验是:优先挑和其它变量交叉项最多的那个,这样一次配方能消掉最多的项,后面的工作量最小。当然挑第一个系数非零的也不会错,只是可能多算两步。

举个有平方项的例子:

$$f = x_1^2 + 2x_2^2 + 5x_3^2 + 2x_1x_2 + 2x_1x_3 + 6x_2x_3$$

对应的矩阵是

$$A = \begin{pmatrix} 1 & 1 & 1 \ 1 & 2 & 3 \ 1 & 3 & 5 \end{pmatrix}$$

3.2 演算:三步配完,写出可逆矩阵

先处理 $x_1$。把含 $x_1$ 的项全部拎出来:

$$x_1^2 + 2x_1x_2 + 2x_1x_3 = (x_1 + x_2 + x_3)^2 - x_2^2 - x_3^2 - 2x_2x_3$$

验证一下展开:$(x_1+x_2+x_3)^2 = x_1^2 + x_2^2 + x_3^2 + 2x_1x_2 + 2x_1x_3 + 2x_2x_3$,减掉 $x_2^2 + x_3^2 + 2x_2x_3$ 正好剩下 $x_1^2 + 2x_1x_2 + 2x_1x_3$。对得上。

代回原式:

$$f = (x_1+x_2+x_3)^2 + x_2^2 + 4x_3^2 + 4x_2x_3$$

现在只剩 $

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/29 7:40:36

MCP协议:让AI编程智能体真正嵌入IDE与DevOps工作流

1. 这不是又一个“AI Agent 概念演示”,而是一套能嵌进真实开发流程的编程智能体落地方案你有没有遇到过这样的场景:团队里刚上线一个基于 LangChain 的代码生成小工具,大家试用两天后就扔在角落吃灰?不是模型不够强,也…

作者头像 李华
网站建设 2026/10/29 7:40:17

支持向量机(SVM)原理与线性超平面推导详解

1. 支持向量机与线性超平面基础概念支持向量机(Support Vector Machine, SVM)作为机器学习领域的经典算法,其核心思想可以追溯到1963年Vapnik和Chervonenkis提出的统计学习理论。在实际应用中,SVM最直观的形式就是寻找最优线性分类…

作者头像 李华
网站建设 2026/10/29 7:40:17

C#闭包与foreach循环的陷阱及解决方案

1. 理解闭包与foreach循环的基础概念在C#开发中,闭包(closure)是一个经常被讨论但又容易误解的概念。简单来说,闭包是指一个函数(或lambda表达式)能够捕获并记住其所在作用域中的变量,即使这个作用域已经执行完毕。这种…

作者头像 李华
网站建设 2026/10/29 7:40:08

Jev浏览器Agent:本地化网页操作数字分身

1. 这不是又一个“AI浏览器插件”,而是真正能接管你鼠标和键盘的数字分身最近刷 GitHub Trending 的时候,一眼就被那个标着21k star的项目戳中了——标题写着“基于 Jev 的浏览器 Agent 插件”,点进去发现它没堆一堆抽象概念,首页…

作者头像 李华
网站建设 2026/10/29 7:39:16

LangChain4j:Java原生Agent框架核心原理与生产实践

1. 项目概述:这不是一个“Java版LangChain”的简单搬运,而是一次面向生产级AI应用的底层重构你有没有遇到过这样的场景:用Spring Boot写了个API,前端传个用户问题过来,后端调用大模型API返回结果——这叫“调用”&…

作者头像 李华
网站建设 2026/10/29 7:37:46

HttpAsyncClient异步HTTP客户端核心功能与HTTP/2实践

1. HttpAsyncClient核心功能解析HttpAsyncClient是Apache基金会旗下的异步HTTP客户端库,专为高性能HTTP通信设计。我在实际项目中多次使用它处理高并发请求场景,相比传统同步客户端,其非阻塞I/O模型能显著提升吞吐量——实测在相同硬件条件下…

作者头像 李华