SlideShare a Scribd company logo
1 of 10
Download to read offline
はじめてのKrylov部分空間法
前原 貴憲 (@tmaehara)
線型計算の主なタスク
• 線型方程式(linear solver)
Ax = b
• 固有値問題(eigenvalue problem)
Ax = λx
Krylov部分空間法:現代線型計算の基本手法
• 行列・ベクトル積が効率的に計算可能な場合に強い
(eg., Aが疎行列,関数として与えられる,etc)
• 綺麗な理論評価 ⇒ 収束改善法などが明確
1/ 9
Krylov部分空間Kd [Krylov 1931]
Kd(A, b) := span{b, Ab, A2
b, . . . , Ad−1
b}
Krylov部分空間法とは:
1. 問題を小さい次元のKrylov部分空間に射影して
2. そちらで解いた解を元の空間に引き戻す手法の総称
主な特徴:
• 次元を増やすと誤差減(反復法的側面)
• 十分大きな次元で厳密解(直接法的側面)
• 実用的には誤差の累積が問題(cf., CG法冬の時代)
– 前処理・リスタートなどと組み合わせる
2/ 9
行列多項式による誤差・残差評価
Kd(A, b) := span{b, Ab, A2
b, . . . , Ad−1
b}
= {p(A)b : pはd − 1次多項式}
誤差・残差は行列多項式p(A)の解析で見積もる
適用例(逆行列): d反復目まででの誤差が小さい
⇐⇒ A−1
がd次多項式p(A)で近似しやすい
⇐⇒ (λi, 1/λi)がd次多項式で近似しやすい
slow fast
3/ 9
Krylov空間への射影
• Arnoldi反復(一般行列)
• Lanczos反復(対称行列)
(Arnoldi反復の特殊ケース)
4/ 9
Arnoldi反復
{b, Ab, A2
b, . . .}のGram-Schmidt直交化(QR分解)
⇒ AQd = QdHd + rde⊤
d (Arnoldi関係式)
(∥rd∥が十分小さくなったら打ち切る)
• Qd:直交(Kd(A, b)の正規直交基底を並べたもの)
• Hd:Hessenberg形(上三角+下副対角)
※A対称のとき自動的にH 三重対角(Lanczos反復)
○ Hessenberg形なので各種計算が簡単
× Gram-Schmidtなので数値誤差が累積する
5/ 9
Krylov空間法の具体例
線型方程式:GMRES / 固有値問題:Arnoldi法
射影・引戻し・前処理の組み合わせで大量の手法が存在
• 基本的な性質はどれも類似
• 細かい部分の良し悪しは問題依存
⇒ 問題に応じて手法選択が必要
• 紹介する2つはベースライン;最初に試すべき手法
6/ 9
線型方程式:GMRES (Generalized Minimum RESidual)
Step 0. 初期解x0 設定.r0 ← Ax0 − b
Step 1. AをKd(A, r0)に射影:A ≃ V ⊤
HV
Step 2. 残差最小解を計算:min ∥H ˜x − ˜b∥
Step 3. 引き戻す:x = V ⊤
˜x
収束定理:Aが対角化可能(S−1
AS = Λ)のとき
∥rd∥
∥r0∥
≤ κ(S) min
p
max
λi
|p(λi)|
※Step 2 はQR分解で可能(Hessenberg形なので軽い)
7/ 9
固有値問題:Arnoldi法
Step 0. 適当なx0 設定
Step 1. AをKd(A, x0)に射影:A ≃ V ⊤
HV
Step 2. H の固有対(˜λi, ˜ui)を計算(QR法等)
Step 3. 引き戻す:(˜λi, V ⊤
˜ui)
収束定理:Aが適当な条件を満たすとき
∥˜u − u∥ = O(κ(A) min
p
max
λi
|p(λi)|)
(雑な評価,H ˜u = λuとして見積もる)
※外側の固有値から順番に収束していく
8/ 9
おまけ:線型方程式の解法選択
• CG, CGS, CGR, PCG, BiCG, BiCGStab, QMR, TFQMR,
MINRES, GMRES, LGMRES, CAGMRES, LSQR,
SYMMLQ, Orthomin, . . .
• 扱う問題に応じて手法の振る舞いが違う
• 問題を固定するとマイナー改良で既存手法に勝てる
⇒ 毎月数個以上新しいKrylov系手法が登場
(行列計算の専門家でもフォローするのは不可能)
• 非専門家が使う側の心得
– 複数の手法で検証(CG系 + GMRES系)
– 複数の前処理(小規模問題で固有値分布を観察する)
9/ 9

