Gershgorin圆盘定理
创始人
2024-05-14 03:16:12
0

计算方法

  圆盘定理Gershgorin Circle Theorem是用来预估矩阵特征值的范围的。这个定理用起来相当简单。对于一个n×nn\times nn×n的方阵来说,有nnn个行圆盘和列圆盘,它的特征值就位于这些圆盘中。所谓的圆盘Gershgorin disk,就是复平面上的一个圆,它有中心和半径组成,是这样定义的:
D(a,r)={x∈C:∣x−a∣≤r}D(a,r)=\{x \in \mathbb{C}:|x-a|\le r\} D(a,r)={x∈C:∣x−a∣≤r}
  从定义看表示一个点的集合,那么中心和半径怎么确定呢?中心就是矩阵的对角线元素,半径则分两种,行圆盘和列圆盘。行圆盘的半径就是某一行除了对角线元素外,所有元素的模长的和,列圆盘则是某一列除了对角线元素外,所有元素的模长的和。既然每个中心有两个半径,那肯定取最小的那个半径喽,把半径用rrr表示,那么半径就是:
ri=min(∑j=1,j≠in∣aij∣,∑j=1,j≠in∣aji∣)r_i=min(\sum_{j=1,j\ne i}^{n}|a_{ij}|,\sum_{j=1,j\ne i}^{n}|a_{ji}|) ri​=min(j=1,j=i∑n​∣aij​∣,j=1,j=i∑n​∣aji​∣)

举例

  比如计算这个矩阵的圆盘:
A=(30.40.20.20.230.10.10.40.540.5−0.310.51)A=\begin{pmatrix}3 & 0.4 & 0.2 & 0.2\\ 0.2 & 3 & 0.1 & 0.1\\ 0.4 & 0.5 & 4 & 0.5\\ -0.3 & 1 & 0.5 & 1\\ \end{pmatrix} A=​30.20.4−0.3​0.430.51​0.20.140.5​0.20.10.51​
  得到的结果就是:
D(3,0.8),D(3,0.4),D(4,0.8),D(1,0.8)D(3,0.8),D(3,0.4),D(4,0.8),D(1,0.8) D(3,0.8),D(3,0.4),D(4,0.8),D(1,0.8)
  因为D(3,0.4)D(3,0.4)D(3,0.4)比D(3,0.8)D(3,0.8)D(3,0.8)范围更小,所以最终结果是:
D(3,0.4),D(4,0.8),D(1,0.8)D(3,0.4),D(4,0.8),D(1,0.8) D(3,0.4),D(4,0.8),D(1,0.8)
  所以矩阵A的特征值就位于复平面上这些圆盘中。

python实现

  这种实现代码非常简单:

    def gershgorin_disk(self):disks = [[0, 0] for _ in self.__lines]n = len(self.__lines)for i in range(n):d = disks[i]d[0]= self.__lines[i][i]line_radius = 0for j in range(n):if j != i:line_radius += abs(self.__lines[j][i])column_radius = 0for j in range(n):if j != i:column_radius += abs(self.__lines[i][j])d[1] = min(line_radius, column_radius)return disks

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...