7特征值问题的迭代解法1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
·4·
= ∥AVm − Vm WDW T ∥2 2
2 = ∥AVm − Vm T m ∥2 2 + ∥Z ∥2
≥ ∥AVm − Vm T m ∥2 2. If we choose W = U and D = Λ, then Z = WDW T − T m = U ΛU T − T m = 0 and, hence, the above equality holds. This result shows that the minimum of ∥AQ − QD∥2 over all n-by-k column orthogonal matrices Q with span(Q) = K and over all diagonal matrices D is attained by Q = Vm U and D = Λ. 定理 7.1 和定理 7.2 表明, 在 ∥AQ − QD∥2 极小的意义下, Ritz 值是特征值的 ‘‘最佳” 近 似. 所以我们用 Ritz 值作为特征值的近似是有道理的.
. . . . . .
. . . . . .
. . . . . .
1 1 2 2 4 6 7 9
1
第七章
特征值问题的迭代解法
但矩阵规模很大时, 计算其所有的特征值和特征向量是非常困难的. 而在实际应用中, 我们通常只对其中的某些特征值和特征向量感兴趣, 因此也没必要计算所有的特征值和特 征向量. 本章讨论计算部分特征值和特征值向量的迭代解法. 这些算法的存储量要远小于 2 O(n ), 运算量也远小于 O(n3 ).
It follows that ∥AVm − Vm R∥2 2 is minimized when Z = 0 and ∥AVm − Vm T m ∥2 = VV T AVm − Vm T m 2 T AV Vm m = (Vm , Vu ) T − Vm T m Vu AVm
T I = QT Q = (Vm W )T Vm W = W T Vm Vm W = W T W,
7.3 Lanczos 算法 which implies that W is orthogonal. Let WDW T = T m + Z . Then we have
2 ∥AQ − QD∥2 2 = ∥ AVm W − Vm WD∥2
目 录
7 特征值问题的迭代解法 7.1 投影算法 . . . . . . 7.2 Rayleigh-Ritz 算法 . 7.2.1 对称矩阵 . . 7.3 Lanczos 算法 . . . . 7.4 Arnoldi 算法 . . . . 7.5 非对称 Lanczos 算法 参考文献
. . . . . .
T ∥AVm − Vm R∥2 2 = ( AVm − Vm R) ( AVm − Vm R) ( ) ( ) = AVm − Vm (T m + Z ) T AVm − Vm (T m + Z ) T T = ∥AVm − Vm T m ∥2 2 − Vm AVm Z + T m Vm Vm Z T T T − ZVm AVm + ZVm Vm T m + Z T Vm Vm Z 2 = ∥AVm − Vm T m ∥2 2 + ∥Z ∥2 .
7.1
投影算法
最简单的特征值问题就是仅仅计算一个特征值, 如计算模最大的特征值. 这时我们可 以使用幂迭代算法. • 幂迭代: 计算最大特征值 1. Given x(0) 2. for i = 1, 2, . . ., until converge 3. y(i) = Ax(i−1) 4. x(i) = y(i) /∥y(i) ∥2 5. end 幂迭代所产生的迭代向量 x(0) , x(1) , . . . , x(m−1) 生成一个 Krylov 子空间 { } Km (A, x(0) ) = span x(0) , Ax(0) , . . . , Am−1 x(0) . 在幂迭代中, 我们取 x(m−1) 为近似特征向量. 显然, 如果我们在 Km (A, x(0) ) 中找出 ‘‘最佳” 的 近似特征向量, 则收敛速度就可能会大大加快. 下面我们讨论如何在 Km = Km (A, x(0) ) 中寻找 ‘‘最佳” 的近似特征向量. 设 A ∈ Rn×n , ˜ x 并设 Km 和 Lm 是 Rn 的两个 m 维子空间. 投影算法就是在寻找 A 的近似特征对 (λ, ˜), 满足 下面的 Petrov-Galerkin 条件 ˜ ∈ C and x find λ ˜ ∈ Km such that ˜x Ax ˜−λ ˜ ⊥ Lm . (7.1.1)
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
7.3
Lanczos 算法
设 A ∈ Rn×n 是对称矩阵. Lanczos 就是利用 Lanczos 算法来计算 Km 的基和 T m = T AV , 然后计算 A 的 Ritz 值和 Ritz 向量. Vm m 算法 7.2 (Lanczos Algorithm) 1. Choose a vector v0 such that ∥v0 ∥ = 1, and set β0 = 0 2. For j = 0, 1, . . ., Do 3. Compute w = Av j − β j v j−1 4. α j+1 = ⟨w, v j ⟩ 5. w = w − α j+1 v j 6. β j+1 = ∥w∥2 7. If β j+1 = 0, then stop 8. v j+1 = w/β j+1 9. Compute the eigenvalues and eigenvectors of T j 10. Check the convergence 11. EndDo 在 Lanczos 算法 7.2 中, 迭代 m 步后, 向量 v0 , v1 , . . . , vm−1 构成子空间 { } Km (A, v0 ) = span v0 , Av0 , . . . , Am−1 v0 , 的一组基, 并且有 AVm = Vm T m + βm vm eT m,
T = Vu (Vu AVm ) T = Vu AVm 2
2
. 2
Biblioteka Baidu
注: 定理 7.1 中的 2-范数可以改成任意的酉不变范数, 如 F -范数.
T AV 的特征值分解. 设 Q ∈ Rn×m 定理 7.2 设 A ∈ Rn×n 对称, 并设 T m = U ΛU T 是 T m = Vm m m × m 是满足 span(Q) = K 的任意列正交矩阵, D ∈ R 是任意对角矩阵. 我们有
T AV ∥ . 即 ∥AVm − Vm R∥2 在 R = T m 处取最小值, 此时 ∥AVm − Vm R∥2 = ∥Vu m 2
证明 Let R = T m + Z where Z ∈ Rm×m is symmetric. Note that both A and T m are symmetric and T AV , we have T m = Vm m
7.2 Rayleigh-Ritz 算法
·3·
T AV ∈ Rm×m 也是对称的. 此时, Ritz 值和 Ritz 向量具有下面的最 由于 A 对称的, 故 T m = Vm m 优性质.
定理 7.1 设 A ∈ Rn×n 对称, 则对任意的对称矩阵 R ∈ Rm×m , 有 ∥AVm − Vm R∥2 ≥ ∥AVm − Vm T m ∥2 ,
7.2 Rayleigh-Ritz 算法 即x ˜ 可以由 v0 , v1 , . . . , vm−1 线性表出. 根据条件 (7.1.1), 我们可得 ˜ Vm y, wi ⟩ = 0, ⟨AVm y − λ 即
T T ˜ Wm Wm AVm y = λ Vm y.
·2·
i = 1, 2, . . . , m,
7.2
Rayleigh-Ritz 算法
事实上, 我们可以在 Km (A, x(0) ) 中找出 m 个最佳近似特征向量及相应的最佳近似特征 值. 这些近似特征值和近似特征向量就是 Ritz 值 和 Ritz 向量. 定义 7.1 设 Km 是 Rn×n 的一个 m 维子空间, 它的一组标准正交基为 v0 , v1 , . . . , vm−1 , 并 T AV , 设 (λ, ˜ y) 是 T m 的一组特征对, 即 T m y = λ ˜y 且 令 Vm = [v0 , v1 , . . . , vm−1 ]. 记 T m = Vm m ˜ 是 A 的一个 Ritz 值, x ∥y∥2 = 1. 则我们成 λ ˜ = Vm y 是 A 的一个 Ritz 向量. Rayleigh-Ritz 算法 就是用 Ritz 值和 Ritz 向量来近似 A 的特征值与特征向量. 算法 7.1 (Rayleigh Ritz procedure) 1. Compute an orthonormal basis of K : Vm = [v0 , v1 , . . . , vm−1 ]. T AV , i.e., the Ritz values 2. Compute the eigenvalues of the matrix T m = Vm m of A. ˜ 1, λ ˜ 2, . . . , λ ˜ k where k ≤ m. 3. Select k desired ones: λ ˜ i , i = 1, 2, . . . , k. 4. Compute the eigenvectors yi of T m associated with λ 5. Approximate the eigenvectors of A by the Ritz vectors x ˜i = Vm yi , i = 1, 2, . . . , k.
∥AQ − QD∥2 ≥ ∥AVm − Vm T m ∥2 , 且当 Q = Vm U, D = Λ 时等式成立. 证明 Because span(Q) = K = span(Vm ), it follows that there exist a matrix W ∈ Rm×m such that Q = Vm W . As Q is column orthogonal, we have
7.2.1 对称矩阵
这里我们讨论 A 对称时, Rayleigh Ritz 算法的性质. 设 Vu ∈ Rn×n−m 是一个列正交矩阵, 且使得 V = [Vm , Vu ] ∈ Rn×n 是一个正交矩阵. 于是 我们有 T T AV Vm m Vm AVu T T V AV = [Vm , Vu ] A[Vm , Vu ] = . T T Vu AVm Vu AVu
(7.1.2)
这是一个广义特征值问题. 如果我们取 Lm = Km , 并令 Wm = Vm , 则 (7.1.2) 就化为 ˜ y, Tmy = λ (7.1.3)
T AV ∈ Rm×m . 这意味着 (λ, ˜ y) 是矩阵 T m 的一个特征对. 由于 m 通常比较小, 因 其中 T m = Vm m ˜ y). 这样我们就可以计算出 A 的一 此我们可以使用先前讨论的方法 (如 QR 迭代) 来计算 (λ, ˜ x 个近似特征对 (λ, ˜), 其中 x ˜ = Vm y.
这样的算法我们称为斜投影算法. 如果我们取 Lm = Km , 则上面的算法就是一个正交投影 算法, 此时条件 (7.1.1) 称为 Galerkin 条件. 设 v0 , v1 , . . . , vm−1 和 w0 , w1 , . . . , wm−1 分别是 Km 和 Lm 的一组标准正交基. 令 Vm = [v0 , v1 , . . . , vm−1 ], Wm = [w0 , w1 , . . . , wm−1 ]. 则对任意 x ˜ ∈ Km , 存在向量 y ∈ Rn 使得 x ˜ = Vm y,
相关文档
最新文档