Krylov迭代法QR分解
- 格式:pdf
- 大小:281.91 KB
- 文档页数:36
基于QR分解迭代求解方阵特征值和特征向量一、特征值与特征向量求解的难点线性代数的知识告诉我们如果要求一个方阵的特征值,只需要求解如下的特征方程的根即可:但是在具体程序中,如何去求解一个高次的多项式方程的根本身就是一个难点,它的实现甚至要比求得特征值还要复杂。
因此,线性代数中这种用来手算的方法很明显不适合程序实现。
那么,我们该如何去编写程序求解特征值呢?二、QR迭代法求解特征值的原理经过搜集相关资料,已知在计算机编程领域求解特征值一般有两种比较常见的算法,一种是雅可比(Jacobi)迭代法,另一种就是我们要讲的QR迭代法,这两种算法本质上都是去不断迭代,通过逼近的方法去求得特征值。
雅可比方法有一个弊端,就是他只能求解实对称矩阵的特征值,适用面比较窄,但是QR分解迭代法可以求解任意矩阵的特征值,而且实现上更加接近我们线性代数课程的知识,因此下面介绍QR分解迭代法求解特征值的原理。
理论依据:任意一个非奇异矩阵(满秩的方阵)都可以分解为一个正交矩阵和一个上三角矩阵的乘积,且当对角元符号确定时,分解是唯一的。
QR分解是一种迭代方法,迭代格式如下:当基本上收敛到上三角矩阵的时候,迭代完成,此时主对角线元素就是特征值。
特别的:当是实对称矩阵时,是对角阵,就是其标准正交的特征向量矩阵,且有。
那么我们该如何去理解上述原理呢?下面进行简要的推导。
不妨令,对进行QR分解得到:令,很明显,对再进行QR分解:继续令,可以看到,同理,我们不断去进行QR分解,最终就会得到:因此,与拥有相同的特征值。
特别的,当时,有,将记作,那么和就分别是正交的特征向量矩阵和对角线元素为特征值的对角阵。
有了上述理论介绍,我们已经知道了如何去进行QR迭代求特征值,下面马上又有一个问题摆在了我们面前——如何用程序去做QR分解呢?三、QR分解的初等变换法QR分解有三种常用的算法:Gram-Schmidt正交化(线性代数讲授的方法)、初等变换法、Givens 变换法。
qr分解原理QR分解原理。
QR分解是一种常用的矩阵分解方法,它可以将一个矩阵分解为一个正交矩阵和一个上三角矩阵的乘积。
在数值计算和线性代数中,QR分解有着广泛的应用,它不仅可以用于解线性方程组,还可以用于求特征值和特征向量、最小二乘拟合等问题。
本文将介绍QR分解的原理及其应用。
QR分解的原理。
假设我们有一个m×n的矩阵A,其中m≥n。
我们希望将矩阵A分解为一个正交矩阵Q和一个上三角矩阵R的乘积,即A=QR。
其中,Q是一个m×m的正交矩阵,满足Q^TQ=I,R是一个m×n的上三角矩阵。
为了得到这样的分解,我们可以使用Gram-Schmidt正交化方法。
该方法的基本思想是,通过一系列正交化的步骤,将矩阵A的列向量转化为一组正交向量。
具体来说,我们可以按照以下步骤进行QR分解:1. 对矩阵A的第一列向量进行正则化,得到正交矩阵Q的第一列向量q1。
2. 对矩阵A的第二列向量进行正交化,得到正交矩阵Q的第二列向量q2。
需要注意的是,在进行正交化时,需要将第二列向量投影到q1上并将其正交化。
3. 依此类推,对矩阵A的后续列向量进行正交化,得到正交矩阵Q的后续列向量。
4. 最终,得到正交矩阵Q和上三角矩阵R,使得A=QR。
QR分解的应用。
QR分解在数值计算和线性代数中有着广泛的应用。
其中,最为常见的应用包括解线性方程组和求特征值和特征向量。
在解线性方程组时,我们可以利用QR分解将系数矩阵A分解为QR,然后将原方程组Ax=b转化为QRx=b,再利用正交矩阵的性质求解新的方程组。
由于正交矩阵的逆等于其转置,因此可以大大简化方程组的求解过程。
在求特征值和特征向量时,我们可以利用QR分解将矩阵A分解为QR,然后利用上三角矩阵的性质求解特征值和特征向量。
由于上三角矩阵的特征值就是其对角线上的元素,因此可以直接读出特征值,再利用反向代入等方法求解特征向量。
除此之外,QR分解还可以用于最小二乘拟合、矩阵的奇异值分解等问题。
keryolv子空间迭代法Krylov子空间迭代法是一种求解大规模线性方程组的有效方法。
它的基本思想是利用一个初始向量和一个矩阵来构造一个Krylov子空间,然后在这个子空间中寻找一个近似解。
这种方法通常比直接求解线性方程组的方法更快,尤其是当矩阵非常大时。
下面将从以下几个方面详细介绍Krylov子空间迭代法:1. Krylov子空间的定义和构造Krylov子空间是由一个向量v和一个矩阵A产生的一组向量集合,表示为:K(A,v) = span{v, Av, A^2v, ..., A^(k-1)v}其中k是任意正整数。
这个集合包含了所有由v和A作用k次得到的向量的线性组合。
2. Arnoldi过程Arnoldi过程是一种构造Krylov子空间的算法。
它通过对向量集合进行正交化来构造一个Hessenberg矩阵,该矩阵描述了向量在Krylov 子空间中的投影。
Arnoldi过程可以表示为以下步骤:(1) 选择初始向量v,并令q1 = v/||v||。
(2) 对于k = 1, 2, ..., n,执行以下步骤:(a) 计算w = Aqk。
(b) 对于j = 1, 2, ..., k,计算hj,k = qj^Tw,并令w = w - hj,kqj。
(c) 计算hk+1,k = ||w||,如果hk+1,k=0,则停止迭代。
(d) 如果hk+1,k≠0,则令qk+1 = w/hk+1,k,并将(h1,1, h2,1, ..., hk+1,k)作为Hessenberg矩阵的第k列。
3. GMRES方法GMRES是一种基于Krylov子空间的迭代方法,用于求解线性方程组Ax=b。
它通过在Krylov子空间中寻找一个最小化残差的向量来逼近解向量。
GMRES可以表示为以下步骤:(1) 选择初始向量x0和r0=b-Ax0。
(2) 构造Krylov子空间K(A,r0),并使用Arnoldi过程构造Hessenberg矩阵H和正交矩阵Q。
qr分解原理QR分解原理。
QR分解是一种常用的矩阵分解方法,它可以将一个矩阵分解为一个正交矩阵和一个上三角矩阵的乘积。
在数值计算和线性代数中,QR分解被广泛应用于求解线性方程组、最小二乘问题以及特征值计算等领域。
本文将详细介绍QR分解的原理及其应用。
QR分解的原理。
给定一个m×n(m≥n)的矩阵A,我们希望将其分解为一个正交矩阵Q和一个上三角矩阵R的乘积,即A=QR。
其中,Q的列向量是正交的,即Q^TQ=I,R是一个上三角矩阵。
QR分解的过程可以通过Gram-Schmidt正交化方法来实现。
Gram-Schmidt正交化方法的基本思想是:对于矩阵A的每一列向量,我们将其投影到前面列向量张成的子空间上,然后将这个投影的分量从原始向量中减去,得到一个新的正交向量。
重复这个过程,直到所有的列向量都被正交化。
具体的步骤如下:1. 对于矩阵A的第一列向量a1,我们将其单位化得到q1=a1/||a1||,这里||a1||表示向量a1的模。
2. 对于矩阵A的第二列向量a2,我们先将其投影到q1上,得到投影长度为a2^Tq1,然后将这个投影的分量从a2中减去,得到一个新的正交向量b2=a2-a2^Tq1q1。
最后将b2单位化得到q2=b2/||b2||。
3. 对于矩阵A的第三列向量a3,我们先将其投影到q1和q2张成的子空间上,然后将这个投影的分量从a3中减去,得到一个新的正交向量b3。
最后将b3单位化得到q3。
重复以上步骤,直到所有的列向量都被正交化。
最终得到一个正交矩阵Q,将Q^T与矩阵A相乘,得到上三角矩阵R。
QR分解的应用。
QR分解在数值计算和线性代数中有着广泛的应用。
其中最为重要的应用之一就是求解线性方程组。
对于一个m×n(m≥n)的矩阵A和一个n维向量b,我们希望求解Ax=b。
利用QR分解,我们可以将矩阵A分解为QR,然后将方程组Ax=b转化为QRx=b。
再利用正交矩阵的性质Q^TQ=I,我们可以将方程组进一步转化为Rx=Q^Tb,最后利用上三角矩阵R进行回代求解出向量x。
数值模拟导论-第六讲Krylov子空间矩阵求解方法雅克比·怀特感谢Deepak Ramaswamy, Michal Rewienski,Karen Veroy and Jacob White概述常规的子空间极小化算法——回顾学过的正交化和投射定理GCR算法-krylov-子空间-对称矩阵的简化-收敛条件回顾特征值和特征向量-范数和谱半径-谱映射定理任意的子空间方法可以近似为向量的和任意的子空间方法近似的解Mx =b选择一个k维的子空间10k ki ii x w α−=⇒=∑{}10,,−⋅⋅⋅k w w {}01,,k w w −⋅⋅⋅1)正交化2)解计算r的最小值任意子空间方法最小残向量图示计算步骤jMw s′选择的标准对所有在空间中的任意,的值都很小当时在向量空间一种选择,单位向量,向量空间如果k =N 进行QR 分解如果k<N 情况会很糟糕01{,,}k w w −⋅⋅⋅i s α′10k k i ii b Mx b Mw α−==−−∑ 任意子空间方法子空间的选择标准k N ≺≺1A b −≈{}1,kk x e e ∈⋅⋅⋅01,,k w w −⋅⋅⋅01{,,}k w w −⋅⋅⋅注意:向量空间=向量空间如果:向量空间=向量空间那么并且向量空间=向量空间krylov 子空间01{,,}k r r −⋅⋅⋅()(){}01,,k xxf x f x −∇⋅⋅⋅∇{}01,,k w w −⋅⋅⋅ 任意子空间方法子空间的选择krylov 子空间100k k ii i r r Mr α−==−∑{}0010,,,k r Mr M r −⋅⋅⋅01{,,}k r r−⋅⋅⋅01{,,}k r r −⋅⋅⋅吸热krylov方法“不与外界进行热交换”的例子绝缘棒和矩阵近端温度远端温度将棒离散化节点平衡方程krylov方法“不与外界进行热交换”的例子电路和矩阵krylov方法“与外界进行热交换”的例子导体棒和矩阵近端温度远端温度离散化节点平衡方程krylov方法“与外界进行热交换”的例子电路和矩阵节点平衡方程残余误差迭代次数反复迭代后的log (残余误差)对比图GCR 性能(随机的Rhs )GCR性能( Rhs=-1,+1,-1,+1….)反复迭代后的log(残余误差)对比图Krylov 子空间方法收敛性分析多项式逼近方法{}{}0,....,,....k k w w rMr M r=()1kk i i k i k xM r M rαξ+===∑ 次多项式(())110kk i i k i rr M r I M M rαξ++==−=−∑00α≠{}{}0000,....,,....k k w w r Mr M r =如果向量空间注:对任意的存在向量空间。
krylov子空间迭代法Krylov子空间迭代法是一种有效的求解线性方程组的迭代方法,因Krylov于1908年提出而得名。
它是一种基于子空间的迭代方法,可以在较少的计算量下,解决高维线性方程组的较大特征值的问题。
Krylov子空间迭代法的基本思想是:将线性方程组中的高维系数矩阵P划分为n个受限的Krylov子空间,用这些子空间来模拟矩阵P的特征值的变化趋势。
这样,可以使线性方程组的解从低维子空间转移到高维子空间,从而求出线性方程组的解。
Krylov子空间迭代法具有以下优点:(1)采用Krylov子空间技术可以降低计算维度,减少计算量,提高计算效率;(2)将子空间技术与迭代法相结合,实现了近似求解线性方程组的解;(3)Krylov子空间迭代法能有效收敛,解的可靠性高;(4)运行简便,无需调整参数;(5)可用于求解各种类型的线性方程组。
由于Krylov子空间迭代法的优越性,它已经广泛应用于工程、数学、物理、生物等多学科的计算和仿真中。
从根本上讲,Krylov子空间迭代法是一种非常有效的迭代方法,它可以有效地解决线性方程组的特征值问题。
下面我们将介绍Krylov 子空间迭代法的算法步骤:(1)输入高维系数矩阵P、初始向量v、迭代次数m及收敛准则ε;(2)构造Krylov子空间:V=[v,Pv, Pv,……,P^m-1v];(3)用V中的向量代替P,将Pv-λv转化为V的线性方程;(4)求解V线性方程组;(5)求出V的特征值λ;(6)利用第4步求出的解v,求出线性方程组的解x;(7)若特征值收敛,则停止迭代;(8)重复第2至第7步,直至特征值收敛;(9)输出计算结果。
以上就是Krylov子空间迭代法的算法步骤。
Krylov子空间迭代法的算法实现起来相对简单,只需要实现以上的几个步骤即可。
由于Krylov子空间迭代法的有效性,它已经被广泛应用于工程、数学、医学、物理、生物等多学科的计算和仿真中。
总之,Krylov子空间迭代法是一种高效的求解线性方程组的迭代方法,它可以有效收敛,具有较高的求解精确度和计算效率。
QR分解算法范文QR分解是一种常用的线性代数运算方法,广泛应用于数值计算、信号处理、数据处理等领域。
它主要用于将一个非奇异(invertible)的方阵分解为一个正交方阵Q和一个上三角方阵R的乘积。
QR分解的计算过程可以通过Gram-Schmidt正交化方法、Householder变换或Givens旋转等方法来实现,下面将以Gram-Schmidt 正交化方法为例,介绍QR分解的步骤。
1. 对于一个n维实数向量空间中的一组线性无关的向量组A={a1,a2,...,an},构造一个与A具有相同维度的正交向量组Q={q1,q2,...,qn}。
假设A中的第一个向量a1已经确定,那么可以令q1=a1/,a1,此时得到了Q的第一个向量。
对于向量a2,通过如下步骤可以获得与q1正交的向量q2:(1) 将a2在q1上的投影长度减去a2自身的长度,得到新的向量v2=a2-proj(q1, a2),其中proj(q1, a2)=dot(q1, a2)*q1(2)在向量v2上进行正规化,得到q2=v2/,v2以此类推,对于向量组A中的每个向量ai,可以通过以下公式来得到与其它已有正交向量qi正交的向量qi:qi=ai-∑(dot(qj,ai)*qj),其中∑表示对j从1到i-1求和。
2. 经过上述步骤,可以得到一个正交矩阵Q=[q1,q2,...,qn],其中qj是第j个列向量。
现在需要求解一个上三角矩阵R,使得A=QR。
为了求解R,可以通过以下公式来计算:r_ij=dot(q_i, a_j),其中i≤j。
通过以上步骤,可以将一个非奇异方阵A分解为QR的乘积,其中Q 是一个正交矩阵,R是一个上三角矩阵。
QR分解的优势在于可以帮助我们简化复杂运算,例如求解线性方程组、求解线性最小二乘问题等。
下面以一个实际的例子来说明QR分解的具体计算过程。
假设有以下二维矩阵A:A=[[1,2],[3,4]]首先,计算向量a1=[1,3]的长度,得到,a1,=√(1^2+3^2)=√10。
数值模拟导论-第六讲
Krylov子空间矩阵求解方法
雅克比·怀特
感谢Deepak Ramaswamy, Michal Rewienski,Karen Veroy and Jacob White
概述
常规的子空间极小化算法
——回顾学过的正交化和投射定理GCR算法
-krylov-子空间
-对称矩阵的简化
-收敛条件
回顾特征值和特征向量
-范数和谱半径
-谱映射定理
任意的子空间方法
可以近似为向量的和
任意的子空间方法
近似的解Mx =b
选择一个k
维的子空间
10
k k
i i
i x w α−=⇒=∑
{}
10,,−⋅⋅⋅k w w {}01,,k w w −⋅⋅⋅
1)正交化
2)解计算r
的最小值
任意子空间方法
最小残向量
图示计算步骤
j
Mw s
′
选择的标准
对所有在空间中的
任意,的值都很小当时在向量空间一种选择,单位向量,向量空间
如果k =N 进行QR 分解如果k<N 情况会很糟糕
01{,,}k w w −⋅⋅⋅
i s α′10
k k i i
i b Mx b Mw α−==−−∑ 任意子空间方法
子空间的选择
标准
k N ≺≺1
A b −≈{}1,k
k x e e ∈⋅⋅⋅
01,,k w w −⋅⋅⋅
01{,,}
k w w −⋅⋅⋅
注意:向量空间=向量空间如果:向量空间=向量空间那么
并且向量空间=向量空间krylov 子空间
01{,,}k r r −⋅⋅⋅()(){}0
1
,,k x
x
f x f x −∇⋅⋅⋅∇{}
01,,k w w −⋅⋅⋅ 任意子空间方法
子空间的选择
krylov 子空间
100
k k i
i i r r Mr α−==−∑{}
0010,,,k r Mr M r −⋅⋅⋅0
1
{,,}k r r
−⋅⋅⋅0
1
{,,}k r r −⋅⋅⋅
吸热
krylov
方法
“不与外界进行热交
换”的例子绝缘棒和矩阵
近端温度
远端温度
将棒离散化
节点平衡方程
krylov方法“不与外界进行热交
换”的例子
电路和矩阵
krylov方法“与外界进行热交换”
的例子
导体棒和矩阵
近端温度远端温度
离散化
节点平衡方程
krylov方法“与外界进行热交换”
的例子
电路和矩阵
节点平衡方程
残余误差迭代次数
反复迭代后的log (残余误差)对比图
GCR 性能
(随机的Rhs )
GCR性能( Rhs=-1,+
1,-1,+1….)
反复迭代后的log(残余误差)对比图
Krylov 子空间方法
收敛性分析
多项式逼近方法
{}{}
0,....,,....k k w w r
Mr M r
=()1
k
k i i k i k x
M r M r
αξ+===∑ 次多项式
(())1
10
k
k i i k i r
r M r I M M r
αξ++==−=−∑00
α≠{}
{}000
0,....,,....k k w w r Mr M r =如果向量空间
注:对任意的
存在向量空间。
是矩阵M 的一个特征值
如果为特征向量或者:如果满足特征值和特征向量
简介
基本定义
i i i
Mu u λ= i λi u
i M I λ−i λi u
矩阵的特征值和特征向量满足
其中为特征值,是奇异矩阵,
是矩阵M 的一个特征向量
()0
i M I λ−=
特征值和特征向量
简介
基本定义
例子
特征值?
特征向量?
如果是一个下三角矩阵会怎样?
注意问题特征值和特征向量
简介
矩阵都有N
几乎所有的N*N
个线性独立的特征向量。
i
λ特征值和特征向量
简介
注意问题
几乎所有的N*N 矩阵都有N 个线性独立的特征向量。
并不意味着独立的特征值,可以等于并不意味着M 是非奇异矩阵。
i
λi λj λ
特征值和特征向量
简介
谱半径
i
λ矩阵M 的谱半径为:圆心位于原点,可以包含所有矩阵M 的特征值的圆的最小半径。
特征值和特征向量
简介
热流例子
i
λ
棒长
吸入热
特征值和特征向量
简介
热流例子(续)
i
λ
特征值和特征向量
简介
热流例子(续)i
λ四个特征向量-选择哪一个?
特征参数
谱半径定理给定一个多项式将多项式应用到矩阵
那么:
()01...p
p f x x x ααα=+++()01...p p f M M M ααα=+++()()()()
f M f M =谱半径谱半径
特征参数
谱半径定理证明
注意矩阵下面的性质
应用到多项式矩阵的形式
分解因式
1121
1p p MM U U U U U U M U U λλλλ−−−−==⇒=()111
01...p p f M UU U U U U ααλαλ−−−=+++()()()()
1
0101......p p p p f M U I U f M U U I ααλαλααλαλ−=+++=+++
1122...
N N
x u u u ααα=+++ 特征参数
谱分解
用特征向量的成分分解任意的x
通过解
来计算x
用矩阵M 来代替x ,得:
1122111222(...)...N N N N N
Mx M u u u u u u ααααλαλαλ=+++=+++
总结
·任意子空间运算法则
-正交化搜索方向
·GCR算法
-Krylov子空间
-对称矩阵的简化
-泄漏和绝缘例子
·回顾特征值和特征向量
-谱半径理论
·GCR极限情况
-Q步收敛法。