利用逆矩阵解线性方程组_经典Jacobi方法用于求解矩阵特征值

2023-11-15

1、引言

求解线性方程组在许多领域中都有重要应用,写成矩阵的形式:

求解

可以写成:
,这里需要求解矩阵
的逆。《线性代数》中给出的方法主要有两类:

1、设置增广矩阵,利用高斯消元法,通过初等行列变换可以求

但这种方法不利于使用计算机计算。

2、利用矩阵对角化求

这种方法关键在于求解矩阵

的特征值和特征向量,根据《线性代数》中给出求特征值和特征向量的方法,其复杂度大概是
,其中
是矩阵的行数,有个著名的算法SVD(singular value decomposition)。关于SVD的介绍已经很多了,今天我们想要更近一步,介绍另一种著名的矩阵对角化方法——
Jacobi方法

2、经典Jacobi方法

1846年数学家Jacobi提出的经典Jacobi方法用于求解实对称矩阵的特征值。它的核心思想是采用一些列的Jacobi平面旋转矩阵将对称阵

变为对角阵

左右的Jacobi旋转矩阵乘起来就是特征向量组成的特征矩阵,
为特征值组成的对角阵。Jacobi希望每通过一个Jacobi旋转矩阵都能消去矩阵
中的

Jacobi旋转矩阵定义如下:

一个Jacobi旋转矩阵,对角线上只有第i行i列,j行j列为c,其余为1,未标出的元素均为0。

表示消去元素在矩阵
中的位置,其中
,
被称为旋转角,我们的目的就是找到一个合适的
,使得非对角元上的两个元素变为0。由于
仅影响
行列的元素,故写为二阶主子式来表示旋转变换过程:

其中

解得:

当一次变换结束后,

同时为0,而矩阵
的非对角元素的Frobenius norm的平方和将减少
[2]

其中

表示取A的对角线元素组成的对角矩阵。Frobenius norm的定义为:

3、复杂度分析

时,说明
被对角化了,其中
为精度要求。从贪心算法的角度来说,每次做旋转都希望尽可能减少Frobenius norm,因此
的选择矩阵
中最大的非对角元做旋转变换。

但由于每次做旋转变换后会影响矩阵

两行两列的数据,这会导致前面变成0的非对角元素在后续的变换中变为非0因此旋转矩阵个数并不是
,同时在矩阵中寻找绝对值最大非对角元的复杂度也是
,而合并旋转变换矩阵的部分复杂度为
,这在大规模矩阵中,遍历元素将占绝大部分时间。

可能的改进方法

(1)循环Jacobi方法[3]

按照行顺序或者列顺序依次做Jacobi旋转变换,持续多轮,直到满足收敛条件。

图1:循环遍历的Jacobi方法

(2)过关Jacobi方法[4]

在顺序遍历的基础上,在加入门限值,大于某个门限值,才做旋转变换,其中门限值与

的Frobenius norm有关。

4、非对称矩阵的Jacobi方法

对于非对称矩阵

,可以将其构造为对称矩阵

5、讨论

高效使用Jacobi方法的关键在于,如何使用尽量少的旋转角度完成对角化矩阵,贪心算法是否是最优方法还值得进一步探讨。是否在矩阵中存在一个固定的最优的

的顺序组合,还是说这与矩阵元素的具体取值有关。

参考文献

[1] 郭强. 并行JACOBI方法求解矩阵奇异值的研究[D]. 苏州大学.

[2] C.F. Van Loan G. H. Golub. Matrix COmputations[M]. John Hopkins University Press, Baltimore and London, second edition, 1993.

[3] E. R. Hansen. On Cyclic Jacobi Methods[J]. J.Soc,Indust.Appl.Math, 1963, 11(2): 448–459.

