-
矩阵的特征值与特征向量的计算的matlab实现,幂法、反幂法和位移反幂法、雅可比(Jacobi)方法、豪斯霍尔德...
2021-02-18 19:00:20矩阵的特征值与特征向量的计算的matlab实现,幂法、反幂法和位移反幂法、雅可比(Jacobi)方法、豪斯霍尔德(Householder)方法、实对称矩阵的三对角化、QR方法、求根位移QR方法计算实对称矩阵 的特征值、广义特征值问题... -
求取对称矩阵特征值和特征向量的Jacobi过关法
2005-10-21 09:16:00特征值和特征向量是指对于矩阵A有,Av=lv,v为特征向量,l为特征值。就是求解一个高次方程:det(A-lI)=0代码如下:unit Matrix;interfaceuses Math, Windows, SysUtils, Variants, Classes;...特征值和特征向量是指对于矩阵A有,Av=lv,v为特征向量,l为特征值。就是求解一个高次方程:det(A-lI)=0
代码如下:
unit Matrix;
interface
uses
Math, Windows, SysUtils, Variants, Classes;Type
TSingleExtendedArray =array of extended;
TDoubleExtendedArray=array of array of extended;
TDoubleLongintArray=array of array of longint;
procedure CalculateEigenVV(var EigenLambda: TSingleExtendedArray; var EigenVector: TDoubleExtendedArray; C: TDoubleLongintArray; N: longint; eps: extended);
implementation
procedure CalculateEigenVV(var EigenLambda: TSingleExtendedArray; var EigenVector: TDoubleExtendedArray; C: TDoubleLongintArray; N: longint; eps: extended);
var
i, j, fi, fj, p, q, TL, k: longint;
Change: boolean;
x, y, cn, sn, Omega, fm, Acurrency: Extended;
Ja: TDoubleExtendedArray;
begin
setlength(Ja, N, N);
setlength(EigenVector, N, N);
setlength(EigenLambda, N);for i := 0 to N - 1 do begin
EigenVector[i, i] := 1.0; EigenLambda[i] := 0;
for j := 0 to N - 1 do
if i <> j then EigenVector[i, j] := 0;
end;Acurrency := 0;
for i := 0 to N - 1 do
for j := 0 to N - 1 do begin
Ja[i, j] := C[i, j];
Acurrency := Acurrency + Ja[i, j] * Ja[i, j];
end;
Acurrency := sqrt(2 * Acurrency);
Change := true;
repeat
if not Change then Acurrency := Acurrency * 0.5;
Change := false;
for p := 0 to N - 1 do begin
for q := p + 1 to N - 1 do
if Abs(Ja[p, q]) > Acurrency then begin
x := -Ja[p, q]; y := (Ja[q, q] - Ja[p, p]) / 2;
if (x <> 0) or (y <> 0) then Omega := x / sqrt(x * x + y * y) else Omega := 1;
if (y < 0.0) then Omega := -Omega;
sn := 1.0 + sqrt(1.0 - Omega * Omega);
sn := Omega / sqrt(2.0 * sn);
cn := sqrt(1.0 - sn * sn);fm := Ja[p, p];
Ja[p, p] := fm * cn * cn + Ja[q, q] * sn * sn + Ja[p, q] * Omega;
Ja[q, q] := fm * sn * sn + Ja[q, q] * cn * cn - Ja[p, q] * Omega;
Ja[p, q] := 0; Ja[q, p] := 0;for i := 0 to N - 1 do
if (i <> p) and (i <> q) then begin
fm := Ja[p, i];
Ja[p, i] := fm * cn + Ja[q, i] * sn;
Ja[q, i] := -fm * sn + Ja[q, i] * cn;
end;for i := 0 to N - 1 do
if (i <> p) and (i <> q) then begin
fm := Ja[i, p];
Ja[i, p] := fm * cn + Ja[i, q] * sn;
Ja[i, q] := -fm * sn + Ja[i, q] * cn;
end;for i := 0 to N - 1 do begin
fm := EigenVector[p, i];
EigenVector[p, i] := fm * cn + EigenVector[q, i] * sn;
EigenVector[q, i] := -fm * sn + EigenVector[q, i] * cn;
end;for i := 0 to N - 1 do
EigenLambda[i] := Ja[i, i];Change := true; break;
end;
if Change then break;
end;
until Acurrency <= eps;setlength(Ja, 0);
end;end.
-
power method法求对称矩阵的主特征值+高斯消元法来一个LU分解+奇异值分解的一道题
2020-12-18 15:44:02文章目录 power method法求对称矩阵的主特征值 高斯消元法来一个LU分解 奇异值分解的一道题 检测做的对不对! power method法求对称矩阵的主特征值 clear A=[1 1 3 4; 1 5 2 -1; 3 2 7 4; 4 -1 4 6]; x0 = [1;0;0;0]...power method法求对称矩阵的主特征值
clear A=[1 1 3 4; 1 5 2 -1; 3 2 7 4; 4 -1 4 6]; x0 = [1;0;0;0]; for i = 1:10 disp(x0) disp((A*x0)'* x0) x1 = (A*x0)/norm(A*x0); x0 =x1; end
高斯消元法来一个LU分解
- 用高斯直接可以得到Doolittle分解
>> L=[1 0 0 0 ;-3 1 0 0; 2 4 1 0; 0 6 -7 1] L = 1 0 0 0 -3 1 0 0 2 4 1 0 0 6 -7 1 >> U =[2 -2 4 -4 ; 0 -3 -9 6;0 0 1 8 ; 0 0 0 4] U = 2 -2 4 -4 0 -3 -9 6 0 0 1 8 0 0 0 4 >> L*U ans = 2 -2 4 -4 -6 3 -21 18 4 -16 -27 24 0 -18 -61 -16 >>
- 还需要变一下才能得到Crout分解
>> L=[2 0 0 0 ; -6 -3 0 0 ; 4 -12 1 0;0 -18 -7 4] L = 2 0 0 0 -6 -3 0 0 4 -12 1 0 0 -18 -7 4 >> U=[1 -1 2 -2; 0 1 3 -2; 0 0 1 8; 0 0 0 1] U = 1 -1 2 -2 0 1 3 -2 0 0 1 8 0 0 0 1 >> L*U ans = 2 -2 4 -4 -6 3 -21 18 4 -16 -27 24 0 -18 -61 -16
奇异值分解的一道题
- 我先用
A=[36 -6 6;2 13 22;22 38 -13; 4 26 44] [X,B] =eig(A'*A)
- 算出了的每一列!
- 隐藏在X变量的每一列
>> [X,B] =eig(A'*A) X = -0.6667 -0.6667 0.3333 0.6667 -0.3333 0.6667 -0.3333 0.6667 0.6667 B = 1.0e+03 * 1.1250 0 0 0 2.0250 0 0 0 3.6000
- 然后求出了U的三列!
- 必须用这种方法去求!
- 记得标准化哦!
>> A*X(:,1) ans = -30.0000 -0.0000 15.0000 -0.0000 >> A*X(:,2) ans = -18.0000 9.0000 -36.0000 18.0000 >> A*X(:,3) ans = 12.0000 24.0000 24.0000 48.0000
- 最后求得U的0对应的特征向量!
[X,B] =eig(A*A') A = 36 -6 6 2 13 22 22 38 -13 4 26 44 X = -0.0000 0.8944 0.4000 -0.2000 -0.8944 -0.0000 -0.2000 -0.4000 -0.0000 -0.4472 0.8000 -0.4000 0.4472 0 -0.4000 -0.8000 B = 1.0e+03 * -0.0000 0 0 0 0 1.1250 0 0 0 0 2.0250 0 0 0 0 3.6000
检测做的对不对!
U=[1/5 -2/5 -2/sqrt(5) 0; 2/5 1/5 0 2/sqrt(5); 2/5 -4/5 1/sqrt(5) 0; 4/5 2/5 0 -1/sqrt(5)] V =[1/3 -2/3 -2/3; 2/3 -1/3 2/3; 2/3 2/3 -1/3] sigma = [60 0 0 ;0 45 0 ; 0 0 sqrt(1125) ; 0 0 0 ] U*sigma*V'
-
java版求矩阵特征值
2009-04-01 22:10:04雅克比迭代式法求实对称矩阵的特征值特征向量 -
科学计算第12讲(Jacobi方法求正定矩阵特征值和特征向量,二分法和迭代法解求非线性方程的根)...
2020-12-06 13:25:14思想:对于实对称矩阵 ,存在正交矩阵 使得 是对角矩阵,对角线元素就是 的特征值, 的第 列就是对应 的特征向量.如何找正交矩阵?以二阶矩阵为例 考虑二次型 希望通过坐标旋转将 变为标准型 .取 那么 .一般地,对于...9.4Jacobi方法
适用:求实正定对称矩阵得全部特征值和特征向量.
思想:对于实对称矩阵
,存在正交矩阵
使得
是对角矩阵,对角线元素就是
的特征值,
的第
列就是对应
的特征向量.
如何找正交矩阵?
以二阶矩阵为例
考虑二次型
希望通过坐标旋转将
变为标准型
.
取
那么
.
一般地,对于
阶矩阵, 把它看做许多2阶矩阵,找到某个非对角元素中的
,然后用正交变换把
变为0,变换矩阵如下
我们是否能够每次都将其中两个
需要分析)变成0最终得到对角矩阵?(
困难点:当我们一次将其中两个非对角元素变为0后,下一次将其它两个非对角元素变为0时,前一次的非对角元素可能会变为非0.
但是,我们发现非对角元素平方和
有如下递推关系
也就是说非对角元素平方和不断减少,最终趋于0!
古典Jacobi方法:每次选取非对角元素最大的,利用正交变换将其变为0.
此时
是非对角元素中最大的,有
那么
所以
Jacobi方法小结:
- 求实对称正定矩阵全部特征值和特征向量.
- 不断正交变换取极限得过程.
- 古典Jacobi方法每次选取模最大非对角元素,费时间;也可以按某种次序,比如从上到下从左到右.
- 精度高,特征向量正交性好.
- 不适合大规模稀疏矩阵,因为正交变换后会变得不稀疏.
第十章、非线性方程求根
10.1二分法
定理基础:连续函数函数值异号的两点之间至少有一零点.
步骤:选取区间中点,如果就是根则结束,否则看中点与左右哪个函数值异号,就与哪个一起作为新的区间,重复过程直到区间达到精度或找到根.
注意:考虑舍入误差,判断中点是否为根时不用
,而用
下图例子说明,用
作为停止条件有时误差会很大
误差估计:
给定精度
,则二分次数有如下关系式
二分法小结:
- 最简单,易于实现
- 对函数性质要求不高,仅要求连续和函数值异号
- 不能求偶数重根和复根,收敛速度与
的等比数列相同,不算快
因此,二分法在应用时不单独使用,而用来为其他方法提供近似初始根.
10.2迭代法
思路:将
改写为等价形式(不唯一)
,利用初始值及迭代公式
得到一串收敛于方程根的序列.
自然想到迭代法的结束条件:
,有无道理呢?
定理 设函数
满足下面条件
时,
.(保证迭代能进行下去)
利普西斯条件,且利普西斯常数满足
.
则
在区间
有唯一解,并且迭代
收敛,有如下误差估计式
证明
解的存在性:
构造辅助函数
,它是连续的,根据第一个条件有
根据连续函数零点存在定理可知有解.
解的唯一性:
假设
,利用利普西斯条件得
即
,所以解唯一.
收敛性:
利用利普西斯条件
归纳得
因为利普西斯常数小于1,所以
.
误差估计:
与线性方程组迭代解法证明类似,当时是矩阵的某个范数小于1,这里是利普西斯常数小于1.
-
雅可比、QR分解法求特征向量及其特征值
2020-07-29 16:55:48雅可比法用于对称矩阵,QR用于非对称...QR分解法求特征向量及其特征值c++程序源于feitian_feiwu的资源,本资源增加了复特征值对应的特征向量计算。 vs2013下调试通过,复特征向量不唯一,程序里提供了在线验证网址, -
【Linear Algebra】特征值、特征向量、相似矩阵
2019-08-12 09:44:18特征值、特征向量、特征矩阵5.1 特征值、特征向量5.1.1 特征值、特征向量的定义与概念5.1.2 特征方程、特征多项式、特征矩阵的定义与概念5.1.3 特征值的性质5.1.4 特征值、特征向量的求法5.2 相似矩阵、矩阵的相似对...文章目录
5. 特征值、特征向量、特征矩阵
本文重点在知识归纳,不帮助理解
5.1 特征值、特征向量
5.1.1 特征值、特征向量的定义与概念
是 阶方阵,如果对于数 ,存在非零向量 ,使得
成立,则称 是 的特征值, 是 对应于 的特征向量
5.1.2 特征方程、特征多项式、特征矩阵的定义与概念
由 得 因 ,故
称为 的特征方程,是未知元素 的 次方程,在复数域内有 个根
- 称为 的特征多项式
- 矩阵 称为特征矩阵
5.1.3 特征值的性质
设 , 是 的特征值,则
5.1.4 特征值、特征向量的求法
设
方法一:
- 通过 求出 的全部特征值
- 通过齐次线性方程组 求出 的对应于特征值 的特征向量,其中基础解系即是 的对应于 的线性无关特征向量,通解即是 的对应于 的全体特征向量(除 向量)
方法二:
利用定义,凡满足关系式 的数 即是 的特征值
- 即是 对应于 的特征向量。一般用于抽象矩阵,或元素为文字的矩阵
5.2 相似矩阵、矩阵的相似对角化
5.2.1 相似矩阵
若 都是 阶矩阵,存在可逆矩阵 ,使得 ,则称 相似于 ,记为
- 如果 ,其中 是对角阵,则称 可相似对角化, 是 的相似标准型
5.2.2 矩阵可相似对角化的充分必要条件
定理 1: 阶矩阵 可对角化 有 个线性无关的特征向量
定理 2: 是 的特征值 的对应于 的特征向量 线性无关
- 推论 2.1: 阶矩阵 有 个互不相同的特征值 有 个线性无关特征向量 可相似于对角阵
定理 3: 是 阶矩阵 的 重特征值,则其对应的线性无关特征向量个数小于等于 个
- 推论 3.1: 阶矩阵 可相似对角化 的每一个 重特征值对应的线性无关特征向量个数等于该特征值的重数
5.2.3 相似矩阵的性质
- 反身性,
- 对称性,
- 传递性,
5.2.4 矩阵相似的必要条件
5.3 实对称矩阵的相似对角化
5.3.1 实对称阵
元素 都是实数的对称矩阵称为实对称矩阵
- 都是实数 ( 是 的共轭)
- 记 ,则 是实对称阵 且
5.3.2 实对称阵的特征值、特征向量及相似对角化
定理 1:实对称矩阵的特征值全部都是实数
定理 2:实对称矩阵的属于不同特征值对应的特征向量相互正交
定理 3:实对称矩阵必相似于对角阵- 即存在可逆阵 ,使得
- 且存在正交阵 ,使得
5.3.3 实对称矩阵正交相似于对角阵的步骤
- 解特征方程 ,求出全部特征值: (均为实数);(若求得的是特征值的取值范围,则 的取值范围应限于实数,去除复数)
- 求 的基础解系 ,即是 的属于特征值 的线性无关的特征向量。若 是 重根,则必有 个线性无关的特征向量。(若求解方程 的基础解系时,使 能相互正交更好,可免去下一步将 正交化的工作)
- 将每个属于 的特征向量 正交化。(不同特征值对应的特征向量已相互正交)正交后的向量组记为
- 将全部特征向量单位化,得到标准正交向量组记为
- 将 个单位正交特征向量合并成正交矩阵,记为
即为所求的正交矩阵,且有
其中 是 的全部特征值组成的对角矩阵(注意 和 的排列次序要求一致)
-
特征向量的数值求法
2013-01-05 18:31:02-对于正定的对称矩阵,奇异值等于特征值,奇异向量等于特征向量。在这种情况下用奇异值分解就把特征值和特征向量求出来了。但是只要是方阵,它就有特征值和特征向量,对于一般的方阵,特征值和特征向量怎么求呢... -
-
瑞利(Rayleigh)商定义及其求特征值法
2012-06-05 21:58:04主特征值是指模最大...定理8.1.11 设为对称矩阵(其特征值次序记为),则 (1) (对任何非零); (2); (3). 证明 只证1,关于2,3留作习题. 由于为实对称矩阵,可将对应的特征向 -
特征值与特征向量_特征值与特征向量(3)
2020-12-05 11:22:52特征值与特征向量(3)前言(1)今天我们继续讨论一类特殊矩阵的特征值和特征向量。这个特殊“实对称”矩阵的性质希望同学们还没有完全遗忘, 正好通过今天的内容带着大家复习下。(2)特征值: ①|A|=[a+(n-1)b](a-b)^(n-1)... -
特征值_特征值与特征向量(3)
2021-01-15 17:22:13特征值与特征向量(3)前言(1)今天我们继续讨论一类特殊矩阵的特征值和特征向量。这个特殊“实对称”矩阵的性质希望同学们还没有完全遗忘, 正好通过今天的内容带着大家复习下。(2)特征值: ①|A|=[a+(n-1)b](a-b)^(n-1)... -
ComplexMatrixMathLab(C++复数矩阵数学库,含源代码和DLL)
2012-11-17 23:12:22求矩阵秩的全选主元高斯消去法、对称正定矩阵的乔里斯基分解与行列式的求值、矩阵的三角分解 、一般实矩阵的QR分解、一般实矩阵的奇异值分解 、求广义逆的奇异值分解法、约化对称矩阵为对称三对角阵的豪斯荷尔德变换... -
线性代数 | (6) 相似对角形
2019-10-27 15:59:165. 实对称矩阵特征值与特征向量的性质 6. 实对称矩阵的相似对角化 1. 矩阵的相似 矩阵的相似 (iv)的证明: 矩阵的特征值和特征向量 2. 特征值与特征向量的求法 由此可见矩阵的k重特征值... -
CMatrix
2008-07-21 12:30:31约当法 对称正定矩阵的求逆 托伯利兹矩阵求逆的埃兰特方法 求行列式值的全选主元高斯消去法 求矩阵秩的全选主元高斯消去法 对称正定矩阵的乔里斯基分解与行列式的求值 矩阵的三角分解 一般实... -
jacobi旋转法的VB实现
2021-01-22 00:08:49jacobi旋转法的VB实现一、jacobi方法概要1.jacobi方法的基本思想:jacobi旋转法是通过一组平面旋转变换(构建一个平面旋转矩阵)对**实对称方阵A**进行相似对角化,化其为*对角阵*,进而求出特征值与特征向量的方法。...
-
《A Survey of the Recent Architectures of Deep Convolutional Neural Networks》
-
时序分解股票数据并部署在微信公众号上
-
Java复习------OOP
-
超强补丁技术_让EXE加载DLL(含VC6写的DLL源码模版).rar
-
MySQL 数据类型和运算符
-
MySQL DML 语言(插入、更新与删除数据)
-
T/CECC 1 - 2017 电子烟雾化类器具产品通用规范 - 完整中国电子商会团体标准(11页)
-
P4921 [MtOI2018]情侣?给我烧了!
-
7-Verilog HDL二分频与三分频设计.7z
-
docker菜鸟学习笔记之ubuntu容器中安装python3和卸载python2
-
JavaScript数据结构——数组
-
MySQL 高可用(DRBD + heartbeat)
-
PPT大神之路高清教程
-
用研转岗规划——案例2则
-
【论文写作】毕业论文降重技巧
-
FFmpeg4.3系列之16:WebRTC之小白入门与视频聊天的实战
-
matlab即将消失的inline小朋友
-
Python基于Flask人力资源管理系统设计
-
零基础极简以太坊智能合约开发环境搭建并开发部署
-
Amoeba 实现 MySQL 高可用、负载均衡和读写分离