シフト付きコレスキー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

 bm1
特異値








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
( n1)
do
qk( n1) : dk( n1)  ek( n )
ek( n1) : ek( n ) qk(n1) / qk( n1)
dk(n11) : dk( n1) qk(n1) / qk( n1)  s ( n )
end for
qm( n1) : dm( n1)
end for
 a1 b1



a2 


B
 bm1 


am 

 q1( n) e1( n)



(n)


q

(n)
2
B 
(n) 
 em1 

(n) 

q
m 

(B(n1) )T B(n1)  B(n) (B(n) )T  s(n) I
dqds 法の収束定理(相島,松尾,室田,杉原, 2007)
6
( B( n1) )T B( n1)  B( n ) ( B( n ) )T  s ( n ) I
 min(n) : B(n) の最小特異値
シフト量
0  s  ( min)
( n)

s
n0
( n)
( n) 2
 m ,
2
lim
e

0
,
k
n 
B(n ) 
(n)

lim
q



s

k
k
n 
(n)
2
n0
( n)
0
dqds 法の2つの特異値近似法
 q1


(n)
B 



(n)
(n)
e1
q2( n) 

 em1  0 で打ち切る

n1
2
 近似値  m  qm( n )   s ( l )
l 0
(n) 
em1  デフレーションを繰り返す
qm( n) 
 m , m1 ,..., 1 の順に計算できる
(n)
( n1)
収束速度
n1
 
2
m
l 0
em1
lim
n  e( n )
m1
  s
nlim

  s
2
m
2
m1
n1
l 0
n1
(l )
(l )
l 0
s  0 となるようにシフト設定したい.このとき  m
(l )
7
n1
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
n1

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
( n1)
A
 R (R )
( n)
( n)
t ( n1)  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
n1

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( n1)  R( n) (R( n) )T
t ( n1)  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
m1
1
シフト付きコレスキーLR法の収束定理
17
(Rutishauser 1960)
大域的収束の条件
シフト量:
0s
( 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)
n1
シフト総和 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  m1
(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
m1
(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  m1
(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
m1
     ( 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  m1
(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
m1
     ( 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( n1)  R( n) (R( n) )T
t ( n1)  t ( n)  s( n)
end for
23
:コレスキー分解


(n)
R 
0






上三角行列を中心に考える
24
上三角
A( n)  s( n) I  (R( n) )T R( n)
A( n1)  R( n) (R( n) )T


(n)
R 
0

t ( n1)  t ( n)  s( n)
(R( n) )T R( n)  A( n)  s( n) I  R( n1) (R( n1) )T  s( n) I



(n)
R 



*
0


(n)
r 


( n1) 
am,m 





am( n,m)  t ( n ) の単調性の証明(本研究)
( n)
T
( n)
(R ) R







*
(r ( n ) )T


0 


( n1) 
am,m 
*
0
am,m  r
am,m  r
( n1)
(n) 2
( n) 2
*
0
 am( n,m)  s( n)


( n1)
r 


( n ) 
am,m 







0  (n)
s I

(n) 
am,m 
*
(r ( n1) )T
(右下の成分に関する等号)
n1
  s  am,m   s (l ) (両辺にシフト総和を足す)
 am ,m  t
( n1)


(n)
R 
( n1)
( n1) T
( n)
 R (R )  s I  0
 
 
(n)
r  

 
( n1) 
am,m  
( n1)
25
n
(l )
l 0
( n1)
単調減少
( n)
l 0
 am ,m  t  r
(n)
(n)
(n) 2
(t
( n1)
  s(l ) )
n
l 0
一般の行列における収束性(本研究)
26
大域的収束の条件
シフト量:
n)
かつ um ,m  0
0  s (n)  (min
A(n)の最小固有値
u m ,m
は
 ,
( n)
m in
n1
シフト総和 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( n1)  R( n) (R( n) )T
t ( n1)  t ( n)  s( n)



(n)
A 



27
U ( n)
( n)
(v )
T


(n)
v 


(n) 
am,m 
A( n)  s( n) I の固有値: m  t ( n1) , m1  t ( n1) ,...,1  t ( n1)
v
m  t ( n1)

(n)
( n1)
v
m1  t
( n1)
| am( n,m)  t ( n )  m |
lim
 0 の略証
( n)
n 
| t  m |
v
m  t ( n1)

(n)
( n1)
v
m1  t
( n1)



( n1)
A 



28
U ( n1)
( n1)
(v )
T


( n1)
v 


( n1) 
am,m 
A( n1) の固有値: m  t ( n1) , m1  t ( n1) ,...,1  t ( n1)
一般化されたBauer-Fike の定理より
| m in  (m  t
( n1)
( n1)
) | | am,m  (m  t ) |  v
 : U の最小固有値
( n1)
( n1)
m in
( n1)
( n1)
( n1) 2
| am( n,m)  t ( n )  m |
lim
 0 の略証
( n)
n 
| t  m |
v
m  t ( n1)

(n)
( n1)
v
m1  t
( n1)
| m in  (m  t



( n1)
A 



29
U ( n1)
( n1)
(v )
T


( n1)
v 


( n1) 
am,m 
) | | am,m  (m  t ) |  v
 : U の最小固有値
( n) 2
( n1)
( n1)
v
| am,m  t  m |
 ( n1)
( n1)
( n1)
( n1)
| m  t |
| m in  (m  t ) | (m1  t )
( n1)
( n1)
( n1)
( n1)
( n1)
( n1) 2
( n1)
m in
( n1)
( n1)
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)