krylov方法
Krylov子空间方法II

max {q (λi )2 }
2 yi λi
min
max {q (λi ) } y Λy
5/76
= = 即
q ∈Pk , q (0)=1 1≤i≤n q ∈Pk , q (0)=1 1≤i≤n
min
max {q (λi )2 } ϵ0 Aϵ0 max {q (λi )2 } ∥ϵ0 ∥2 A,
⊺
min
11/76
(4.6)
又 Λ 是对角矩阵, 所以 ∥q (Λ)∥2 = max |q (λi )|.
1≤i≤n
设 x(k) 是由 GMRES 方法得到的近似解. 由 GMRES 方法的最优性可 知, x(k) 极小化残量的 2 范数. 因此, ∥b − Ax(k) ∥2 = = ≤
x∈x(0) +Kk (A,r0 ) q ∈Pk , q (0)=1 q ∈Pk , q (0)=1
1+ε δ
10/76
5.2 GMRES 方法的收敛性
正规矩阵情形 设 A 是正规矩阵, 即 A = U ΛU ∗ , 其中 Λ = diag(λ1 , λ2 , . . . , λn ) 的对角线元素 λi ∈ C 为 A 的特征值. 设 x ∈ x(0) + Kk (A, r0 ), 则存在多项式 p(t) ∈ Pk−1 使得 x = x(0) + p(A)r0 . 于是 b − Ax = b − Ax(0) − Ap(A)r0 = (I − Ap(A))r0 ≜ q (A)r0 , 其中 q (t) = 1 − t p(t) ∈ Pk 满足 q (0) = 1. 直接计算可知 ∥b − Ax∥2 = ∥q (A)r0 ∥2 = ∥U q (Λ)U ∗ r0 ∥2 ≤ ∥U ∥2 ∥U ∗ ∥2 ∥q (Λ)∥2 ∥r0 ∥2 = ∥q (Λ)∥2 ∥r0 ∥2 .
keryolv子空间迭代法

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。
Krylov子空间方法

由于 x ˜ ∈ x(0) + K, 因此存在向量 y ∈ Rm 使得 x ˜ = x(0) + V y 由正交性条件 (4.4) 可知 r0 − AV y ⊥ wi , i = 1, 2, . . . , m , 即 W ⊺ AV y = W ⊺ r0 .
x ˆ≜x ˜ − x(0) = V y
9/115
Arnoldi 过程: 计算 Km 的一组正交基
算法 2.1 基于 Gram-Schmidt 正交化的 Arnoldi 过程
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
给定非零向量 r, 计算 v1 = r/∥r∥2 for j = 1, 2, . . . , m − 1 do wj = Avj for i = 1, 2, . . . , j do hij = (wj , vi ) end for j ∑ wj = wj − hij vi hj +1,j = ∥wj ∥2 if hj +1,j = 0 then break end if vj +1 = wj /hj +1,j end for
若给定初值 x(0) ∈ Rn , 则改用仿射空间 x(0) + K, 即 find x ˜ ∈ x(0) + K such that b − Ax ˜ ⊥ L. (4.3)
好的初值一般都包含有价值 的信息
事实上, 如果将 x ˜ 写成: x ˜ = x(0) + x ˆ, 其中 x ˆ ∈ K, 则 (4.3) 就等价于 find x ˆ∈K such that r0 − Ax ˆ ⊥ L, (4.4)
定解条件
r = b − Ax ˜⊥L 其中 x ˜ 是近似解, L 是另一个 m 维子空间. 不同的 L 对应不同的投影方法 当 L = K 时, 我们称为 正交投影法 , 否则称为 斜投影法
Krylov子空间迭代法

