シフト付きコレスキーLR法における2つの固有値近似法の収束性について
Download
Report
Transcript シフト付きコレスキーLR法における2つの固有値近似法の収束性について
シフト付きコレスキー LR 法における
2つの固有値近似法の収束性について
東京大学大学院 情報理工学系研究科
数理情報学専攻
相島 健助 松尾 宇泰 室田 一雄 杉原 正顯
2008.11.26
目次
はじめに(研究の背景)
dqds法について
コレスキーLRの基本的収束性
本研究
2
コレスキーLR法の2つの固有値近似法の収束速度比較
まとめ
特異値とその計算方法
特異値分解 A U V
T
長方形行列
U, V : 直交行列
特異値
T
AA
1
A
直交変換
3
1
0
0
m
0
0
の固有値
上2重対角行列
,,
2
1
B
2
m
正方行列と考えてよい
2
B の特異値( ,, ) を計算
1
m
例)dqds 法を用いる
対象とする上2重対角行列
4
仮定
a1 b1
a
0
,
b
0
k
k
0
a2
m
B
bm1
特異値
0
0
a
1
m
m
m
一般性を失わない!
dqds 法のアルゴリズム (Fernando-Parlett, 1994) 5
初期設定:
qk( 0) (ak )2 , ek( 0) (bk )2
反復計算:
for n : 0,1, do
( n)
シフト量:
の設定
s 0
d1 : q1( n) s( n)
for k : 1,, m 1
( n1)
do
qk( n1) : dk( n1) ek( n )
ek( n1) : ek( n ) qk(n1) / qk( n1)
dk(n11) : dk( n1) qk(n1) / qk( n1) s ( n )
end for
qm( n1) : dm( n1)
end for
a1 b1
a2
B
bm1
am
q1( n) e1( n)
(n)
q
(n)
2
B
(n)
em1
(n)
q
m
(B(n1) )T B(n1) B(n) (B(n) )T s(n) I
dqds 法の収束定理(相島,松尾,室田,杉原, 2007)
6
( B( n1) )T B( n1) B( n ) ( B( n ) )T s ( n ) I
min(n) : B(n) の最小特異値
シフト量
0 s ( min)
( n)
s
n0
( n)
( n) 2
m ,
2
lim
e
0
,
k
n
B(n )
(n)
lim
q
s
k
k
n
(n)
2
n0
( n)
0
dqds 法の2つの特異値近似法
q1
(n)
B
(n)
(n)
e1
q2( n)
em1 0 で打ち切る
n1
2
近似値 m qm( n ) s ( l )
l 0
(n)
em1 デフレーションを繰り返す
qm( n)
m , m1 ,..., 1 の順に計算できる
(n)
( n1)
収束速度
n1
2
m
l 0
em1
lim
n e( n )
m1
s
nlim
s
2
m
2
m1
n1
l 0
n1
(l )
(l )
l 0
s 0 となるようにシフト設定したい.このとき m
(l )
7
n1
2
s (l )
l 0
(対角+シフト総和)と(シフト総和)の収束性
8
相島,松尾,室田,杉原,JSIAM年会2008
大域的収束の条件
シフト量:0 s
B
(n)
( n)
( m in)
( n)
2
の最小固有値 m in, シフト総和 t ( n )
( n)
(l )
s
l 0
qm( n ) t ( n ):単調減少
t (n) :単調増加
0
n1
2
m
| qm( n ) t ( n ) m |
lim
0
2
(
n
)
n | t |
m
2
dqds 法とコレスキーLR法の関係
9
dqds法: B の特異値 (1 ,, m ) を計算
A B B の固有値は k k (k 1,, m)
2
T
A
(既約三重対角正定値対称行列)
B に対し dqds 法を実行 A に対しコレスキーLR法を実行
数学的に等価
コレスキーLR法:正定値対称行列の固有値計算アルゴリズム
dqds 法とコレスキー LR 法の歴史
コレスキー LR 法( Rutishauser, 1958 )
10
正定値対称行列の固有値計算アルゴリズム
高速化のためシフトを導入 (Rutishauser, 1960)
dqds法 ( Fernando – Parlett, 1994 )
differential quotient difference with shifts 法
上二重対角行列の特異値計算アルゴリズム
LAPACKのルーチンDLASQ
三重対角行列に対するコレスキー LR 法と数学的に等価
シフト付きコレスキーLR法:既約三重対角 11
上二重
初期設定:
A A (三重対角正定値対称行列)
(n)
R
0
( 0)
t ( 0) 0
反復計算:
for n : 0,1, do
シフト量:
s(n) の設定
(0)
A
A( n) s( n) I (R( n) )T R( n)
対角行列に収束
:コレスキー分解
1
( n1)
A
R (R )
( n)
( n)
t ( n1) t ( n) s( n)
end for
T
A t
( n)
( n)
0
0
m
相島,松尾,室田,杉原,2007
対角とシフトの固有値への収束性
12
相島,松尾,室田,杉原,JSIAM年会2008
大域的収束の条件( A が既約三重対角の場合)
n)
シフト量: 0 s ( n) (min
(n)
A の最小固有値
,
( n)
m in
シフト総和 t ( n )
(l )
s
l 0
am( n,m) t ( n ):単調減少
t (n) :単調増加
0
n1
m
| am( n,m) t ( n ) m |
lim
0
(
n
)
n
| t m |
目次
はじめに(研究の背景)
dqds法について
コレスキーLRの基本的収束性
本研究
13
コレスキーLR法の2つの固有値近似法の収束速度比較
まとめ
対象とする正定値対称行列について
Aui iui (i 1,, m)
正定値対称行列
固有値
( 0)
1
固有値ベクトル
m
u1 ,, um
14
シフト付きコレスキーLR法
上三角
初期設定:
A A (正定値対称行列)
( 0)
t ( 0) 0
反復計算:
for n : 0,1, do
シフト量:
(n)
R
0
A( n1) R( n) (R( n) )T
t ( n1) t ( n) s( n)
ある種の例外を除き
右下成分のみ収束
s(n) の設定
A( n) s( n) I (R( n) )T R( n)
end for
15
:コレスキー分解
A( n) t ( n)
*
0
0
m
Rutishauser, 1960
すべての固有値の計算法
(n)
A
*
( v ( n ) )T
(n)
v
(n)
am,m
16
v( n ) 0 で打ち切る
近似値 m am( n,m) t ( n )
デフレーションを繰り返す
, ,..., の順に計算できる
m
m1
1
シフト付きコレスキーLR法の収束定理
17
(Rutishauser 1960)
大域的収束の条件
シフト量:
0s
( n)
(n)
A の最小固有値
( n)
min
,
( n)
m in
lim (am( n,m) t ( n ) ) m
n
lim ai ,m ( am,i ) 0
n
(i 1,, m 1)
(n)
n1
シフト総和 t
( n)
s(l )
l 0
A( n) t ( n) I
*
0
0
m
(n)
ある種の例外を除き一般的に成立
(n)
(n)
lim
(
a
t
)
m ,m
mの略証 (Rutishauser)
n
18
1 m 0 : A の固有値(相異なるとする)
u1,1 u1,2
: :
: , : ,...... ,
um,1 um,2
u1,m
: :A
の固有ベクトル
:
(正規直交化されているとする)
um,m
(1)
( 2)
(n)
(
t
)(
t
)
(
t
)
2
m
m
m
(um, j ) ( j m )
(1)
( 2)
(n)
(
t
)(
t
)
(
t
)
j 1
j
j
j
(n)
(n)
am,m t m m1
(1)
( 2)
(n)
(
t
)(
t
)
(
t
)
2
2
m
m
m
(
u
)
(
u
)
m, j
m ,m
( j t (1) )( j t ( 2) )( j t ( n ) )
j 1
m1
(n)
(n)
lim
(
a
t
)
m ,m
mの略証 (Rutishauser)
n
19
(1)
( 2)
(n)
(
t
)(
t
)
(
t
)
2
m
m
m
(um, j ) ( j m )
(1)
( 2)
(n)
(
t
)(
t
)
(
t
)
j 1
j
j
j
(n)
(n)
am,m t m m1
(1)
( 2)
(n)
(
t
)(
t
)
(
t
)
2
2
m
m
m
(
u
)
(
u
)
m, j
m ,m
( 1)
( 2)
(n)
( j t )( j t )( j t )
j 1
m1
( j 1,, m 1)
( t )( t )( t )
0
( t )( t )( t )
固有値はすべて異なるので
(1)
m
( 2)
m
(1)
j
j
n
(n)
m
( 2)
j
m
m
( n)
j
m
( n)
(n)
lim
(
a
t
)
m
,
m
m
n
ただし um ,m 0
um ,mは Aの最小固有値の固有ベクトルの第 m 成分
目次
はじめに(研究の背景)
dqds法について
コレスキーLRの基本的収束性
本研究
20
コレスキーLR法の2つの固有値近似法の収束速度比較
まとめ
問題意識
21
一般の行列に対してコレスキーLR法を実行すると
(対角+シフト総和)は単調減少するか?
(シフト総和+対角)と(シフト総和)でどっちの収
束が速いか?
am( n,m) t ( n ):単調減少???
t (n) :単調増加
0
m
| am( n,m) t ( n ) m |
lim
???
(
n
)
n | t |
m
am , m t
(n)
(n)
m の評価 (Rutishauser)
22
(1)
( 2)
(n)
(
t
)(
t
)
(
t
)
2
m
m
m
(um, j ) ( j m )
(1)
( 2)
(n)
(
t
)(
t
)
(
t
)
j 1
j
j
j
(n)
(n)
am,m t m m1
(1)
( 2)
(n)
(
t
)(
t
)
(
t
)
2
2
m
m
m
(
u
)
(
u
)
m, j
m ,m
( 1)
( 2)
(n)
( j t )( j t )( j t )
j 1
m1
( j 1,, m 1)
( t )( t )( t )
0
( t )( t )( t )
固有値はすべて異なるので
(1)
m
( 2)
m
(1)
j
j
n
(n)
m
( 2)
j
m
m
( n)
j
( n)
(n)
lim
(
a
t
)
m
,
m
m
n
ただし um ,m 0
m
収束は示せる
単調性は???
um ,mは Aの最小固有値の固有ベクトルの第 m 成分
シフト付きコレスキーLR法
上三角
初期設定:
A A (正定値対称行列)
( 0)
t ( 0) 0
反復計算:
for n : 0,1, do
シフト量:
s(n) の設定
A( n) s( n) I (R( n) )T R( n)
A( n1) R( n) (R( n) )T
t ( n1) t ( n) s( n)
end for
23
:コレスキー分解
(n)
R
0
上三角行列を中心に考える
24
上三角
A( n) s( n) I (R( n) )T R( n)
A( n1) R( n) (R( n) )T
(n)
R
0
t ( n1) t ( n) s( n)
(R( n) )T R( n) A( n) s( n) I R( n1) (R( n1) )T s( n) I
(n)
R
*
0
(n)
r
( n1)
am,m
am( n,m) t ( n ) の単調性の証明(本研究)
( n)
T
( n)
(R ) R
*
(r ( n ) )T
0
( n1)
am,m
*
0
am,m r
am,m r
( n1)
(n) 2
( n) 2
*
0
am( n,m) s( n)
( n1)
r
( n )
am,m
0 (n)
s I
(n)
am,m
*
(r ( n1) )T
(右下の成分に関する等号)
n1
s am,m s (l ) (両辺にシフト総和を足す)
am ,m t
( n1)
(n)
R
( n1)
( n1) T
( n)
R (R ) s I 0
(n)
r
( n1)
am,m
( n1)
25
n
(l )
l 0
( n1)
単調減少
( n)
l 0
am ,m t r
(n)
(n)
(n) 2
(t
( n1)
s(l ) )
n
l 0
一般の行列における収束性(本研究)
26
大域的収束の条件
シフト量:
n)
かつ um ,m 0
0 s (n) (min
A(n)の最小固有値
u m ,m
は
,
( n)
m in
n1
シフト総和 t
s(l )
l 0
A の最小固有値の固有ベクトルの第 m成分
am( n,m) t ( n ):単調減少
t (n) :単調増加
0
( n)
| am,m t m |
lim
0
(
n
)
n
| t m |
( n)
m
(n)
| am( n,m) t ( n ) m |
lim
0 の略証
( n)
n
| t m |
A s I (R ) R
( n)
( n)
( n)
T
( n)
A( n1) R( n) (R( n) )T
t ( n1) t ( n) s( n)
(n)
A
27
U ( n)
( n)
(v )
T
(n)
v
(n)
am,m
A( n) s( n) I の固有値: m t ( n1) , m1 t ( n1) ,...,1 t ( n1)
v
m t ( n1)
(n)
( n1)
v
m1 t
( n1)
| am( n,m) t ( n ) m |
lim
0 の略証
( n)
n
| t m |
v
m t ( n1)
(n)
( n1)
v
m1 t
( n1)
( n1)
A
28
U ( n1)
( n1)
(v )
T
( n1)
v
( n1)
am,m
A( n1) の固有値: m t ( n1) , m1 t ( n1) ,...,1 t ( n1)
一般化されたBauer-Fike の定理より
| m in (m t
( n1)
( n1)
) | | am,m (m t ) | v
: U の最小固有値
( n1)
( n1)
m in
( n1)
( n1)
( n1) 2
| am( n,m) t ( n ) m |
lim
0 の略証
( n)
n
| t m |
v
m t ( n1)
(n)
( n1)
v
m1 t
( n1)
| m in (m t
( n1)
A
29
U ( n1)
( n1)
(v )
T
( n1)
v
( n1)
am,m
) | | am,m (m t ) | v
: U の最小固有値
( n) 2
( n1)
( n1)
v
| am,m t m |
( n1)
( n1)
( n1)
( n1)
| m t |
| m in (m t ) | (m1 t )
( n1)
( n1)
( n1)
( n1)
( n1)
( n1) 2
( n1)
m in
( n1)
( n1)
lim
|
(
t
)
|
0
m
in
m
m
1
m
n
目次
はじめに(研究の背景)
dqds法について
コレスキーLRの基本的収束性
本研究
30
コレスキーLR法の2つの固有値近似法の収束速度比較
まとめ
まとめ
31
シフト付きコレスキーLR法の2つの近似法:(対
角+シフト総和)と(シフト総和) を比較した
(対角+シフト総和)は単調減少する
最終的には(シフト総和+対角)の方が(シフト総
和)より収束が速い
am( n,m) t ( n ):単調減少
t (n) :単調増加
0
| am,m t m |
lim
0
(
n
)
n
| t m |
( n)
m
(n)