5.1. 特征值估计¶
5.1.1. 特征值的界¶
定理1: 设 \({\bm A} = (a_{ij})_{n\times n} \in {\mathbb R}^{n\times n}\) , 令 \(M = \mathop {{\rm{max}}}\limits_{1 \le i,j \le n} \frac{1}{2}|{a_{ij}} - {a_{ji}}|\) , 若 \(\lambda\) 表示 \({\bm A}\) 的任一特征值, 则 \(\lambda\) 的虚部 \({\rm Im}(\lambda)\) 满足不等式
定理2: 设 \({\bm A}\in {\mathbb C}^{n\times n}\) , 则 \({\bm A}\) 的任一特征值 \(\lambda\) 满足
定理3: 设 \({\bm A} = (a_{ij})_{n\times n} \in {\mathbb C}^{n\times n}\) 的特征值为 \(\lambda_1, \lambda_2, \cdots, \lambda_n\) , 则
当且仅当 \({\bm A}^H {\bm A} = {\bm A}{\bm A}^H\) 时, 等号成立.
5.1.2. 特征值的包含区域¶
盖尔圆¶
什么是盖尔圆¶
设 \({\bm A} = (a_{ij})_{n\times n} \in {\mathbb C}^{n\times n}\) , 称不等式
在复平面上所确定的区域为矩阵 \({\bm A}\) 的第 \(i\) 个 盖尔圆 (Gerschgorin) , 记为 \(G_i\) , \({\bm R}_i\) 为不包括 \(a_{ii}\) 的行和, 称为盖尔圆 \(G_i\) , \((i = 1, 2, \cdots, n)\) 的半径.
实际上, 在上述定义中, 若令半径为
显然确定特征值范围会变得更为简单, 不知道为什么不这样定义.
注解
半径 \(R_i\) 也可以按列求和得到, 这是因为 \({\bm A}\) 与 \({\bm A}^T\) 的特征值相同.
定理与结论¶
盖尔圆定理1: 矩阵 \({\bm A} = (a_{ij})_{n\times n} \in {\mathbb C}^{n\times n}\) 的一切特征值都在它的 \(n\) 个盖尔圆的并集内.
盖尔圆定理2: 矩阵 \({\bm A} = (a_{ij})_{n\times n} \in {\mathbb C}^{n\times n}\) 的联通部分由几个盖尔圆组成, 该部分就包含几个特征值 (盖尔圆相重时重复计数, 特征值相同时重复计数).
注解
结论:
若矩阵 \({\bm A}\) 的盖尔圆 \(G_i\) 关于实轴对称, 则特征值 \(\lambda_i\) 为实数.
若矩阵 \({\bm A}\) 的盖尔圆 \(G_i\) 各自孤立不连通, 则 \({\bm A}\) 有 \(n\) 个互不相同的特征值.
特征值的隔离问题¶
设矩阵 \({\bm A} = (a_{ij})_{n\times n} \in {\mathbb C}^{n\times n}\) , 构造对角矩阵 \({\bm D} = {\rm diag}(d_1, d_2, \cdots, d_n)\) , 其中 \(d_i > 0, i = 1, 2, \cdots, n\) , 由于矩阵
相似于 \({\bm A}\) , 所以矩阵 \({\bm B}, {\bm A}\) 的特征值集合相同.
提示
取 \(d_i < 1, d_k = 1, k \neq i\) , 可使第 \(i\) 个盖尔圆的半径减小
取 \(d_i > 1, d_k = 1, k \neq i\) , 可使第 \(i\) 个盖尔圆的半径增大
举个例子
应用盖尔圆定理隔离如下矩阵的特征值
解: 矩阵 \({\bm A}\) 的三个盖尔圆为 \(G_1: |z-20| \leq 4\) , \(G_2: |z-10| \leq 4\) , \(G_3: |z-0| \leq 9\) , 如图所示
易知盖尔圆 \(G_2, G_3\) 相交, \(G_1\) 孤立, 构造矩阵 \(D = {\rm diag}(1, 1, 1/2)\) 使得 \(G_3\) 的半径减小, 则有
矩阵 \({\bm B}^T\) 的三个盖尔圆为 \(G_1: |z-20| \leq 4\) , \(G_2: |z-10| \leq 4\) , \(G_3: |z-0| \leq 9\) , 如 fig-demo_Gerschgorin_exp1
所示, 它们相互孤立,
实际上若采用盖尔圆定义2, 可以很容易得到 fig-demo_Gerschgorin
所示结果
上述结果实验代码为
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 | import numpy as np
import pytool
A = [[20, 3, 1], [2, 10, 2], [8, 1, 0]]
A = np.array(A)
D = np.diag((1, 1, 1 / 2))
B = np.dot(D, A)
B = np.dot(B, np.linalg.inv(D))
Cis = []
Ris = []
Cis1, Ris1 = pytool.gerschgorin(A)
Cis2, Ris2 = pytool.gerschgorin(A.transpose())
Cis3, Ris3 = pytool.gerschgorin(B.transpose())
Cis = Cis + Cis1
Ris = Ris + Ris1
Cis = Cis + Cis2
Ris = Ris + Ris2
Cis = Cis + Cis3
Ris = Ris + Ris3
colorlines = ['-r', '-g', '-b', '.r', '.g', '.b', '-.r', '-.g', '-.b']
evalues, evectors = np.linalg.eig(A)
Title = "gerschgorin of A with eigens: " + str(evalues)
Legend = ['A: G1', 'A: G2', 'A: G3', 'A^T: G1',
'A^T: G2', 'A^T: G3', 'B^T: G1', 'B^T: G2', 'B^T: G3']
pytool.plot_circles(
Cis=Cis, Ris=Ris, colorlines=colorlines, dTheta=0.01, title=Title, legend=Legend)
|
应用¶
判定矩阵是否可逆: 矩阵的行列式的值等于矩阵特征值的乘积, 由于行列式不为零的矩阵可逆, 所以可逆矩阵的特征值不等于零, 借助盖尔圆判定特征值的取值