雅可比旋转求解对称二维矩阵的特征值和特征向量

问题描述:

给定一个矩阵,如下:

A=[a11a21a12a22]

其中满足 a12=a21.也就是所谓的 对称矩阵。那么如何求解此矩阵的特征值以及特征向量呢?这里我们要用到 雅克比旋转

雅克比旋转

Jacobi方法是求对称矩阵的全部特征值以及相应的特征向量的一种方法,它是基于以下两个结论:

  1. 任何实对称矩阵A可以通过正交相似变换成对角型,即存在正交矩阵Q,使得

    QTAQ=diag(λ1,λ2,,λn)

    其中λi(i=1,2,,n)是A的特征值,Q中各列为相应的特征向量。

  2. 在正交相似变换下,矩阵元素的平方和不变. 即设A=(aij)n×n,Q为正交矩阵,记B=QTAQ=(bij)n×n , 则

    i,j=1na2i,j=i,j=1nb2i,j

    Jacobi方法的基本思想是通过一次正交变换,将A中的一对非零的非对角元素化成零并且使得非对角元素的平方和减小。反复进行上述过程,使变换后的矩阵的非对角元素的平方和趋于零,从而使该矩阵近似为对角矩阵,得到全部特征值和特征向量。

如下我们仅仅考虑二维矩阵。对于高维的以此类推。
考虑如下的旋转矩阵,

P=[cos(θ)sin(θ)sin(θ)cos(θ)]

显然我们知道P是正交矩阵,即 PT=P1orPPT=E
对矩阵A实施正交变换,即如下:
A=PTAP
.
则有:
a11=cos2(θ)a11+sin2(θ)a222cos(θ)sin(θ)a12                     (1)

a22=sin2(θ)a11+cos2(θ)a22+2cos(θ)sin(θ)a12                     (2)

a12=(cos2(θ)sin2(θ))a12+cos(θ)sin(θ)(a11a22)                     (3)

a12=0,则可得出 θ的表达式:
ϕ=cot(2θ)=cos2(θ)sin2(θ)2sin(θ)cos(θ)=a22a112a12            (4)

如果令 t=sin(θ)/cos(θ),则
t2+2tϕ1=0

这一方程较小的根对应着一个数量上小于 π/4的旋转角,利用二次求根公式并对分母进行区分,可以写出这一较小的根为:
t=sgn(ϕ)|ϕ|+ϕ2+1            (5)

如果 θ很大,以至于 θ2在计算机上溢出,则令 t=1/(2ϕ).于是就有:
cos(θ)=1t2+1            (6)

sin(θ)=tcos(θ)                (7)

将(6、7)代入(1-3)则,显然有:
(3)有 a12=0.剩下等式的指导思想是想将它们的新值写成旧值加一个小的修正。于是利用 a12=0,将(1-2)的 a22消去,则有:
a11=a11ta12

a22=a22+ta12
.
至此通过一次旋转变换,即可将原矩阵非对称部分消零。整个矩阵变成一个对角矩阵。且相应的特征向量也可以得出。
APAA(P1,P2)=PTAP=AP=(P1,P2)[a11a22]

也就是A的特征值为 a11 a22,相应的特征向量为 P1,P2.
其中,
P1=[cos(θ)sin(θ)]

P2=[sin(θ)cos(θ)]

至于代码,就不写了,很简单哦!

参考文献

  1. 第四章第三节 Jacobi 方法
  2. Numerical Recipes(数值分析方法库) C/C++:见第11章特征系统,对称矩阵的雅可比变换。


打赏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python画图数据的平均值怎么算的_Python气象数据处理与绘图(2):常用数据计算方法...

对于气象绘图来讲,第一步是对数据的处理,通过各类公式,或者统计方法将原始数据处理为目标数据。 按照气象统计课程的内容,我给出了一些常用到的统计方法的对应函数: import numpy as np 平均值 在计算气候态&#xff0…

Linux下nginx安装与配置

部分Linux发布版的默认安装已经集成了nginx,查看方法ls /usr/local,若已有nginx文件夹说明已集成。nginx依赖库pcre与zlib,且pcre依赖于gcc与gcc-c,因此安装步骤为:安装gcc与gcc-c库安装pcre库安装zlib库安装nginx详细…

几种字符串加密解密的方法

