• 検索結果がありません。

simple

ドキュメント内 橡固有値セミナー2_棚橋改.PDF (ページ 51-66)

Conv. check

Simple: 100

TR : 90

1.0E-16 1.0E-14 1.0E-12 1.0E-10 1.0E-08 1.0E-06 1.0E-04 1.0E-02 1.0E+00

0.0 0.2 0.4 0.6 0.8 1.0 1.2

演算量[Gflop]

残差

性能評価 ( Ⅴ )  〜 Lanczos 法 収束性 (2)

θ

28

θ

30

θ

29

TR

simple

• 密集固有値が ある 場合: bcsstk21

TR-Lanczos は密集固有値に有効

Conv. check

Simple: 20

TR : 70

5 .   Jacobi-Davidson 法

• Jacobi-Davidson 法を考える動機

• Jacobi-Davidson 法の原理

• アルゴリズム

• リスタート

• デフレーション

• 性能評価

Jacobi-Davidson 法を考える動機

• Lanczos 法/ Arnoldi 法で解きにくい問題

スペクトルの端にある固有値で,かつ他の固有値からの分離が 良い場合は解きやすい。

それ以外の場合,効率的に計算を行うには,スペクトル変換など の技法が必要

しかし,

(A –

σ

M)

–1 による乗算は,コストが掛かる場合が多い。

 スペクトル変換を用いずに,内部固有値/分離の悪い固有値を 効率的に求められる解法が必要

Jacobi-Davidson 法の原理 (1)

• 修正ベクトルと部分空間の拡張

部分空間

S

m と正規直交基底

{v

1

, v

2

, … , v

m

}

とが与えられてい るとする。

V

m

= [v

1

, v

2

, … , v

m

]

とし,

S

mに関する

A

Ritz

値,

Ritz

ベクトルの組を

(

θj

, u

j

= V

m

s

j

)

( j = 1, … , m)

とする。

いま,求めたい固有値λに対する近似固有ベクトルとして

u

j を 選び,

u

j を正しい固有ベクトルにするための修正ベクトルを

t

と 書くと,

– Jacobi-Davidson

法 では,ベクトル

u

j の直交補空間の中で

t

を求 め,これによって

S

m を拡張する。

  

A ( u

j

+ t ) =

λ

( u

j

+ t )

すなわち,

(A –

λ

I ) t = – (A –

λ

I ) u

j

Jacobi-Davidson 法の原理 (2)

• 修正方程式

– (A –

λ

I )

の作用を

u

j に制限した演算子は     

( I – u

j

u

jt

)(A –

λ

I )( I – u

j

u

jt

)

 だから,

t

を求めるための方程式は

 となる。さらに,λは未知だから θj で置き換えると,

 これを修正方程式と呼ぶ。

– JD

法では,

t

を求めた後,これを

{v

1

, v

2

, … , v

m

}

に対して正規 直交化して

v

m+1 を求め,部分空間を拡大していく。

( I – u

j

u

jt

)(A –

λ

I )( I – u

j

u

jt

) t = – (A –

λ

I ) u

j

( I – u

j

u

jt

)(A –

θj

I )( I – u

j

u

jt

) t = – (A –

θj

I ) u

j

Jacobi-Davidson 法の原理 (3)

• 修正方程式の解法

修正方程式の係数行列は

u

j への制限のため特異であるが,

右辺も

u

j に属する。したがって方程式は無矛盾

初期値

t

0

= 0

から出発し,

GMRES

法,

CGS

法などの

Krylov

部 分空間法を用いて解けば,自動的に

u

j に属する解が得られる。

経験上,厳密解を求める必要はなく,

GMRES

法の5ステップ分 程度の精度で十分

前処理を行う場合は前処理行列

K

も部分空間

u

j に制限する 必要がある。

アルゴリズム

58

初期ベクトル

t = v

0を設定

DO m = 1, 2, …

  

DO i = 1, 2, …, m–1

    

t := t – (t

t

v

i

) v

i

Modified Gram-Schmidt

法   

END DO

  

v

m

= t /

t

2

,

v

mA

= Av

m   

DO i = 1, 2, …, m

    

M

i,m

= v

it

v

mA   

END DO

  

m

×

m

行列

M

の最大固有値θ,固有ベクトル

s

を求める。

  

u = Vs

V = [ v

1

, v

2

, … , v

m

]

)   

u

A

= V

A

s

V

A

= A[v

1

, v

2

, … , v

m

]

)   

r = u

A

θ

u

  ‖

r

2 ≦εならλ

=

θ,

x = u

として停止

  

( I – u u

t

)(A –

θ

I )( I – u u

t

) t = –r

を解いて

t

を求める。

END DO

リスタート

• 必要性

1ステップ当たりのメモリ所要量・演算量を一定値に抑えるため,

JD

法でもリスタートを行う。

• 実現方法

– JD

法では,部分空間

S

m

Krylov

部分空間の構造を持つ必要 がないため,リスタートは容易

– Ritz

ベクトルのうち,求めたい固有値に近い

Ritz

値を持つベクト

ルを複数本選び,部分空間の次元を削減して計算を続行すれば よい。

デフレーション

60

• 必要性

複数の固有値・固有ベクトルを求める場合,収束した固有ベクト ルを基底から取り除いてリスタートすると,計算が効率化できる。

