盖尔金圆定理及严格对角占优矩阵(SDD)

简介: 盖尔金圆定理(Gersghorin Circle Thorem)  盖尔金圆定理(Gersghorin Circle Thorem)是线性代数中一个有趣而实用的定理,可以用它来描述矩阵的特征值。

盖尔金圆定理(Gersghorin Circle Thorem)

  盖尔金圆定理(Gersghorin Circle Thorem)是线性代数中一个有趣而实用的定理,可以用它来描述矩阵的特征值。首先我们先来看一下盖尔金圆定理。
  (盖尔金圆定理)对于任意的 n 阶方阵 A ,若 λ A 的一个特征值,则存在 1 i n ,使得 | λ a i i | j = 1 , j i n | a i j | .
证明:
  若 λ A 的一个特征值,设其特征向量为 x ,可以选取 i 使得 | x i | = max j = 1 , 2 , . . . , n | x j | = 1 , 这总是可以做到的,因为特征向量乘上任何数(除0外)仍为特征向量。
  根据特征值和特征向量的定义,有 A x = λ x ,因此有:

j = 1 n a i j x j = λ x i .

从而:
| ( λ a i i ) x i | = | λ a i i | j = 1 , j i n | a i j x j | j = 1 , j i n | a i j | .

证明完毕
  对于任意一个方阵,我们只要画出它在复平面上的盖尔金圆,就能推测出特征值的分布情况了,因为该方阵的所有特征值总是在这些圆中某一个内。
  下面给出如何在复平面上画方阵的盖尔金圆的Python代码,如下:
# Plotting Gershgorin Circles for any square matrix
from matplotlib.patches import Circle
import matplotlib.pyplot as plt
from math import sqrt
import numpy as np

# example matrix, each entity can be complex number
A = np.array([[5, 0, 0, -1],
              [1, 0, -1, 0],
              [-1.5, 1, -2, 1],
              [-1, 1, 1, -3j]
             ],dtype='complex')

# begin plotting figure
fig = plt.figure()
ax = fig.add_subplot(111)

# Circle: |A[i,i]-z| <= sum(|A[i,j]| for j in range(n) and j != i)
for i in range(A.shape[0]):
    real = A[i,i].real    # each complex's real part
    imag = A[i,i].imag    # each complex's image part

    # calculate the radius of each circle
    radius = -sqrt(A[i,i].real**2+A[i,i].imag**2)
    for j in range(A.shape[0]):
        radius += sqrt(A[i,j].real**2+A[i,j].imag**2)

    # add the circle to the  figure and plot the center of the circle
    cir = Circle(xy = (real,imag), radius=radius, alpha=0.5, fill=False)
    ax.add_patch(cir)
    x, y = real, imag
    ax.plot(x, y, 'ro')

# title
plt.title("Gershgorin Circles of Matrix")

# show the figure which can be used for analyse eigenvalues of the matrix
plt.savefig("E://GCircle.png")

该方阵的盖尔金圆分布如下图:


盖尔金圆分布图

  以下给出盖尔金圆定理在 严格对角占优矩阵中的应用。

严格对角占优矩阵(SDD)

  严格对角占优矩阵(Strictly Diagonally Dominant Matrix, SDD)是数值分析中的一个重要概念,它能保证Jacobi迭代法和Gauss-Seidel迭代法的收敛性。
  所谓SDD,指的是满足以下条件的方阵:

| a i i | > j = 1 , j i n | a i j | , i = 1 , 2 , . . . , n .

通俗地来理解,就是主对角线上的每个元素的模(或者绝对值)都大于该元素所在行的所有元素(除掉它本身)的模(或者绝对值)的总和。
  下面给出SDD的几个重要性质。
(SDD的性质)SDD必定是非奇异矩阵。
证明: A 为SDD,它不是非奇异矩阵,则 A 至少有一个特征值为0,从而由盖尔金圆定理可知,存在 1 i n ,使得 | a i i | j = 1 , j i n | a i j | . 此与SDD的定义矛盾。从而SDD必定是非奇异矩阵。

(SDD的性质)若 A 为SDD,则 A x = b 有解。
证明:因为 A 为SDD,故 A 可逆,从而 x = A 1 b .

(SDD的性质)若 A 为SDD,则对于方程 A x = b , Jacobi迭代法, Gauss-Seidel迭代法,SOR迭代法收敛。
证明:因为我们还没讲到Jacobi迭代法, Gauss-Seidel迭代法,SOR迭代法,因此我们将在之后的博客中给出该性质的证明,敬请期待。

目录
相关文章
|
关系型数据库 MySQL 数据库
MySQL开启远程访问权限
默认情况下,mysql只允许本地登录,但是多数情况下,我们需要访问服务器上的数据库资源,此时就需要开放MySQL的远程访问权限。 本文主要讲解如何开启MySQL的远程访问权限。
37953 7
MySQL开启远程访问权限
|
人工智能 前端开发 测试技术
Apipost 与 Apifox 深度对比:2025全方位解析助力 API 开发的利器
本文对比了Apipost与Apifox两款API开发与管理工具在功能、使用场景及用户评价等方面的差异。Apipost在API设计、调试、文档管理、Mock服务、离线支持及AI能力方面表现更优,尤其适合大型企业级项目和高效率需求的团队。而Apifox则适用于小型项目或对功能要求较低的团队。综合来看,Apipost在多方面具备明显优势,是高效、高质量API开发的理想选择。
572 24
|
10月前
|
数据安全/隐私保护 Python
微博评论点赞协议,抖音快手小红书评论点赞工具,CID指定评论点赞插件
这段代码展示了一个模拟社交媒体自动化工具的结构,包含了登录模拟、评论获取、批量点赞
|
分布式计算 大数据 数据处理
经典大数据处理框架与通用架构对比
【6月更文挑战第15天】本文介绍Apache Beam是谷歌开源的统一数据处理框架,提供可移植API,支持批处理和流处理。与其他架构相比,Lambda和Kappa分别专注于实时和流处理,而Beam在两者之间提供平衡,具备高实时性和数据一致性,但复杂性较高。选择架构应基于业务需求和场景。
1108 3
经典大数据处理框架与通用架构对比
|
存储 分布式计算 Hadoop
Hadoop节点配置与调整
【5月更文挑战第21天】
389 5
Hadoop节点配置与调整
|
机器学习/深度学习 并行计算 PyTorch
GPU 加速与 PyTorch:最大化硬件性能提升训练速度
【8月更文第29天】GPU(图形处理单元)因其并行计算能力而成为深度学习领域的重要组成部分。本文将介绍如何利用PyTorch来高效地利用GPU进行深度学习模型的训练,从而最大化训练速度。我们将讨论如何配置环境、选择合适的硬件、编写高效的代码以及利用高级特性来提高性能。
2659 1
|
人工智能 JSON 自然语言处理
Qwen 2.5:阿里巴巴集团的新一代大型语言模型
Qwen 2.5:阿里巴巴集团的新一代大型语言模型
|
传感器 数据采集 存储
以下是一个简化的环境监测系统工程概述,并附带有Python代码示例或详解。
以下是一个简化的环境监测系统工程概述,并附带有Python代码示例或详解。
|
缓存 小程序 前端开发
【微信小程序】wx.login实现用户登录
【微信小程序】wx.login实现用户登录
|
Python
Python多进程间通信的最佳实践
Python多进程间通信的最佳实践
714 0