[4] B. N. Parlett. The Symmetric Eigenvalue Problem[M]. Prentice-Hall, 1980.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用逆矩阵解线性方程组_经典Jacobi方法用于求解矩阵特征值 的相关文章

  • Nginx入门、下载安装启动(Win10)、常用配置

    文章目录 1 Nginx简介 2 下载安装启动 3 Nginx的常用基本配置 3 1 Nginx配置文件结构 3 2 设置用户和组 3 3 自定义错误页 1 Nginx简介 Nginx是一个轻量级开源Web服务器软件 可以作为反向代理 负载
  • 分子动力学模拟MD simulation需要注意的点有哪些

    一 GROMACS分子动力学蛋白模拟 药物开发溶剂筛选 1 分子模拟基础理论 1 1 统计力学理论概述 1 2 主要算法介绍 最速下降法 共轭梯度法 有限差分法 1 3 力场 力场类型 参数和分类 AMBER CHARMM MMX CVFF
  • 1.3 CSDN考试C1 奇偶校验

    文章目录 1 为什么数据校验 2 奇偶校验 3 练习题 3 1练习1 3 2练习2 1 为什么数据校验 数据在传输的过程中 会受到各种干扰的影响 如脉冲干扰 随机噪声干扰和人为干扰 等 这会使数据产生差错 为了能够控制 减少甚至消除传输过程
  • Linux下的硬件驱动——USB设备(下)(驱动开发部分)

    http www ibm com developerworks cn linux l usb index2 html Linux下的硬件驱动 USB设备 下 驱动开发部分 赵明 联想软件设计中心嵌入式研发处系统设计工程师 2003年7月 赵
  • python findall函数用法_Python--re模块的findall等用法

    1 正则表达式含义 点可代表一切字符 起转义作用 指代方括号中的任意字符 d 指代数字0 9 D 指代非数字 s 指代一切空格 包括tab制表符 空格 换行等 S 指代非空格 w 指代大小写字母 数字和下划线 W 指代非大小写字母 数字和下
  • 简易登录界面html+css(自学)

    页面展示 代码展示 html代码 图标使用阿里巴巴矢量图标库图标 阿里巴巴矢量图标库地址
  • 视频图像处理课程推荐(持续更新...)

    1 斯坦福大学 课程EE367 CS448I https web stanford edu class ee367 课程内容有 Introduction and fast forward overview of class logistic
  • GPIO的地址和寄存器映射

    1 GPIO详解 1 1 gpio框图 与GPIO相关的寄存器 不涉及复用 简单理解就是电灯 蜂鸣器控制等 与之相关的寄存器一共有7个 GPIOx CRL x A E 端口配置低寄存器 GPIOx CRH x A E 端口配置高寄存器 GP
  • 如何快速启动npm run build 后的dist文件呢?

    1 通过npm run build 打包后会出现如下 tips 提示我们打包完的项目 必须要在http server 下才能运行 2 安装http server 进入 dist 文件夹 然后启动一个http服务即可 或者 你现在已经到apa
  • 使用BFD操作ELF

    使用BFD操作ELF 创建时间 2001 09 21 文章属性 原创 文章来源 http www xfocus org 文章提交 alert7 sztcww at sina com 使用BFD操作ELF 作者 alert7
  • Python计算Arduino声音方向范围和绘制声音位置二维概率分布热图

    声音检测和测距有许多与回声定位 导航和地理定位相关的应用 所有这些都依赖于使用声音延迟准确定位声源的位置 在这项研究中 我们组装了一个设备 该设备可以利用声音到达时间的差异来精确定位声源的位置 它由连接到 Arduino 电路板的三个声音传
  • 1052 卖个萌 (20 分)

    1052 卖个萌 20 分 萌萌哒表情符号通常由 手 眼 口 三个主要部分组成 简单起见 我们假设一个表情符号是按下列格式输出的 左手 左眼 口 右眼 右手 现给出可选用的符号集合 请你按用户的要求输出表情 输入格式 输入首先在前三行顺序对
  • thinkphp S缓存在服务器上可以写入,但是无法读取

    在Linux服务器上S可以正常写入 但无法读取出来 原来是nobody权限问题 发下文件的用户和组都是nobody导致无法读取 S的File class php里面的读取方法调用file get contents时无法读取文件出来
  • Python下ImportError: DLL load failed: 找不到指定的模块

    环境 Anaconda3 Python3 7 scarpy1 5 版本似乎都能对的上 但是在cmd下报错 如下截图 从以上错误来看 应该是lxml包有异常 pip uninstall lxml包 然后 pip install lxml包 完
  • 2012.8.28 阿里巴巴电话面试

    半个小时左右的电话面试 问题不是太难 算法和数据结构是薄弱环节 1 现在主要在做什么研究 做过的项目介绍和在其中担任的职责 2 问语言方向 是否做过相关的工作 3 是否了解linux系统 在系统中都做过什么 用什么编译器 4 数据结构中 栈
  • Android开源项目网址

    1 http p codekk com 2 https github com Trinea android open project tree master