この操作をデフレーションと呼ぶ。

• 実現方法

収束した固有ベクトル

x

1

, … , x

lを基底から取り除く。

アルゴリズムにおいて,

A –

θ

I

 で置き換える。

これにより,計算はすべて

X

lの中で行える。

( I – X

l

X

lt

)(A –

θ

I )( I – X

l

X

lt

)

ただし 

X

l

= [x

1

, … , x

l

]

性能評価 〜 JD 法 対称・収束特性

cf) Sleijpen, Jacobi-Davidson algorithms for various eigenproblems(1999),p.15 Fig.4-1 Iteration number

Residual norm

Iteration number

Residual norm

• テスト行列     N=1000, A

ii

=i, A

i-1,i

=0.5, A

1000,1

=0.5

• 収束判定 ‖ Ax – x θ‖ < 10

-8

Arnoldi JD with GMRES(5)

疎行列固有値計算全般

• Z. Bai, J. Demmel, J. Dongarra, A.Ruhe and H. Van der Vorst (eds.):

“Templates for the Solution of Algebraic Eigenvalue Problems: A Practical Guide”, SIAM, Philadelphia, 2000.

• F. Chatlin: “Valeurs Propres de Matrices”, Masson, Paris, 1988. W.

Ledermann “Eigenvalues of Matrices”, John-Wiley and Sons, Chichester, 1993.

• J. W. Demmel: “Numerical Linear Algebra”, SIAM, Philadelphia, 1996.

• G. H. Golub and C. F. van Loan: “Matrix Computations”, 3rd edition, The Johns Hopkins University Press, 1989.

• B. N. Parlett: “The Symmetric Eigenvalue Problem”, Prentice-Hall, Englewood Cliffs, 1980.

• Y. Saad: “Numerical Methods for Large Eigenvalue Problems”, Halsted Press, New York, 1992.

• J. H. Wilkinson: “The Algebraic Eigenvalue Problem”, Claredon Press, Oxford, 1965.

参考文献(1 /5 )

参考文献 (2/5)

Lanczos

(1)

• J. Cullum and W. E. Donath: “A Block Lanczos Algorithm for Computing the q

Algebraically Largest Eigenvalues and a Corresponding Eigenspace of Large Sparse Real Symmetric Matrices”, Proc. of the 1974 IEEE Conference on Decision and

Control, Phoenix, Arizona, pp. 505-509 (1974).

• J. Cullum and R. A. Willoughby: “Lanczos Algorithms for Large Symmetric Eigenvalue Computations”, Volume 1, Theory, Birkhauser, Boston, 1985.

• R. G. Grimes, J. G. Lewis and H. D. Simon: “A Shifted Block Lanczos Algorithm for Solving Sparse Symmetric Generalized Eigenproblems”, SIAM Journal on Matrix Analysis and Applications, Vol. 15, No. 1, pp. 228-272 (1994).

• C. Lanczos: “An Iteration Method for the Solution of the Eigenvalue Problem of Linear Differential and Integral Operators”, J. Research of the National Bureau of Standards, Vol. 45, No. 4, pp. 255-282 (1950).

森正武, 杉原正顕, 室田一雄: “線形計算”, 岩波書店, 1994.

参考文献 (3/5)

Lanczos 法 (2)

• B. N. Parlett and D. Scott: “The Lanczos Algorithm with Selective

Orthogonalization”, Mathematics of Computation, Vol. 33, pp. 217-238 (1979).

• H. D. Simon: “The Lanczos Algorithm with Partial Reorthogonalization”, Mathematics of Computation, Vol. 42, pp. 115-136 (1984).

• R. Underwood: “An Iterative Block Lanczos Method for the Solution of Large Sparse Symmetric Eigenproblems”, Report STAN-CS-75-495, Department of Computer Science, Stanford University, Stanford, California (1975).

• K. Wu and H. Simon: “Thick-Restart Lanczos Method for Large Symmetric

Eigenvalue Problems”, SIAM Journal on Matrix Analysis and Applications, Vol. 22, No. 2, pp. 602-616 (2000).

参考文献 (4/5)

Arnoldi

• W. E. Arnoldi: “The Principle of Minimized Iterations in the Solution of the Matrix Eigenvalue Problem”, Quart. J. Applied Mathematics, Vol. 9, pp. 17-29 (1951).

• R. B. Lehoucq and D. C. Sorensen: “Deflation Techniques for an Implicitly

Restarted Arnoldi Iteration”, SIAM Journal on Matrix Analysis and Applications, Vol. 17, No. 4, pp. 789-821 (1996).

• R. B. Lehoucq, K.J. Maschhoff.: “implementation of an implicitly restarted block Arnoldi method”, Preprint MCS-P649-0297, Argonne National Laboratory,IL,1997.

• R. B. Lehoucq, D. C. Sorensen and C. Yang: “ARPACK User’s Guide”, SIAM, Philadelphia, 1998.

• D. C. Sorensen: “Implicit Application of Polynomial Filters in a k-Step Arnoldi Method”, SIAM Journal on Matrix Analysis and Applications, Vol. 13, No. 1, pp.

357-385 (1992).

ドキュメント内 橡固有値セミナー2_棚橋改.PDF (ページ 51-66)

関連したドキュメント