采用IOM后,仍然需要存储v(1), v(2), …v(m),因为在第(vi)步 中仍然需要这些向量. 解决这个问题可以考虑采用H的LU分解,通过自身分解的迭代更新以减少每 一步的存储量 使xm的更新依赖于xm-1,
14
Arnoldi方法-DIOM
lower bidiagonal
banded upper triangular
15
Arnoldi方法-DIOM
16
Arnoldi方法-DIOM
17
Thanks for your time !
18
得到基于Galerkin原 理构成的算法
5
Arnoldi方法-基本算法
6
Arnoldi方法-基本算法
7
Arnoldi方法-MGS
8
Arnoldi方法-HO
9
Arnoldi方法-FOM
10
Arnoldi方法-FOM
11
Arnoldi方法-FOM(m)
12
Arnoldi方法-IOM
13
Arnoldi方法-DIOM
Krylov子空间方法
March 23, 2016
内
• Arnoldi算法
– Arnoldi过程 – Gram-Schmidt Arnoldi – HouseHolder Arnoldi
容
• 子空间和Krylov子空间
• FOM
– IOM – DIOM
2
子空间
• 空间
– 集合,元素都是向量 – 线性空间(向量空间)
• 线性空间(交换律,结合律,幺元性,零元性,可 逆性,数乘分配律等)
• 子空间
– 线性空间的非空子集
Krylov子空间、优化问题与共轭梯度法

Krylov 子空间、优化问题与共轭梯度法自动化 富晓鹏工程实践中经常需要求解大型线性系统KU=F 。
在很多情况下矩阵K 是非常稀疏的,比如来自偏微分方程的离散化等,此时矩阵中每行仅有较少的非零元素。
面临这样的问题,我们首先面对的问题是,应该采用直接消元法还是迭代方法。
对前者来说,为充分利用系数特性,节点重编号是重要的;而对后者来说,适当的预处理是关键。
本文将重点放在后一类方法中的一种进行介绍与分析,即共轭梯度法。
共轭梯度法适用于矩阵K 为对称阵的情况,算法本身简洁高效,且与一些其他的数学理论、概念相紧密联系,本文分析了共轭梯度法与Krylov 子空间,以及优化问题之间隐含的联系,并简要给出算法框架。
1. 线性方程组迭代解法与Krylov 子空间我们考虑迭代法求解线性方程组Ax=b 。
假定未采用预处理矩阵P ,或P 矩阵已经隐含在A 与b 中。
迭代法求解格式如下:1()k k P x P A x b +⋅=-⋅+ (1)为说明问题,我们考虑简单的迭代格式P=I ,并且x 1=b 。
则迭代的最初几步为:2()2x I A b b b Ab =-+=- (2)232()33x I A x b b Ab A b =-+=-+ (3) …由上面几个式子可得,以上迭代格式第j 步的解x j 是b ,Ab ,…,A j -1b 的线性组合。
当A 矩阵稀疏时,这些向量可以采用矩阵向量乘法的稀疏技巧很快得到。
以上发现自然与Krylov 子空间的概念相联系起来。
Krylov 矩阵: K j = [b Ab A 2b … A j -1b]Krylov 子空间:K j = b ,Ab ,…,A j -1b 的所有线性组合Krylov 命名了向量b ,Ab ,…,A j -1b 的全部线性组合构成的子空间,并认为在这一子空间中,有比上例中特定元素更与线性方程组的解相接近的元素。
共轭梯度法就是在这一子空间中,每一步迭代都依照某种标准寻求最优元素的线性方程组解法。
krylov子空间迭代法

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子空间迭代法是一种高效的求解线性方程组的迭代方法,它可以有效收敛,具有较高的求解精确度和计算效率。
(完整版)Krylov子空间迭代法

