尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

二次型深度拆解:从配方法到正定矩阵与工程应用

二次型深度拆解:从配方法到正定矩阵与工程应用 二次型这块内容我一直觉得是线性代数里最容易被低估的知识点。考试的时候看起来就是“化标准形、判断正定”这几板斧好像只要会配方法和顺序主子式就能对付过去。但只要往后学到多元函数的极值判断、物理里的能量表达式、数据降维里的PCA甚至经济学里的效用函数分析你一定会再遇到二次型。那时候如果你只记得“公式怎么套”没有真正理解它背后的几何意义和矩阵结构学起来会相当吃力。这篇文章我就把二次型这个主题完整拆开讲一遍包括定义、化标准形的几种实操方法、惯性定理、正定性判断以及它在实际场景里到底怎么用希望能帮你把这部分真正学透。这篇文章适合正在复习线性代数期末考、考研数学或者工作中需要用到多元二次函数分析的读者。我会尽量用直白的语言把“为什么这么做”讲清楚而不只是摆公式。1. 先从“一个多项式”说起二次型的本质是什么1.1 从初中配方法到n元二次齐次函数先看一个最简单的例子。初中学一元二次函数的时候我们见过这样的式子f(x) ax² bx c这是一元二次函数最高次数是2。到了多元微积分里我们开始接触二元函数f(x₁, x₂) x₁² 2x₁x₂ 3x₂²这也是二次的但每一项的次数都是2。注意没有一个项是只含x₁或只含x₂的一次项也没有常数项。像这种“所有项的次数都正好等于2”的多元多项式就叫二次齐次函数。人在词源上“二次型”里的“型”指的就是这种齐次多项式结构。推广到n个变量的情况就得到一个一般形式f(x₁, x₂, ..., xₙ) a₁₁x₁² a₁₂x₁x₂ ... aₙₙxₙ²每一项要么是一个变量的平方要么是两个不同变量的乘积所有系数都是实数。这就是我们说的n元二次型。这个定义看起来平平无奇但它有一个很容易被忽略的关键点交叉项。交叉项a₁₂x₁x₂的存在意味着变量之间不是独立的它们会“相互影响”。这就像在物理系统中两个自由度之间存在耦合二次型就是用来描述这种耦合关系的天然工具。1.2 为什么非要写成矩阵形式直接研究这个多项式当然也可以但效率太低。线性代数的核心思想就是用矩阵把复杂的线性结构统一起来。二次型也是这么做的。把上面的n元二次型写成矩阵乘法的形式f(x₁, x₂, ..., xₙ) xᵀAx其中x (x₁, x₂, ..., xₙ)ᵀ是列向量A是一个n×n的对称矩阵。这里的对称性非常重要因为交叉项xᵢxⱼ和xⱼxᵢ本质上是一回事所以矩阵A的第i行第j列和第j行第i列的元素必然是相等的。怎么从多项式写出矩阵A规则很简单矩阵对角线上的元素aᵢᵢ就是平方项xᵢ²的系数而非对角线元素aᵢⱼi≠j等于交叉项xᵢxⱼ系数的一半。为什么是一半因为展开xᵀAx的时候aᵢⱼxᵢxⱼ和aⱼᵢxⱼxᵢ这两项会同时出现合在一起正好是2aᵢⱼxᵢxⱼ要还原出原始系数就得在矩阵里先存一半。举个例子f(x₁, x₂, x₃) x₁² 2x₁x₂ 2x₂² 4x₂x₃ 5x₃²这个多项式对应的对称矩阵是A [[1, 1, 0], [1, 2, 2], [0, 2, 5]]你看x₁²的系数1直接放在第1行第1列x₂²的系数2放在第2行第2列x₃²的系数5放在第3行第3列。交叉项2x₁x₂的系数是2取一半得1放在(1,2)和(2,1)位置交叉项4x₂x₃的系数是4取一半得2放在(2,3)和(3,2)位置。没有的交叉项对应的对称位置就是0。这一步是整个二次型学习的基石。因为后续所有操作——化标准形、判断正定、求惯性指数——全都是在这个矩阵A上做的。如果你写矩阵这一步就错了后面全部白算。1.3 矩阵A的三条基本性质关于二次型对应的矩阵A有三条性质是必须刻在脑子里的对称性Aᵀ A。这是定义所要求的也是后续所有定理成立的前提。唯一性给定一个二次型对应的对称矩阵是唯一的。也就是说二次型和对称矩阵之间是一一对应的关系。可逆线性变换下矩阵发生合同变换。这一点是下一节理解化标准形的关键。这里特别说明一下合同变换。两个n阶方阵A和B如果存在一个可逆矩阵C使得B CᵀAC就称A与B合同。合同关系和相似关系是两回事相似是存在可逆矩阵PP⁻¹AP B强调的是特征值不变合同强调的是二次型在可逆线性变换下“同一件事物的不同坐标表达”。这一点很多同学会混淆后面讲到惯性定理的时候还会再提到。2. 化标准形把“纠缠”的变量拆开2.1 为什么要化标准形二次型的一般形式里交叉项是“变量之间的纠缠”。x₁x₂这个项的存在意味着你在看x₁的变化时还要同时考虑x₂这给研究带来了很大的麻烦。设想一个场景你在评估一个投资组合的风险组合里有两只股票收益分别是x₁和x₂组合的风险表达式里有一个交叉项ρx₁x₂ρ是相关系数。这个交叉项让你很难独立判断每只股票对整体风险的贡献。如果能把二次型化成只含平方项的形式也就是f d₁y₁² d₂y₂² ... dₙyₙ²那每个变量就独立了所有分析都变得清晰简单。这个过程就叫“化标准形”。几何上看化标准形相当于对坐标系做了一个旋转和缩放也就是可逆线性变换让二次曲面的主轴和新的坐标轴对齐。比如一个椭圆在原来的坐标系里可能是倾斜的方程里带交叉项xy换了坐标轴之后椭圆的长轴和短轴就正好落在新坐标轴上方程里就只剩下x²和y²了。2.2 核心方法一配方法拉格朗日配方法化标准形最基础、最不需要动脑子的方法是配方法所以也最适合考试拿分。核心思路就是从二次型里凑出完全平方项把交叉项一个一个消掉。直接看例子还是用刚才那个二次型f x₁² 2x₁x₂ 2x₂² 4x₂x₃ 5x₃²第一步找第一个变量的项。凡包含x₁的项是x₁² 2x₁x₂。把x₂当成常数对x₁配方x₁² 2x₁x₂ (x₁ x₂)² - x₂²所以原式变成f (x₁ x₂)² - x₂² 2x₂² 4x₂x₃ 5x₃² (x₁ x₂)² x₂² 4x₂x₃ 5x₃²第二步现在处理剩下的x₂和x₃之间的项。x₂² 4x₂x₃继续配方x₂² 4x₂x₃ (x₂ 2x₃)² - 4x₃²代回去f (x₁ x₂)² (x₂ 2x₃)² x₃²这就化成了标准形。如果我们令y₁ x₁ x₂ y₂ x₂ 2x₃ y₃ x₃那么f y₁² y₂² y₃²。这里的y₁、y₂、y₃就是新的变量它们和原来的x₁、x₂、x₃之间是一个可逆线性变换。具体写出来就是y₁ x₁ x₂ y₂ x₂ 2x₃ y₃ x₃写成矩阵形式y Px其中P [[1, 1, 0], [0, 1, 2], [0, 0, 1]]这个矩阵的行列式是1不等于0所以是可逆的说明这个变换是合法的。配方法的操作步骤整理如下如果某个xᵢ²的系数不为零就把含xᵢ的所有项集中起来配方用新变量yᵢ代替配方得到的完全平方项里面那个“整体”对剩下的变量重复这个过程如果所有平方项系数都为零但存在交叉项aᵢⱼxᵢxⱼ就先做一次线性变换xᵢ uᵢ uⱼ, xⱼ uᵢ - uⱼ强行制造出平方项再继续配方。这个方法的好处是过程直观不容易出错。坏处是当变量多的时候写起来比较长而且算出来的变换矩阵需要自己额外整理。2.3 核心方法二初等变换法合同变换法如果不想一遍一遍配方尤其变量数比较多的时候用初等变换法在矩阵层面一步到位会更高效。原理是这样的对对称矩阵A实施一系列“成对”的初等变换——每对变换包括一次行变换和一次同类型的列变换——等价于在A左右两边同时乘以一个初等矩阵E的转置和E本身也就是做合同变换。当A被化成了对角矩阵Λ时这些列变换的乘积矩阵C就满足CᵀAC ΛC的每一列就是新坐标基下的变换向量。实操时有一个加速技巧把A和单位矩阵I并排放在一起拼成一个n×2n的矩阵(A | I)。然后对左边这个A做行变换和列变换注意每次对A做了什么行变换也要对右侧I做同样的行变换而对A做列变换时右侧I不用动。目标是把A化简为对角矩阵整个过程结束后右侧I留下的就是变换矩阵C。用同一个例子说明。拼起来(A | I) [[1, 1, 0, 1, 0, 0], [1, 2, 2, 0, 1, 0], [0, 2, 5, 0, 0, 1]]第一对操作把第2行减去第1行再把第2列减去第1列。行变换作用在左右两块上列变换只作用在左块上。左块变成[[1, 0, 0], [0, 1, 2], [0, 2, 5]]右块变成[[1, 0, 0], [-1, 1, 0], [0, 0, 1]]第二对操作把第3行减去2倍的第2行再把第3列减去2倍的第2列。左块变成[[1, 0, 0], [0, 1, 0], [0, 0, 1]]此时A已经变成了单位矩阵I。右侧对应的矩阵就是变换矩阵CC [[1, 0, 0], [-1, 1, 0], [0, -2, 1]]验证一下用CᵀAC计算得到的确实是对角阵diag(1, 1, 1)。两种方法殊途同归。配方法适合手算和考试因为计算量小、不容易出错初等变换法适合需要同时求出变换矩阵的场景再比如编程实现的时候只需要对矩阵做遍历操作不需要人去“凝视”多项式。实际操作中我个人的习惯是三阶以下用配方三阶以上用初等变换法或者干脆用矩阵的合同对角化程序处理。2.4 化标准形的常见误区只做行变换不做列变换。这是最容易犯的错误。合同变换必须行列成对做只做单边变换得到的是相似变换的结果适用于求特征值不适用于二次型化标准形。列变换作用到了右侧矩阵。记住右侧只跟行变换走列变换不要碰右侧矩阵。配方之后忘记整理变换矩阵。很多教材的答案直接给出标准化结果但作业考试里往往要求写出所用的可逆线性变换这个变换矩阵就是配方时定义的新变量和旧变量之间的关系一定要顺手整理出来。配方法遇到“缺平方项”的题目直接放弃。比如f 2x₁x₂这样的二次型没有x₁²也没有x₂²这时先做变换x₁ y₁ y₂x₂ y₁ - y₂就能得到y₁² - y₂²然后再继续操作。3. 惯性定理标准形不唯一但“正负个数”唯一3.1 标准形真的不唯一很多同学学到化标准形的时候会有一个疑问为什么同一道题我用配方法得到的是y₁² y₂² y₃²隔壁同学用另一种方法得到的是2z₁² 3z₂² 6z₃²书上说都对这合理吗合理。因为可逆线性变换有无数种每一种都会把二次型变成一个新的标准形。就像同一个椭圆你可以用(x轴为长轴)的方程描述也可以用(按任意角度旋转后的坐标系)的方程描述方程的形式必然随着坐标系改变。但是不管标准形里的系数具体是几有几项正的、有几项负的这个“正负号的个数”是不变的。这就是惯性定理的核心内容。3.2 惯性定理的准确表述设实二次型f(x₁, ..., xₙ) xᵀAx经过任意可逆线性变换化为标准形f d₁y₁² d₂y₂² ... dₙyₙ²其中d₁, ..., dₙ都不为零如果某些系数为0对应项消失。那么标准形中正系数的个数p和负系数的个数q是唯一确定的不随变换的改变而改变。这里的p称为正惯性指数q称为负惯性指数p - q称为符号差p q r就是矩阵A的秩。这三个数p、q、p-q彼此互相决定知道其中两个就能推出第三个。用刚才的例子无论怎么变换diag(1, 1, 1)是三个正号所以p3q0符号差p-q3。另一个同学得到的diag(2, 3, 6)也是三个正号p3q0。这就是为什么两个结果都是对的。但如果你化到某个标准形是y₁² - y₂² y₃²p2q1那就说明原二次型的惯性指数是(2, 1)不可能再通过可逆线性变换变成三个全正的平方和——除非允许复数变换但实二次型里我们不讨论这种情况。3.3 规范形把标准形“归一化”既然标准形不唯一那为了统一表达能不能规定一种最“标准”的形式可以的。只要在标准形的基础上每个非零平方项再做一次伸缩变换把系数化成±1就行。比如两个标准形y₁² y₂² y₃²和2z₁² 3z₂² 6z₃²分别令u₁ y₁, u₂ y₂, u₃ y₃和u₁ √2z₁, u₂ √3z₂, u₃ √6z₃就都变成了u₁² u₂² u₃²这就是规范形。一般地任意实二次型都可以化为z₁² ... z_p² - z_{p1}² - ... - z_{pq}²这种形式其中正项个数p就是正惯性指数负项个数q就是负惯性指数。我见过不少同学背了一堆惯性定理的结论却不知道规范形和标准形的区别。简单说标准形系数可以是任意非零实数规范形系数只能是±1和0。规范形是标准形的“唯一代表”同一个二次型的所有标准形对应同一个规范形。3.4 惯性定理的几何直觉为什么要理解这个因为惯性定理告诉我们一个“不变量”——无论你怎么换坐标系一个二次曲面的“形状类型”不会变。举例来说三维空间里的二次曲面x² y² z² 1代表椭球面x² y² - z² 1代表单叶双曲面x² - y² - z² 1代表双叶双曲面。椭球面无论你怎么旋转坐标系都不可能变成一个双曲面。这正对应着惯性指数里的正负号个数不同。椭球面的p3q0单叶双曲面p2q1双叶双曲面p1q2。它们属于本质不同的类型。所以惯性定理在几何分类、相对论时空结构、优化理论等地方都有应用。它强调的核心是二次型在可逆线性变换下保持不变的本质属性不是具体的系数而是正负惯性指数。4. 正定二次型最特殊也最常用的一类4.1 正定与半正定的定义在所有的二次型里正定二次型是性质最好的一类也是考试和实际应用里考得最多的一类。定义如果对任意不全为零的实向量x都有f(x) xᵀAx 0就称二次型f是正定的对应矩阵A称为正定矩阵。如果f(x) ≥ 0且存在非零向量使f(x) 0称半正定。类比一下正定矩阵就像一个“永远取正值的能量函数”。在物理系统里如果一个系统的势能可以写成xᵀAx且A正定说明这个系统在平衡位置附近是稳定的任何偏离平衡的位移都会让势能增加。这在判断力学系统稳定性、控制系统收敛性时是核心依据。4.2 判断正定的五个等价条件这是二次型里最需要背熟的一组结论。以下五个条件均为n阶实对称矩阵A正定的充要条件正惯性指数p n即所有特征值都大于0存在可逆矩阵C使A CᵀC即A与单位矩阵合同A的所有特征值都为正A的所有顺序主子式都为正A的所有主子式都为正。第一条和第二条是定义层面的条件考试常用来证明一些抽象命题第三条特征值法是理论上最干净的方法但要算特征值的话计算成本偏高小规模题目还行第四条顺序主子式法是手算判断正定最常用的方法因为它只需要算几个行列式不用求特征值。4.3 顺序主子式法实操什么叫顺序主子式矩阵A的k阶顺序主子式就是取前k行、前k列组成的子矩阵的行列式。正定的充要条件是所有顺序主子式都大于0。举一个三阶例子。判断A [[2, -1, 0], [-1, 2, -1], [0, -1, 2]]一阶顺序主子式D₁ 2 0。二阶顺序主子式D₂ |2, -1; -1, 2| 4 - 1 3 0。三阶顺序主子式D₃ |2, -1, 0; -1, 2, -1; 0, -1, 2|。计算得到D₃ 4 0。三个顺序主子式全部大于0所以A是正定矩阵。这个矩阵是差分方程中常见的三对角矩阵在数值分析里经常出现它的正定性保证了离散拉普拉斯算子在数值求解中的稳定性。4.4 负定、半正定的判断方法负定矩阵的判断不用单独另背一套只需要对-A使用正定的判定法则-A正定当且仅当A负定。具体的判别法是A负定的充要条件是A的奇数阶顺序主子式小于0偶数阶顺序主子式大于0。也就是符号正负交替且第一个是负的。半正定则要求所有主子式非负并且矩阵至少有一个特征值为0。注意这里说的是“主子式”而不是“顺序主子式”。区别在于主子式可以是任意选取若干行列组成的子矩阵的行列式不要求是前k行k列。这一点非常容易出错很多教材上的课后习题就是专门挖这个坑的。举一个经典反例说明为什么不能只用顺序主子式判断半正定。考虑矩阵B [[0, 0], [0, -1]]它的顺序主子式D₁ 0, D₂ 0都非负。但B显然不是半正定矩阵因为取x (0, 1)ᵀ时xᵀBx -1 0。所以判断半正定必须检查所有主子式而不只是顺序主子式。4.5 正定判断的常见错误只检查对角线元素是否全为正。对角线为正只是必要条件远不是充分条件。反例[[1, 2], [2, 1]]对角线都是正的但特征值是3和-1不定矩阵。用顺序主子式判断半正定。如上所述半正定必须查全部主子式。把“所有特征值非负”和“所有顺序主子式非负”混为一谈。对半正定矩阵顺序主子式非负是必要条件但不是充分条件。忽略对称性前提。如果给的矩阵不是对称矩阵请先检查对称部分。因为xᵀAx本质上是xᵀ((AAᵀ)/2)x二次型只跟实对称部分有关。5. 一次讲透二次型的实际应用场景5.1 多元函数极值判断这是二次型最直接、最“功利”的应用也是高等数学和线性代数交汇的地方。判断一个多元函数在临界点是极大还是极小需要用到二阶偏导数矩阵Hessian矩阵。这个矩阵就是二次型在泰勒展开中的二次项系数矩阵。设f(x₁, ..., xₙ)在点x₀处梯度为零H是Hessian矩阵所有二阶偏导组成的对称矩阵。判断如下如果H正定则该点是严格局部极小值点如果H负定则该点是严格局部极大值点如果H不定既有正特征值又有负特征值则该点是鞍点如果H半正定或半负定需要进一步考察更高阶项不能直接下结论。这里二次型的正定性工具就派上用场了。用顺序主子式判断H的正定性比去算n个特征值要快得多。二元函数的情形你们在高等数学里学过f_xx 0且f_xx·f_yy - f_xy² 0时取极小值。这其实就是二阶Hessian矩阵正定的两个顺序主子式条件。5.2 二次曲线与二次曲面的分类在解析几何里一个一般的二元二次方程ax² 2bxy cy² dx ey f 0前面这个二次齐次部分ax² 2bxy cy²就是一个二次型。通过旋转坐标系把交叉项消掉方程就变成了标准形式然后一眼就能看出它到底是椭圆、双曲线还是抛物线。由于惯性定理保证了旋转前后正负惯性指数不变所以分类结果是唯一确定的。比如椭圆型p 2q 0二次项部分恒正或恒负双曲型p 1q 1二次项部分可正可负抛物型p q 2即二次型秩小于变量数说明退化。这个分类正是偏微分方程里椭圆型、双曲型、抛物型方程分类的基础。你后面学数学物理方程的时候判断一个二阶偏微分方程属于哪一类本质上就是在看其最高阶项的系数矩阵的特征值符号。二次型的基础在这里直接延续下来了。5.3 工程与数据领域里的二次型再往远一点说二次型在工程和数据领域出现的频率超乎想象。结构力学里的应变能、动能表达式本质上都是速度向量或位移向量的二次型判断结构是否稳定就看相应的能量矩阵是否正定。振动分析里的质量矩阵和刚度矩阵通常都是对称正定矩阵特征值分解直接给出固有频率和振型。信号处理里协方差矩阵是一个典型的半正定矩阵。PCA主成分分析的事情就是找一组正交变换让数据在某个方向上的投影方差最大化这等价于把协方差矩阵这个二次型对角化。你在机器学习里看到的“马氏距离”表达式(x-μ)ᵀΣ⁻¹(x-μ)也是一个二次型用来衡量样本到分布中心的距离同时考虑各维度的方差和相关性。经济学里效用函数在均衡点的二阶近似就是Hessian矩阵二次型判断消费者最优解是否稳定同样要检查这个二次型是否正定。这些例子说明一个观点二次型不是线性代数书末章一个孤立的、只为了出题而存在的知识点它是连接线性代数和实际世界的一个关键枢纽。6. 常见问题速查与学习避坑指南6.1 几个高频易错点对照易错点错误做法正确做法原因写二次型矩阵时把交叉项系数直接放矩阵里交叉项a₁₂x₁x₂的系数a₁₂直接写在(1,2)位置写成a₁₂/2展开xᵀAx时非对角项会出现两次矩阵化标准形时只做行变换对A只做行变换行变换后必须做同类型列变换合同变换需要CᵀAC同时作用把符号差和惯性指数的关系记混认为符号差等于负惯性指数符号差 p - q定义问题推一次就能记住用顺序主子式判断半正定D₁≥0, D₂≥0就断言半正定必须检查所有主子式顺序主子式非负比半正定弱判断正定时忽略对称性对非对称矩阵直接求顺序主子式先对称化用(AAᵀ)/2二次型只依赖对称部分6.2 我做题和教学里踩过的坑第一坑配方时把新变量定义错。很多同学配方写出了f (x₁x₂)² ...这样的形式却直接说y₁ x₁y₂ x₂。记住新变量是“完全平方里那个整体”不是原来的单个变量。写成标准形后务必把“标准形是什么”和“用了什么变换”两件事分开列出缺一不可。第二坑初等变换法做完之后搞不清C到底取在左边还是右边。记住口诀对(A|I)做“行变换同步右侧”操作当左边A化为对角阵D时右侧矩阵就是满足CᵀAC D的C。但如果题目要求的是“可逆线性变换x Cy”那么变换矩阵是C而中间那个向量关系写的是y C⁻¹x两者不要弄混。第三坑学完正定性做题的时候遇到参数讨论就慌。比如已知二次型f x₁² 4x₂² 2a x₁x₂ 4x₃²问参数a取何值时二次型正定。这种题其实就是套顺序主子式的条件写出D₁ 1、D₂ 4 - a²、D₃ 4(4 - a²)要求全部大于0得到|a| 2。多练几道这种参数题比背十条定理更有效。6.3 复习建议如何高效掌握二次型先写对矩阵。拿到一个二次型无论题目问什么先把它对应的对称矩阵写出来。这一步错了后面全错。三种方法至少各做一道完整题配方法、初等变换法、特征值法利用正交变换化标准形。有的教材把正交变换化标准形放在实对称矩阵对角化那一节本质上就是施密特正交化之后得到的标准形系数是特征值这只是一个特殊情形。但“正交变换”这个东西有一个额外性质——保持向量长度和夹角不变所以它是唯一一种“几何上不扭曲”的化标准形方式在几何应用里更重要。主动画一画二次型的等值线。哪怕是亲手画一个x₁² 2x₂² 1的椭圆再对比x₁² - 2x₂² 1的双曲线你对正定、不定的感受就会完全不同。线性代数太抽象的话图形会给你一个“锚定”的直觉。做一遍从二次型到规范形的完整链先化标准形再标准化为规范形写出正惯性指数和负惯性指数。这一条链走顺了考试里关于二次型的大部分小题就都能拿分了。结尾这篇文章从二次型的定义讲到矩阵表示再讲到化标准形、惯性定理、正定判断最后落到实际应用基本上把“线性代数(10): 二次型”这个主题覆盖完整了。如果你正在准备考试我建议你把配方法和顺序主子式法练到条件反射的程度——它们是最稳定的得分点如果你是想理解背后的数学结构那不妨多想想惯性定理和合同变换之间的内在联系。我个人在教这门课和做工程分析时的体会是二次型真正的力量不在于那一堆计算技巧而在于它提供了一个“把二次结构当作矩阵来研究”的思维范式。这个范式你一旦掌握了后面去学优化理论、控制系统、数据降维会发现到处都是它的影子。所以花点时间把这个主题吃透绝对是值得的。
返回列表