More Related Content

What's hot

PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説弘毅 露崎
 
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセットToru Tamaki
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)Masahiro Suzuki
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Modelscvpaper. challenge
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)Masahiro Suzuki
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State SpacesDeep Learning JP
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展Deep Learning JP
 
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?Masanao Ochi
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門Kawamoto_Kazuhiko
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Shohei Taniguchi
 
[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展Deep Learning JP
 
大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法Shunji Umetani
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理Taiji Suzuki
 
R-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れR-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れKazuki Motohashi
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoderSho Tatsuno
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画までShunji Umetani
 

What's hot (20)

PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展
 
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)
 
[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展
 
大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
R-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れR-CNNの原理とここ数年の流れ
R-CNNの原理とここ数年の流れ
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
 
ResNetの仕組み
ResNetの仕組みResNetの仕組み
ResNetの仕組み
 

Similar to はじめてのKrylov部分空間法

第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
210603 yamamoto
210603 yamamoto210603 yamamoto
210603 yamamotoRCCSRENKEI
 
El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620RCCSRENKEI
 
Jokyonokai130531
Jokyonokai130531Jokyonokai130531
Jokyonokai130531nwpmq516
 
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1Computational Materials Science Initiative
 
第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
El text.tokuron a(2019).yamamoto190627
El text.tokuron a(2019).yamamoto190627El text.tokuron a(2019).yamamoto190627
El text.tokuron a(2019).yamamoto190627RCCSRENKEI
 

Similar to はじめてのKrylov部分空間法 (7)

第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)
 
210603 yamamoto
210603 yamamoto210603 yamamoto
210603 yamamoto
 
El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620
 
Jokyonokai130531
Jokyonokai130531Jokyonokai130531
Jokyonokai130531
 
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
 
第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)
 
El text.tokuron a(2019).yamamoto190627
El text.tokuron a(2019).yamamoto190627El text.tokuron a(2019).yamamoto190627
El text.tokuron a(2019).yamamoto190627
 

More from tmaehara

ICPC国内予選F解説
ICPC国内予選F解説ICPC国内予選F解説
ICPC国内予選F解説tmaehara
 
クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)tmaehara
 
クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)tmaehara
 
inversion counting
inversion countinginversion counting
inversion countingtmaehara
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系tmaehara
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題tmaehara
 
simultaneous block diagonalization of matrices
simultaneous block diagonalization of matricessimultaneous block diagonalization of matrices
simultaneous block diagonalization of matricestmaehara
 

More from tmaehara (8)

ICPC国内予選F解説
ICPC国内予選F解説ICPC国内予選F解説
ICPC国内予選F解説
 
クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)
 
Slide
SlideSlide
Slide
 
クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)
 
inversion counting
inversion countinginversion counting
inversion counting
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題
 
simultaneous block diagonalization of matrices
simultaneous block diagonalization of matricessimultaneous block diagonalization of matrices
simultaneous block diagonalization of matrices
 

Recently uploaded

ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 

Recently uploaded (7)

ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 