为什么80%的码农都做不了架构师?>>> 第一种:〔 Python 与 Bash Shell 的结合 〕 这个命令会让你输入一个字符串,然后会再输出一串加密了的数字。 加密代码[照直输入]: python -c print reduce(lambda a,b: a*256ord(b), raw_inpu…

java delegate怎么写_美团面试官:你说你们公司的Mybatis分页插件是你写的,给我说说它的设计原理?...

来源:http://my.oschina.net/zudajun大多数框架,都支持插件,用户可通过编写插件来自行扩展功能,Mybatis也不例外。我们从插件配置、插件编写、插件运行原理、插件注册与执行拦截的时机、初始化插件、分页插件的原理等六个方面展开…

SharePoint 2013 处理videoplayerpage.aspx下的个人图片显示有误问题

问题:Personal sites photo cant correct display in the videos pageThe url address of personal sites photo is exist surplus characters. The correct situation is just the characters of "%20", not the characters of "%2520".解决方…

clover引导mbr安装黑苹果_安装黑苹果记录(一)

从来没有接触过macOS(苹果系统),孩子说他用的那台电脑linux不能安装一些软件,问我能不能安装黑苹果,一些软件只有win和mac的客户端,却没有linux版本。他知道我不会给他安装Windows,一个是怕他玩游戏,另外一…

doxygen问题集锦

使用doxygen排版数学公式出错的解决方法 参考:http://blog.csdn.net/huangbo10/article/details/46801949 问题 今天玩了一下doxygen,碰到一个问题 ! Undefined control sequence. l.77 $ y_{\mbox{test}} \mathbb{E}[y_{\mbox{train}}] x $ ? !…

ubuntu中make头文件找不到_和平精英:游戏中找不到人怎么办?这些技巧帮你练出“火眼金睛”...

大家好,欢迎来到《刺激实战教室》,我是你们的老朋友刺激哥。俗话说,电子竞技不需要视力,而这句话也是《和平精英》的一个“痛点”。在《和平精英》这款游戏中,更是如此。在很多时候,敌人就藏在我们的附近&a…

eureka配置_F版本SpringCloud 5—Eureka集群和自我保护机制

源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials前言上篇文章中,通过代码搭建了Eureka注册中心和客户端,是Eureka的简单应用,在本文中将会讲解更多关于Eureka服务端的应用以及原理。Eureka 自我保护机制进入自我保…

windows共享内存

在windows编程中避免不了使用共享内存,因为他是进程间通信、文件读取最简单的方式,有书上还说其他进程间通讯机制如管、油槽、WM_COPYDATA底层也是用的共享内存机制。关于使用方法还是请参考MSDN。 最近听说使用共享内存不安全,可能会被其他进…

Chrome指令/追踪Http请求相关

2019独角兽企业重金招聘Python工程师标准>>> Chrome HTTP抓包,在地址栏输入 chrome://net-internals/#requests转载于:https://my.oschina.net/u/2292141/blog/895603

离散卷积与自相关

本文章转载自:http://www.cnblogs.com/einyboy/archive/2012/12/30/2839633.html 一、 定义 离散信号f(n),g(n)的定义如下: N-----为信号f(n)的长度 s(n)----为卷积结果序列,长度为len(f(n))len(g(n))-1 例: f(n) [1 2 3]; g(n) [2 3 1]; …

excel打开后灰色不显示内容_Excel二维表转换,一分钟就够

点击蓝字关注我们44个Excel 使用技巧基本方法作为职场人,加班累如狗。如何更轻松的工作并获得喜人的报酬便是咱们职场人一直追求的“生活哲理”,说到Excel,对于办公室群体而言实在是太常见不过了,不管做什么,咱们都会跟它打交道&a…

卷积的循环矩阵求解方法

通常我们求解一维卷积或者二维卷积都是采用模板平移的方法,今天我们介绍一种新的求解方法,可以一次性求出所有的结果。 一维卷积 卷积定义 对于两个长度分别为m和n的序列x(i)和g(i)有, h(i)x(i)∗g(i)∑jx(j)g(i−j)h(i)=x(i)*g(i)=\sum_…

static_cast, dynamic_cast, const_cast探讨【转】

首先回顾一下C类型转换: C类型转换分为:隐式类型转换和显式类型转换 第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类…

RANSAC算法注记

今天学习了一下RANSAC随机样本一致性算法,其在图像融合、特征点匹配方面有很强大的应用。网上已经有很多人写了关于这方面的文档,就不再造轮子了。特此罗列出来,以供后续参考。 我的数学之美(一)——RANSAC算法详解 …

PMP 第七章 项目成本管理

估算成本 制定预算 控制成本 1.成本管理计划的内容和目的是什么? 包括对成本进行估算 预算和控制的各过程,从而确保项目在批准的预算内完工。 2.直接成本、间接成本、可变成本、固定成本、质量成本的内容分别是什么?成本估算的工具有哪些? 成本估算工具 1…

您的请求参数与订单信息不一致_[淘客订单检测]淘宝客订单检测接口,淘客订单查询API...

功能1.输入交易的订单编号,即可查询该订单是否为淘宝客订单。有意向请联系卫星weixiaot168。2.查询结果 0:不是淘宝客订单;1:是。3.根据淘宝官方的后台数据,进行检测,数据真实且有效。4.有效防止佣金损失,降低商家补单…

DebugView输出调试信息

在写windows程序时,需要输出一些调试信息,这里介绍一种极其方便的方法。即使用OutputDebugString 在Debug模式下输出调试信息,在Release模式下不输出。 我们可以在VS的集成平台上输出调试信息,也可以使用DebugView来查看调试信息…

【强连通分量+概率】Bzoj2438 杀人游戏

Description 一位冷血的杀手潜入 Na-wiat,并假装成平民。警察希望能在 N 个人里面,查出谁是杀手。 警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他认识的人, 谁是杀手, 谁是…