4、数学预备知识(二):矩阵的正定性判定、Sylvester准则

好,咱们接着聊。上一节我们把向量和矩阵的基本运算捋了一遍,这一节要啃的,是李雅普诺夫稳定性理论里最核心的数学工具之一——矩阵的正定性

说实话,我刚入行做控制系统仿真的时候,对“正定矩阵”的理解就停留在“特征值大于零”这个层面。直到有一次,我搭建了一个非线性系统的李雅普诺夫函数,怎么仿真都不收敛,折腾了两天。最后老工程师看了一眼我的矩阵,说:“小伙子,你这矩阵不是正定的。” 我拿Sylvester准则一验算,果然,二阶顺序主子式是负的。嗯,从那以后,我再也不敢小看这个准则了。

4.1 为什么我们需要判断矩阵的正定性?

在李雅普诺夫稳定性理论中,我们经常需要构造一个能量函数 V(x)。这个函数必须满足:

  • V(x) > 0 对于所有 x ≠ 0
  • V(0) = 0

说白了,这个能量函数必须是“正定”的。而二次型函数 V(x) = xᵀPx 是最常用的形式。这时候,矩阵 P 的正定性就直接决定了 V(x) 是不是一个合格的能量函数。

你想想看,如果 P 不是正定的,那 V(x) 在某些方向上可能是负的。这就好比你说“系统的能量在减少”,结果能量本身是负的——这物理意义就乱套了。

4.2 什么是正定矩阵?

定义其实很简单:一个 n×n 的实对称矩阵 P,如果对于任意非零向量 x ∈ ℝⁿ,都有 xᵀPx > 0,那么 P 就是正定矩阵。

我个人的习惯是,把正定矩阵想象成一个“凸碗”的形状。你往碗里扔一个小球,它总会滑到底部。这个“底部”就是系统的平衡点。

常见的等价条件有:

  • 所有特征值 λᵢ > 0
  • 所有顺序主子式 > 0(这就是Sylvester准则)
  • 存在可逆矩阵 Q,使得 P = QᵀQ

重要提醒: 正定性只针对对称矩阵定义。如果矩阵不对称,我们通常用它的对称部分 (P + Pᵀ)/2 来判断。

4.3 Sylvester准则:实战中最常用的工具

Sylvester准则,说白了就是:一个对称矩阵是正定的,当且仅当它的所有顺序主子式都大于零

什么叫顺序主子式?就是矩阵左上角 k×k 子矩阵的行列式,k = 1, 2, ..., n。

举个例子,对于矩阵:

P = [4   2]
    [2   3]

一阶顺序主子式:Δ₁ = 4 > 0 ✓
二阶顺序主子式:Δ₂ = det(P) = 4×3 - 2×2 = 8 > 0 ✓

所以 P 是正定的。

再来看一个我踩过的坑:

P = [1   2]
    [2   1]

Δ₁ = 1 > 0 ✓
Δ₂ = 1×1 - 2×2 = -3 < 0 ✗

你看,一阶主子式是正的,但二阶是负的。这个矩阵就不是正定的。我当时就是犯了这种错误,只检查了特征值没检查全,结果仿真数据全错了。

4.4 半正定、负定与不定矩阵

除了正定,我们还会遇到其他情况:

类型 定义 Sylvester准则
正定 xᵀPx > 0, ∀x ≠ 0 所有顺序主子式 > 0
半正定 xᵀPx ≥ 0, ∀x 所有主子式 ≥ 0
负定 xᵀPx < 0, ∀x ≠ 0 (-1)ᵏ × 第k阶顺序主子式 > 0
不定 有正有负 不满足以上任何条件

实战技巧: 我在做LQR控制器设计时,经常需要验证Riccati方程的解是否正定。我的习惯是先用Sylvester准则快速过一遍,如果发现某个主子式接近零,就说明数值稳定性可能有问题,需要改用更稳定的求解算法。

4.5 知识体系结构图

下面这张图,是我自己总结的矩阵正定性判定逻辑。你照着这个流程走,基本不会出错:

矩阵正定性判定流程 输入对称矩阵 P 所有Δᵢ > 0? ✅ 正定矩阵 所有主子式 ≥ 0? ⚠️ 半正定矩阵 (-1)ᵏΔᵢ > 0? 🔻 负定矩阵 ❌ 不定矩阵

4.6 实战中的注意事项

最后,分享几个我这些年积累的经验:

  • 数值稳定性: 实际计算中,主子式接近零的情况很常见。我建议设置一个容差 ε = 1e-8,小于这个值就视为零。
  • 大矩阵怎么办? 对于 10×10 以上的矩阵,手动计算主子式不现实。直接用 MATLAB 的 chol(P) 函数,如果 Cholesky 分解成功,就是正定的。
  • 对称性检查: 我见过太多人忘了检查矩阵是否对称。记住,非对称矩阵没有正定性一说。

曾经踩过的坑: 有一次我在做卫星姿态控制,用了一个 6×6 的矩阵。Sylvester准则算到第5阶主子式都是正的,第6阶突然变成负的。我查了三天代码,最后发现是数据采集时有一个传感器的单位搞错了。所以,矩阵正定性检查也是数据质量检查的一种手段

好了,这一节的内容就到这里。矩阵正定性是李雅普诺夫方法的基石,你把它吃透了,后面讲稳定性定理的时候就会轻松很多。

专注资料整理