格什戈林定理模拟器 返回
数值分析

格什戈林定理模拟器

无需实际计算特征值,仅从矩阵元素就能缩小特征值的存在范围——这就是格什戈林定理。改变3×3对称矩阵的对角元和非对角元,可以实时观察复平面上绘制的圆盘内必然包含特征值的情况。

参数设置
对角元 a11
第1行的对角元。成为圆盘1的中心
对角元 a22
第2行的对角元。成为圆盘2的中心
对角元 a33
第3行的对角元。成为圆盘3的中心
非对角元的大小 offMag
所有非对角元的共同值。各圆盘的半径为 2·offMag
计算结果
圆盘1(中心, 半径)
圆盘2(中心, 半径)
圆盘3(中心, 半径)
最大特征值(实测)
最小特征值(实测)
格什戈林上界
复平面 — 格什戈林圆盘和特征值

横轴为实轴,纵轴为虚轴。3个半透明圆盘表示各行的圆盘,实轴上的点为实际特征值。所有点都落在至少一个圆盘内部。

圆盘和特征值(实轴上的一维配置)
圆盘半径 vs 非对角元
理论·主要公式

$$\text{圆盘 }i:\quad |\lambda-a_{ii}|\le R_i,\qquad R_i=\sum_{j\ne i}|a_{ij}|$$

第i行的格什戈林圆盘。中心为对角元 a_ii,半径 R_i 为该行非对角元的绝对值之和。所有特征值都在这些圆盘的并集内,与其他圆盘分离的孤立圆盘内恰好包含1个特征值。

$$A=\begin{bmatrix}a_{11}&m&m\\ m&a_{22}&m\\ m&m&a_{33}\end{bmatrix},\qquad R_1=R_2=R_3=2m$$

本工具的矩阵。非对角元全为 m(=offMag),每行都有2个非对角元,因此半径统一为 2m。

$$\text{上界}=\max_i\,(a_{ii}+R_i),\qquad \text{下界}=\min_i\,(a_{ii}-R_i)$$

谱(特征值集合)覆盖的实轴区间。上界保证最大特征值,下界保证最小特征值。

格什戈林定理是什么

🙋
我听不熟悉"格什戈林定理"这个名字。这是用来做什么的定理呢?
🎓
简单说,这是一个"不计算特征值,而是猜测特征值大约在哪里"的定理。精确求特征值对于大矩阵来说是相当大的计算量。但利用格什戈林定理,只需看看矩阵的数字,就能说出"特征值只能在这个范围内"。这在数值线性代数中是少数几个"白吃白喝(免费午餐)"之一。
🙋
不计算就能知道范围,听起来有点像魔法。怎样决定范围呢?
🎓
在复平面上,根据矩阵的"行"逐个画圆。圆心是该行的对角元,半径是该行非对角元的绝对值全部加起来。这就是格什戈林圆盘。定理保证的是"所有特征值都必然落在这些圆盘的并集内"。通过拖动左边的滑块改变 a11,你能看到圆盘1在实轴上左右移动。
🙋
明白了!那如果把非对角元(offMag)增大,圆盘会怎样呢?
🎓
好问题。offMag 增大时,每行非对角元的绝对值之和增加,圆盘的半径随之变大。在这个工具的3×3矩阵中,每行都有2个非对角元,所以半径统一为 2·offMag。半径增大后圆盘相互重叠,特征值散开,远离对角元。反过来,将 offMag 设为 0,圆盘缩成半径为0的点,特征值就是对角元本身。
🙋
我发现了一个圆盘单独突出,不与其他圆盘重叠。这有什么意义吗?
🎓
很重要。格什戈林有第二定理说"如果某个圆盘与其他任何圆盘都不重叠,那么该圆盘内恰好包含1个特征值"。所以找到孤立的圆盘,就能肯定其对角元附近就有1个特征值。这给出了特征值的"个数",是相当强的信息。
🙋
实际应用中这个定理什么时候用呢?
🎓
经常用在迭代法的收敛检验上。用雅可比法或高斯-赛德尔法求解线性方程组,收敛与否取决于某个矩阵的谱半径(特征值绝对值的最大)是否小于1。如果通过格什戈林知道"特征值都在这个圆盘内",就能白得谱半径的上界。还有验证矩阵是否正定,判断控制系统稳定性等。在运行重量级的特征值求解器之前,用来"粗测一下"很方便。

常见问题