随机推荐

  • 自动控制原理笔记(3)——线性系统的稳定性

    文章目录 前言 线性系统的稳定性 线性系统的稳定性分析 线性系统的稳态误差计算 误差系数 减小稳态误差 前言 汇总版在这篇文章 自动控制原理上课笔记 线性系统的稳定性 线性系统的稳定性分析 线性系统的稳定性仅取决于系统自身的固有特性 而与外
  • (openEuler21.03-x86)yum安装配置nginx解析php—shell脚本

    EulerOS是华为自主研发的服务器操作系统 能够满足客户从传统IT基础设施到云计算服务的需求 EulerOS对ARM64架构提供全栈支持 打造完善的从芯片到应用的一体化生态系统 EulerOS 以Linux稳定系统内核为基础 支持鲲鹏处理
  • resnet18_deploy

    ResNet 18 deploy prototxt name ResNet 18 layer name data type Input top data input param shape dim 10 dim 3 dim 224 dim
  • 详解二分搜索

    https www cnblogs com kyoner p 11080078 html
  • nginx代理普通请求、静态文件、websocket

    一 nginx描述 nginx是一个代理服务器 中间件 二 nginx正向代理 反向代理 三 使用原因 在维护老项目做融合时 需要将项目合并在同一项目中 因为使用了单点登录 融合的框架使用的是iframe 由于嵌入的链接地址不同源 导致if
  • 使用Dockerfile定制LNMP环境镜像

    使用Dockerfile定制LNMP环境镜像 LNMP是继LAMP之后的又一个非常流行的web框架 即Linux Nginx Mysql PHP的网站架构方案 nginx相较于apache更轻量级 尤其是对静态页面的处理更有优势 做运维的朋
  • yarn install命令运行报错:无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

    PS C Users wangting Desktop vue vben admin main vue vben admin main gt yarn install yarn 无法将 yarn 项识别为 cmdlet 函数 脚本文件或可运
  • 设计模式之状态模式

    一 什么是状态模式 状态模式 当一个对象的内在状态改变时允许改变其行为 这个对象看起来像是改变了这个类 二 什么时候使用状态模式 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况 把状态的判断逻辑转移到表示不同状态的一
  • 浅析vue中computed,method,watch,watchEffect的区别

    方法methods只要调用每次都会执行 watch 惰性 只有依赖项更新才会执行回调函数 且组件初次渲染不会执行 watchEffect 自动追踪依赖变化 只要依赖更新即执行回调函数 且组件初次渲染即执行回调函数 computed 惰性 返
  • 用python语言编写无人机的ros通信程序

    编写无人机的ROS通信程序 需要熟练掌握Python语言和ROS Robot Operating System 框架 首先 需要安装ROS和相关的工具包 并对ROS的基本概念和框架有所了解 其次 可以利用ROS中的Python客户端库 如r
  • Python Web:ls命令选项

    Python Web篇学习汇总 Python Web 操作系统与虚拟机软件 Python Web 了解Ubuntu操作系统 Python Web Linux查看 切换目录命令 Python Web 绝对路径和相对路径 Python Web
  • Python 学习笔记(1):心历路程,print()函数,变量和赋值

    也不知道从什么时候开始 对python这个语言有兴趣了 可能是公众号 广告推给我的吧 对python这个语言的印象不错 哈哈 之前大学的时候 对编程就比较感兴趣 反应也还可以 但毕竟不是专门学的 能力不够 毕业之后从事了与专业不相关的工作
  • spss聚类分析_系统聚类分析(操作)

    在前文系统聚类的理论分析基础上 下面来介绍系统聚类在SPSS中的操作和应用 在SPSS中系统聚类有两种类型 分别是Q型聚类和R型聚类 Q型聚类是对观测样本进行聚类 它使具有相似特征的观测样本聚集在一起 使差异性大的观测样本分离开来 R型聚类
  • 在linux下如何显示隐藏文件

    显示所有文件 包含隐藏文件 ls a 只显示隐藏文件l 或者ls d 在XWindow的KDE桌面中在 查看 View 菜单里选 显示隐藏文件 Show Hidden Files 就行了
  • 注意力机制(SE, ECA, CBAM, SKNet, scSE, Non-Local, GCNet, ASFF) Pytorch代码

    注意力机制 1 SENet 2 ECANet 3 CBAM 3 1 通道注意力 3 2 空间注意力 3 3 CBAM 4 展示网络层具体信息 5 SKNet 6 scSE 7 Non Local Net 8 GCNet 9 ASFF 10
  • uniapp h5或者公众号图片 安卓显示 ios不显示的问题

    如果你的接口前缀是https的 后台返回的图片地址前缀是http的 那么就一个解决办法 那就是把后台返回的图片地址前缀改成https 简单粗暴亲测有效
  • 初识Jena

    目录 前言 ApacheJena Or Neo4j Jena的安装和简介 从MySql转换数据到RDF RDF加载laod到Fuseki Fuseki的使用 遇到的问题 个人总结 其他 参考文献 前言 一个机器人问答系统的核心我认为包括两大
  • 给虚拟机换背景图片

    首先在桌面右键 选择 change background 在backgroud这里 点击右边的backgroud 因为我已经换好了 所以是这样 然后点击pictures就可以看到自己准备的图片了 直接把图片拖到虚拟机上的文件夹里就可以了 选
  • 【JMeter】 二次开发插件开发 Dubbo 接口测试插件浅析

    概述 在一些企业中 各类业务系统非常丰富 相互之间或对外提供很多的服务或接口 这些服务或接口中 有很多是需要强契约约束的 服务的提供方 服务的使用方必须遵守相同契约 这类服务最典型的就是RPC 其中应用广泛的有Dubbo gRPC等 使用J
  • 利用逆矩阵解线性方程组_经典Jacobi方法用于求解矩阵特征值

    1 引言 求解线性方程组在许多领域中都有重要应用 写成矩阵的形式 求解 可以写成 这里需要求解矩阵 的逆 线性代数 中给出的方法主要有两类 1 设置增广矩阵 利用高斯消元法 通过初等行列变换可以求 但这种方法不利于使用计算机计算 2 利用矩