はじめてのKrylov部分空間法

  • 2. 線型計算の主なタスク • 線型方程式(linear solver) Ax = b • 固有値問題(eigenvalue problem) Ax = λx Krylov部分空間法:現代線型計算の基本手法 • 行列・ベクトル積が効率的に計算可能な場合に強い (eg., Aが疎行列,関数として与えられる,etc) • 綺麗な理論評価 ⇒ 収束改善法などが明確 1/ 9
  • 3. Krylov部分空間Kd [Krylov 1931] Kd(A, b) := span{b, Ab, A2 b, . . . , Ad−1 b} Krylov部分空間法とは: 1. 問題を小さい次元のKrylov部分空間に射影して 2. そちらで解いた解を元の空間に引き戻す手法の総称 主な特徴: • 次元を増やすと誤差減(反復法的側面) • 十分大きな次元で厳密解(直接法的側面) • 実用的には誤差の累積が問題(cf., CG法冬の時代) – 前処理・リスタートなどと組み合わせる 2/ 9
  • 4. 行列多項式による誤差・残差評価 Kd(A, b) := span{b, Ab, A2 b, . . . , Ad−1 b} = {p(A)b : pはd − 1次多項式} 誤差・残差は行列多項式p(A)の解析で見積もる 適用例(逆行列): d反復目まででの誤差が小さい ⇐⇒ A−1 がd次多項式p(A)で近似しやすい ⇐⇒ (λi, 1/λi)がd次多項式で近似しやすい slow fast 3/ 9
  • 6. Arnoldi反復 {b, Ab, A2 b, . . .}のGram-Schmidt直交化(QR分解) ⇒ AQd = QdHd + rde⊤ d (Arnoldi関係式) (∥rd∥が十分小さくなったら打ち切る) • Qd:直交(Kd(A, b)の正規直交基底を並べたもの) • Hd:Hessenberg形(上三角+下副対角) ※A対称のとき自動的にH 三重対角(Lanczos反復) ○ Hessenberg形なので各種計算が簡単 × Gram-Schmidtなので数値誤差が累積する 5/ 9
  • 7. Krylov空間法の具体例 線型方程式:GMRES / 固有値問題:Arnoldi法 射影・引戻し・前処理の組み合わせで大量の手法が存在 • 基本的な性質はどれも類似 • 細かい部分の良し悪しは問題依存 ⇒ 問題に応じて手法選択が必要 • 紹介する2つはベースライン;最初に試すべき手法 6/ 9
  • 8. 線型方程式:GMRES (Generalized Minimum RESidual) Step 0. 初期解x0 設定.r0 ← Ax0 − b Step 1. AをKd(A, r0)に射影:A ≃ V ⊤ HV Step 2. 残差最小解を計算:min ∥H ˜x − ˜b∥ Step 3. 引き戻す:x = V ⊤ ˜x 収束定理:Aが対角化可能(S−1 AS = Λ)のとき ∥rd∥ ∥r0∥ ≤ κ(S) min p max λi |p(λi)| ※Step 2 はQR分解で可能(Hessenberg形なので軽い) 7/ 9
  • 9. 固有値問題:Arnoldi法 Step 0. 適当なx0 設定 Step 1. AをKd(A, x0)に射影:A ≃ V ⊤ HV Step 2. H の固有対(˜λi, ˜ui)を計算(QR法等) Step 3. 引き戻す:(˜λi, V ⊤ ˜ui) 収束定理:Aが適当な条件を満たすとき ∥˜u − u∥ = O(κ(A) min p max λi |p(λi)|) (雑な評価,H ˜u = λuとして見積もる) ※外側の固有値から順番に収束していく 8/ 9
  • 10. おまけ:線型方程式の解法選択 • CG, CGS, CGR, PCG, BiCG, BiCGStab, QMR, TFQMR, MINRES, GMRES, LGMRES, CAGMRES, LSQR, SYMMLQ, Orthomin, . . . • 扱う問題に応じて手法の振る舞いが違う • 問題を固定するとマイナー改良で既存手法に勝てる ⇒ 毎月数個以上新しいKrylov系手法が登場 (行列計算の専門家でもフォローするのは不可能) • 非専門家が使う側の心得 – 複数の手法で検証(CG系 + GMRES系) – 複数の前処理(小規模問題で固有値分布を観察する) 9/ 9