n×n矩阵的所有特征值都必然存在于行列确定的n个"格什戈林圆盘"的并集中,这是一个定理。第i行的圆盘中心为对角元 a_ii,半径 R_i 为该行非对角元的绝对值之和。无需实际计算特征值,仅从矩阵元素就能直接估计其存在范围,这是最大的优点。
第i行圆盘的半径 R_i 是该行对角元外所有元素的绝对值之和,R_i = Σ_{j≠i} |a_ij|。在本模拟器的3×3矩阵中,所有非对角元大小相同 offMag,因此每行都有2个非对角元,半径统一为 R = 2·offMag。非对角元越大,圆盘越宽,特征值离对角元越远分布。
特征值计算一般是重计算,但格什戈林定理可以仅通过查看矩阵元素就立即缩小特征值范围。具体用途包括:影响迭代法收敛的谱半径的概估,矩阵是否可逆(非奇异)或正定的确认,系统稳定性的上下界评估,对角占优性的判定等。在运行详细的特征值求解器之前作为合理性检查也很有效。
根据格什戈林第二定理,如果k个圆盘的并集与其他圆盘互不相交,则该并集内恰好包含k个特征值。特别地,如果某个圆盘与其他所有圆盘都不重叠,则该圆盘内必然恰好包含1个特征值。非对角元越小,圆盘越易分离,特征值越倾向于在对角元附近各占一个。

实际应用

迭代法的收敛判定:用雅可比法或高斯-赛德尔法求解线性方程组时,迭代是否收敛取决于迭代矩阵的谱半径是否小于1。谱半径的精确计算需要特征值计算,但通过格什戈林定理可以从圆盘的最大半径立即得到上界。如果矩阵具有对角占优性(对角元的绝对值大于该行非对角元的绝对值之和),那么所有圆盘都不包含原点,收敛可以保证,这也能从该定理推导出来。

有限元法·振动分析中的固有频率估计:有限元法得到的刚性矩阵和质量矩阵的广义特征值问题中,特征值对应结构固有振动频率的平方。在运行详细的特征值抽取之前,用格什戈林圆盘把握特征值的存在范围,对于设置模式抽取的搜索区间、验证计算结果的物理合理性很有帮助。

控制系统的稳定性评估:线性系统 ẋ = Ax 稳定当且仅当矩阵 A 的所有特征值的实部为负。如果格什戈林圆盘全部落在复平面的左半平面(实部为负的区域),就无需计算特征值,直接得出稳定结论。在鲁棒控制中,当矩阵元素含有不确定性时,圆盘也被用来评估稳定裕度。

特征值求解器的合理性检查:QR法等数值特征值求解器返回的结果若超出格什戈林圆盘,就是程序错误或数值误差的信号。反之,若结果正确地落在圆盘内,就成为独立验证结果可信度的依据。计算规模越大,这种廉价可靠的检查越显其价值。

常见误解和注意事项

一个常见误解是"各圆盘内恰好各包含1个特征值"。这仅在圆盘互不相交(不重叠)的情况下成立。当圆盘重叠融合为一个连通区域时,该区域内特征值个数等于圆盘个数,但"哪个特征值在哪个圆盘"就无法确定。本工具中增大 offMag 时可以看到圆盘逐个重叠、这种"各占一个"的性质瓦解的过程。

另一个误解是"格什戈林圆盘是对特征值的最佳估计"。格什戈林定理方便可靠,但得到的范围常常较为宽松(比实际特征值范围更大)。对矩阵进行相似变换(用对角矩阵缩放等)会改变圆盘形状而保持特征值不变,由此可获得更紧的估计。另外,除了行的圆盘,还能使用列的圆盘(考虑 A 的转置),两者的交集给出更严格的估计。格什戈林是"快速的第一近似",不是最终结论。

最后,不要误认为"对称矩阵圆盘也在虚轴方向展开"。对于一般的矩阵,格什戈林圆盘在复平面上是真实的圆,特征值可以是复数。但本工具处理的实对称矩阵的特征值都是实数,理论保证。因此特征值必定排列在实轴上,落在圆盘与实轴的交集区间内。在画布上,特征值点始终在实轴(横轴)上,这是因为矩阵设为对称。处理非对称矩阵时,特征值会离开实轴,散布在复平面上。

使用指南

  1. 输入对应复平面上中心坐标的对角元 a11、a22、a33
  2. 指定非对角元大小 offMag,确定各圆盘的半径(行的绝对值之和)
  3. 点击模拟器执行按钮,3个格什戈林圆盘在复平面上被绘制,可以确认所有特征值都存在于圆盘内

具体计算例

3×3矩阵对角元 a11=8、a22=5、a33=3,非对角元大小为0.5时,第1圆盘中心8、半径1.0(|0.5|+|0.5|),第2圆盘中心5、半径1.0,第3圆盘中心3、半径1.0。实际计算特征值得到最大特征值9.2、最小特征值2.1,验证了所有值都落在格什戈林圆盘内。

实务注意事项