📑 查看全课大纲(第 79 / 93 节)
- 1.概论和集合的定义
- 2.逼疯康托的实数集理论
- 3.常用不等式与映射
- 4.函数及特殊函数
- 5.序列极限的定义
- 6.序列极限的性质与夹逼定理
- 7.重要极限
- 8.无穷小量,无穷大量和一组重要的阶的比较关系
- 9.聚点原理
- 10.函数极限及其性质
- 11.重要极限与等价无穷小
- 12.连续函数
- 13.导数的概念(那些年,扛起牛顿的胡克)
- 14.定义法求导
- 15.函数四则运算的导数与反函数求导法则
- 16.复合函数,隐函数,参数式求导
- 17.不定式求导之“洛必达与伯努利的师生情”
- 18.一阶微分
- 19.高阶导数
- 20.高阶微分
- 21.罗尔中值定理与拉格朗日中值定理
- 22.柯西空降科学院遭排挤
- 23.泰勒公式与泰勒的克妻属性
- 24.利用泰勒展开唯一性定理计算泰勒展开
- 25.泰勒公式的余项估计
- 26.极值问题与导数
- 27.函数凹凸性
- 28.无卵用的渐近线与函数作图
- 29.不定积分的定义
- 30.第一换元法
- 31.第二换元法
- 32.分部积分法
- 33.有理式积分
- 34.三角替换
- 35.定积分的概念
- 36.定积分的性质与积分中值定理
- 37.变上限定积分
- 38.微积分基本定理之“高斯教你如何优雅地装逼”
- 39.定积分的换元法
- 40.奇偶函数与周期函数的定积分
- 41.曲线求长与不可求长曲线(海岸线居然算不出长度?)
- 42.旋转体体积
- 43.旋转体侧面积
- 44.极坐标下图形的面积(数学系常用表白曲线)
- 45.欧式空间
- 46.点列极限,开集与闭集
- 47.多元函数的定义
- 48.多元函数的极限
- 49.多元连续函数
- 50.一阶偏导数
- 51.高阶偏导数
- 52.全微分
- 53.方向导数与梯度
- 54.链式法则
- 55.一阶全微分形式的不变性与高阶微分
- 56.多元函数的泰勒公式
- 57.隐函数存在定理与逆映射存在定理
- 58.多元函数的极值
- 59.矩阵基础知识
- 60.行列式的定义与特殊矩阵的行列式
- 61.行列式的性质
- 62.行列式按k行展开
- 63.线性方程组初步与高斯消元法
- 64.齐次线性方程组与Cramer法则
- 65.线性空间
- 66.线性相关与线性无关
- 67.向量组的秩
- 68.矩阵的秩与线性方程组有解的充要条件
- 69.齐次线性方程组的解集结构
- 70.非齐次线性方程组解集结构
- 71.基与维数
- 72.矩阵的乘法
- 73.特殊矩阵
- 74.矩阵乘积的秩与行列式
- 75.矩阵的逆
- 76.正交矩阵
- 77.矩阵对角化与特征值特征向量
- 78.实对称矩阵对角化
- 79.二次型与正定矩阵
- 80.LU分解
- 81.Cholesky分解
- 82.SVD分解
- 83.线搜索
- 84.步长
- 85.最速下降法和牛顿法
- 86.共轭梯度法
- 87.拟牛顿法
- 88.无约束优化
- 89.若干知识点补充(一)
- 90.若干知识点补充(二)
- 91.凸优化问题
- 92.对偶问题(一)
- 93.对偶问题(二)
二次型与正定矩阵
约 34 分钟
二次型与正定矩阵
小象实战讲义 · 人工智能数学基础
在多元函数极值分析中,我们曾提到海塞矩阵的正定性决定了函数的凹凸性。本节将系统学习这一关键概念背后的数学理论—二次型与正定矩阵。我们将从多元二次多项式的矩阵表示出发,理解如何通过坐标变换简化其形式,并最终掌握判断矩阵正定性的多种方法,为后续的最优化理论奠定坚实的代数基础。
💡 核心导读
- 二次型的矩阵表示:任何 元二次齐次多项式都可以唯一地表示为一个对称矩阵 的二次型 。
- 合同变换与标准型:通过可逆的线性替换(合同变换),可以将二次型化为只含平方项的标准型,这对应于将对称矩阵合同对角化。
- 正定性的本质:正定二次型(矩阵)意味着对于任何非零向量,其二次型值恒为正。这等价于矩阵的所有特征值大于零,或合同于单位矩阵。
- 实用的判定准则:对于实对称矩阵,其正定性的充要条件是所有顺序主子式大于零,这是一个非常便于计算验证的判据。
二次型的基本概念与矩阵表示
一个 元二次型是指关于 个变量 的二次齐次多项式,其一般形式为: 其中, 与 是同类项,因此我们总可以合并,并约定其系数满足 。这使得所有交叉项的系数可以对称地表示。
引入列向量 ,我们可以将上述二次型简洁地表示为矩阵形式: 其中 是一个 阶实对称矩阵,其元素 。具体展开为: 矩阵 称为该二次型的系数矩阵。
几何背景:二次型对应于 维空间中的二次曲面(如二维的圆锥曲线、三维的椭球面、双曲面等)。研究二次型的一个核心目标是,能否通过坐标变换(即换一组基)来简化其表达式,消除交叉项,使其只包含平方项。这在代数上对应于将对称矩阵合同对角化。
合同变换与二次型的标准型
为了研究上述坐标变换,我们引入两个关键定义。
定义1(非退化线性替换):设 是两组 维变量,若存在一个 阶可逆矩阵 ,使得 则称此变换为一个非退化线性替换。“非退化”源于 可逆,保证了变换前后自由度不变,信息无损失。
定义2(等价二次型):设 与 是两个 元二次型。若存在一个非退化线性替换 ,使得 ,则称这两个二次型等价。
将 代入 : 由于 对任意 成立,因此有 。这引出了矩阵的合同概念。
定义3(合同矩阵):对于两个 阶矩阵 和 ,如果存在一个可逆矩阵 ,使得 则称 与 合同。
因此,两个二次型等价,当且仅当它们的系数矩阵合同。我们的核心问题转化为:对于一个实对称矩阵 ,能否找到一个可逆矩阵 ,使得 是一个对角矩阵 ?
答案是肯定的。回顾上一节关于实对称矩阵的结论:任何 阶实对称矩阵 都可以正交相似于一个对角矩阵。即存在正交矩阵 (满足 ),使得 这正是矩阵的合同关系 ,其中 是可逆的。因此,任何实对称矩阵都合同于一个对角矩阵。
对应到二次型上,这意味着总可以通过一个非退化线性替换 ,将二次型 化为: 这种只含平方项的形式称为二次型的标准型。对角矩阵 对角线上的元素 是 的特征值。
import numpy as np
import sympy as sp
# 示例:将二次型化为标准型
# 定义二次型 f = 2x1^2 + 2x2^2 + 2x3^2 + 2x1x2 + 2x1x3
# 其系数矩阵 A
A = np.array([[2, 1, 1],
[1, 2, 0],
[1, 0, 2]])
# 验证A是对称矩阵
print("矩阵A:\n", A)
print("A是否对称?", np.allclose(A, A.T))
# 计算特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eig(A)
print("\n特征值:", eigenvalues)
print("特征向量矩阵(列向量):\n", eigenvectors)
# 验证正交矩阵性质(实对称矩阵的特征向量矩阵是正交矩阵)
T = eigenvectors
print("\nT^T * T 是否近似单位阵?\n", np.round(T.T @ T, 10))
# 验证合同对角化:T^T * A * T 应为对角阵
Lambda = T.T @ A @ T
print("\n合同对角化结果 T^T * A * T:\n", np.round(Lambda, 10))
# 对角线元素应为特征值
print("对角线元素(应与特征值对应):", np.diag(np.round(Lambda, 10)))正定二次型与正定矩阵
在优化问题中,我们关心二次型取值的符号。
定义4(正定二次型):设 是一个实二次型。如果对于任意非零列向量 ,都有 则称 为正定二次型。
定义5(正定矩阵):若实对称矩阵 对应的二次型 是正定的,则称 为正定矩阵。简言之,正定矩阵是正定的实对称矩阵的简称。
正定矩阵在多元函数极值判别中扮演着“二阶导数大于0”的角色。若函数在某点的海塞矩阵(二阶偏导数构成的对称矩阵)正定,则该点为局部极小值点。
正定矩阵的等价刻画
设 为 阶实对称矩阵,则以下命题等价:
- 是正定矩阵。
- 合同于单位矩阵 ,即存在可逆矩阵 ,使得 。
- 的所有特征值 均为正数。
- 的各阶顺序主子式均大于零。
顺序主子式是指:取矩阵 的前 行和前 列构成的子矩阵的行列式,记为 ,其中 。
部分结论的说明:
- (1) (2):若 正定,其特征值全为正数 。令 ,则 合同于 。取 ,则有 。由于合同关系具有传递性,故 合同于 。反之,若 合同于 ,则对任意非零 ,令 (亦非零),有 ,故 正定。
- (1) (3): 正交相似于特征值对角阵 ,即 合同于 。 正定当且仅当 正定,而对角矩阵 正定等价于其对角线元素(即特征值)全大于零。
- (1) (4):此为Sylvester 定理,其证明思路基于数学归纳法和矩阵分块,是判定正定性最常用的计算工具。
import numpy as np
# 示例:判断矩阵的正定性
def is_positive_definite(matrix):
"""
通过三种方法判断实对称矩阵是否正定。
1. 检查所有特征值是否大于0。
2. 检查所有顺序主子式是否大于0。
3. 尝试进行Cholesky分解(仅对正定矩阵成功)。
"""
A = np.array(matrix, dtype=float)
n = A.shape[0]
# 方法1:特征值判据
eigvals = np.linalg.eigvals(A)
all_eig_positive = np.all(eigvals > 0)
# 方法2:顺序主子式判据
leading_principal_minors = []
all_minors_positive = True
for k in range(1, n+1):
minor = np.linalg.det(A[:k, :k])
leading_principal_minors.append(minor)
if minor <= 0:
all_minors_positive = False
# 方法3:Cholesky分解
try:
L = np.linalg.cholesky(A) # 若成功,则A正定
cholesky_success = True
except np.linalg.LinAlgError:
cholesky_success = False
print(f"矩阵:\n{A}")
print(f"特征值:{eigvals} -> 全大于0: {all_eig_positive}")
print(f"顺序主子式 (1到{n}阶): {leading_principal_minors} -> 全大于0: {all_minors_positive}")
print(f"Cholesky分解成功: {cholesky_success}")
print(f"综合判断为正定矩阵: {all_eig_positive and all_minors_positive and cholesky_success}\n")
return all_eig_positive
# 测试一个正定矩阵
A_pos = np.array([[4, 1, 0],
[1, 5, 2],
[0, 2, 6]])
is_positive_definite(A_pos)
# 测试一个非正定矩阵(有负特征值)
A_neg = np.array([[1, 2, 3],
[2, 1, 2],
[3, 2, 1]])
is_positive_definite(A_neg)
# 测试一个半正定矩阵(有零特征值,即正文练习1中的系数矩阵)
A_semi = np.array([[1, 1, 1],
[1, 2, 0],
[1, 0, 2]])
print("半正定矩阵测试:")
is_positive_definite(A_semi) # 特征值为 0, 2, 3:三种判据均失败其他定号性
类似地,我们可以定义其他定号性:
- 半正定:对任意非零 ,有 。等价于所有特征值 。
- 负定:对任意非零 ,有 。等价于 为正定矩阵。
- 半负定:对任意非零 ,有 。等价于所有特征值 。
- 不定:既不是正定、负定、半正定,也不是半负定。
📝 动手练一练
写出二次型的矩阵:将二次型 写成矩阵形式 ,并判断其正定性。 提示:先写出对称矩阵 ,然后计算其特征值或顺序主子式。
利用顺序主子式判定:判断下列矩阵是否为正定矩阵。
参考答案:
系数矩阵 。 a) 顺序主子式:, , 。由于三阶顺序主子式等于0,不满足全大于0,故矩阵 不是正定的。 b) 计算特征值:。存在零特征值,验证了其为半正定矩阵。 c) 一个标准型为 。
对于矩阵 : 一阶顺序主子式:。 二阶顺序主子式:。 三阶顺序主子式:2 - (-1)(-1)) - (-1)((-1)2 - 0(-1)) = 23 + 1*(-2) = 4 > 0。 所有顺序主子式大于0,故 是正定矩阵。 对于矩阵 : 一阶顺序主子式:。 二阶顺序主子式:。 不满足所有顺序主子式大于0,故 不是正定矩阵。计算其特征值可发现其有负值,为不定矩阵。
本章小结
本节我们建立了从多元二次多项式到对称矩阵的桥梁,并深入探讨了其核心性质。
要点回顾:
- 二次型 是研究多元二次曲面的代数工具,其中 为实对称矩阵。
- 通过非退化线性替换(合同变换 )可将二次型化为标准型,这对应于寻找矩阵的合同对角化。
- 正定矩阵()是优化中凸性的判别依据,它有多种等价刻画:合同于单位阵、特征值全正、顺序主子式全正。
行动清单:
- 强化概念关联:面对一个多元二次函数,尝试立刻写出其海塞矩阵,并思考其正定性与函数图形凹凸性的关系。
- 掌握计算工具:对于给定的实对称矩阵,熟练使用
numpy.linalg.eig计算特征值,或手动计算其顺序主子式,来判定其正定性。 - 代码验证:运行讲义中的代码示例,修改矩阵参数,观察正定、半正定、不定矩阵的特征值、主子式及 Cholesky 分解结果的差异,加深数值理解。
— 小象教研组
- 第10章讲义(含板书):线性代数(PDF · 15.5MB)下载
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问