February 10, 2020
内容
• 子空间和Krylov子空间
• Arnoldi算法
– Arnoldi过程 – Gram-Schmidt Arnoldi – HouseHolder Arnoldi
• FOM
– IOM – DIOM
2
子空间
• 空间
– 集合,元素都是向量 – 线性空间(向量空间)
根据Cayley-Hamilton定理有
������������ + ������������−1������������−1+. . . +������1������1 + ������0������0 = 0
即
VP= -������������ 其中������ = [������0, ������1, . . . , ������������−1ሿ,������ = ������0, ������1, . . . , ������������−1 ������ Krylov子空间: ������������(������, ������) = ������������������������{������, ������������, . . . , ������������−1������ሽ Krylov矩阵: ������������(������, ������) = [������, ������������, . . . , ������������−1������ሿ
• 线性空间(交换律,结合律,幺元性,零元性,可 逆性,数乘分配律等)
• 子空间
– 线性空间的非空子集
• 包含零元素,并且满足加法和乘法的封闭性
– 扩张(符合记作span)
第四讲Krylov子空间方法(II)

设 A 对称正定 .
令 x(k) 是 CG 方法在仿射空间 x(0) + Kk(A, r0) 中找到的近似解. 则由 CG 方法的最优性质可知
∥x(k) − x∗∥A =
min
∥x − x∗∥A
x∈x(0) +Kk (A,r0 )
(4.1)
记 Pk 为所有次数不超过 k 的实系数多项式集合. 则 Kk(A, r0) 中任何 一个向量都可以写成 p(A)r0 形式, 其中 p ∈ Pk−1. 设 x ∈ x(0) + Kk(A, r0), 则存在多项式 p(t) ∈ Pk−1 使得
i=1
yi2λiq(λi)2
∑n
≤
min
q∈Pk, q(0)=1
max {q(λi)2}
1≤i≤n
i=1
yi2λi
= min max {q(λi)2} y⊺Λy q∈Pk, q(0)=1 1≤i≤n
5/76
=
min
q∈Pk, q(0)=1
max {q(λi)2}
1≤i≤n
ϵ⊺0 Aϵ0
=
min
q∈Pk, q(0)=1
≤
min
q∈Pk, q(0)=1
max |q(λi)|.
1≤i≤n
(4.3)
需要指出的是, (4.3) 中上界是紧凑的, 即对任意 k, 总存在某个右端项 b 或某个初始值 x(0) (与 k 和 A 有关), 使得 (4.3) 中的等号成立. 也就是 说, (4.3) 中的上界描述了 CG 方法在最坏情况下的收敛情况.
x = x(0) + p(A)r0.
3/76
记 ϵ0 ≜ x(0) − x∗, 则
x − x∗ = x(0) + qk(A)r0 − x∗ = ϵ0 + p(A)(b − Ax(0)) = ϵ0 + p(A)(Ax∗ − Ax(0)) = (I − Ap(A))ϵ0.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
krylov方法
Krylov方法是一种用于求解线性方程组的迭代方法,其原理是利用Krylov子空间来逼近方程组的解。
Krylov方法在科学计算中有广泛的应用,特别是在大规模问题和稀疏矩阵求解中十分高效。
Krylov方法的基本思想是通过迭代求解线性方程组,不断改进近似解的精度。
其关键在于构建一个Krylov子空间,该子空间由矩阵A 和初始向量b生成。
首先,选取一个初始向量b,然后利用矩阵A 和b迭代生成一系列向量{b, Ab, A^2b, A^3b, ...},这些向量构成了Krylov子空间。
接下来,通过最小化残差向量的范数来求解近似解,具体而言就是找到一个向量x使得||Ax-b||最小。
在Krylov子空间中选择一个向量作为近似解,然后通过迭代的方式不断改进,直到达到预定的精度要求。
Krylov方法的一个重要应用是求解稀疏矩阵的线性方程组。
在实际问题中,往往会遇到大规模的线性方程组,而且矩阵往往是稀疏的。
传统的直接求解方法,如高斯消元法,计算复杂度很高,而且需要大量的存储空间。
而Krylov方法可以通过迭代的方式,只需要存储一个向量和一个矩阵向量乘法的操作,大大减少了计算和存储的开销。
在实际应用中,Krylov方法有多种变体,最常见的是共轭梯度法(Conjugate Gradient, CG)和GMRES(Generalized Minimal
Residual)方法。
共轭梯度法是Krylov方法的一种特殊形式,适用于对称正定矩阵的线性方程组。
GMRES方法则适用于一般的非对称矩阵。
这些方法在求解大规模稀疏线性方程组时表现出了很好的效果。
除了求解线性方程组,Krylov方法还有其他的应用。
例如,它可以用于计算矩阵的特征值和特征向量,通过迭代的方式逼近矩阵的特征值和特征向量。
此外,Krylov方法还可以用于求解椭圆偏微分方程等科学计算问题。
Krylov方法是一种高效的求解线性方程组的迭代方法,特别适用于大规模问题和稀疏矩阵求解。
通过构建Krylov子空间,并利用迭代的方式改进近似解的精度,Krylov方法可以在计算和存储方面节省大量的开销。
在科学计算中,Krylov方法被广泛应用于各个领域,为解决实际问题提供了有效的工具。