Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
講義内容1.超越方程式(非線形方程式)の解法
1.1 2分法 → 演習
1.2 {補間法}
1.3 ニュートン法 → 演習
2.代数方程式の解法
2.1 グラーフェの方法 → (演習)
2.2 {ベルヌーイの方法}
3.連立一次方程式の解法3.1 行列計算 → 演習
3.2 ガウスの消去法 → 演習
3.3 3重対角行列の場合の解法
3.4 LU分解法 → 演習
{括弧}の項目はSkipまたは参考程度
講義vs演習スケジュールに余裕がある日を見つけて,「数値解析」を必要とする理学工学社会学?分野で活用されている計算科学の概論を紹介する(予定).
3.5 特異値分解法
3.6 共役勾配法 →演習
3.7 反復法 →演習 3.7.1 ヤコビ法
3.7.2 ガウス・ザイデル法 3.7.3 SOR法(参考)
4.固有値と固有ベクトルの近似計算{4.1 レバリエールの方法}→固有値問題の序
4.2 ヤコビの方法(対角行列への帰着) →演習4.3 ギブンスの方法( 3重対角行列への帰着)
4.4 ハウスホルダー法(3重対角行列への帰着 6/29)4.5 バイセクション法( 3重対角行列の固有値と固有ベクトルの計算)
5.ラグランジュの未定乗数法
6.勾配法6.1 最急降下法
6.2 最急降下加速法
6.3 ステップ幅の決め方
• 出席点5割+前期末試験5割• 講義ノートは,毎回配りますがもし欠席したら各自でDLしてください
server-500.cc.kyushu-u.ac.jp(講義ノートはその週の金曜日17時までには公開)
• 座席指定でお願いします30分後には座席表から出欠を取ります
• 研究室の電話は 092-642-3838• メールは,[email protected]
Subjectには,「数値解析」と記入してください
成績評価,その他
4.4 ハウスホルダー法
3重対角行列
* ** * *
* *
* ** *
0
0
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
変換:A n n× 対称行列
ギブンス法にならぶ三重対角化の代表的な方法で,演算回数が行列の次数(n)と明確に関係付けられる.
三重対角化のプロセスは固有値問題以外にも有効に使われ,「ハウスホルダー変換」とも呼ばれる.
2 tP I= − u u
2 22
11
nt
ii
u=
= = =∑u uu
変換行列に次の形を仮定すると
1 2( , , , )tnu u u=u : 次元ベクトルn
: 正規化
* * 0 0* * * *0 * * *
0 * * *
B
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
1B P AP−= を考える相似変換
まず,最初のステップ・・
0となるようにする
1B P AP−=
1P P−= は対称だから
も対称
1 1 1 1( ) ( )t t t tB P AP PA P PAP P AP B− − − −= = = = =
よって
1tP P P−= =
P
( 2 ) 2 ( ) 2t t t t t t tP I I I P= − = − = − =u u u u u u
( 2 )( 2 )2 2 4 ( )
t t t
t t t t
PP PP I II I
= = − −
= − − + =
u u u uu u u u u u u u
は対称な直交行列(基本直交行列)
u
0*
*
⎛ ⎞⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
u
1
1 0 00 * *
0 * *
P P−
⎛ ⎞⎜ ⎟⎜ ⎟= =⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
として
の形のものを選ぶことができたと仮定すると,
第1成分が0
の形は,このとき P
ここで,任意の行列
11 12 1 11
21 22 2 21
1 2 1
* *1 0 0* *0 * *
* *0 * *
n
n
n n nn n
g g g gg g g g
GP
g g g g
⎛ ⎞ ⎛ ⎞⎛ ⎞⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟= =⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠⎝ ⎠ ⎝ ⎠
… …… …
G に対して
の1列目はG の1列目と同じとなることがわかる.GP1B P AP−= では相似変換
の1列目は の1列目と同じであるから,1P A−1( )B P A P−=
1 ( 2 )tP P I− = = − =a a u u a b
::AB
ab
の第1列目のベクトル
の第1列目のベクトルとすると
11
21
**0 0
0 0
bb
⎛ ⎞ ⎛ ⎞⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟= =⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠
bとなるための
* * 0 0* * * *0 * * *
0 * * *
B
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
b の形は
( )11 21 1, , ,tna a a=a勝手な と上の形の
( 2 )tI − =u u a b
となる
に対してb
u があればよい
0*
*
⎛ ⎞⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
uかつ
従って,
2 2=x y
( 2 )tI − =u u x y
21=u
2
−=
−x yux y
次元ベクトルn任意の 次元ベクトル に対して単位ベクトル,x yであるような
は次を満たす
( )
2( ) ( )( 2 ) ( )( )( )
2( )( )
2( )2( )
tt
t
t t
t t t t
t t
t t
I I − −− = −
− −
− −= −
− − +
−= − −
−=
x y x yu u x xx y x y
x y xx yxxxx yx xy yy
xx yxx x yxx yx
y
【証明】
1
nt t
i ii
x y=
= =∑xy yx
2 2
2 2t t= = =xx x y yyと
を用いると
2 22 2 21 11 212 2
1
n
jj
a b b=
= = + =∑a b
2
−=
−a bua b
において
2 211 11 21 1
2
n
jj
b a b a=
= =∑ とすれば、
とすれば
0*
*
⎛ ⎞⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
u ( 2 )tI − =u u a bかつ
( )11 21, ,0, ,0t b b=b
が満たされるので
2 2 221 1
2
n
jj
s b a=
= =∑
2 2 2212 2
2 2s a s= − = +w a b
21
31
1
0
n
a sa
a
⎛ ⎞⎜ ⎟+⎜ ⎟⎜ ⎟≡ − =⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
w a b
11 21,b b を上のように選ぶと
と同符合になるようにとるsの符号は 21a(桁落ちを避けるため)
221
1s a s
α =+
1B P AP−= は次のようにして効率的に計算できる
2 t tP I I α= − = −u u w w
( ) ( )
( )
1
2
t t
t t t t
t t
B P AP
I A I
A A A A
A
α α
α α α
−=
= − −
= − − +
= − +
w w w w
w w w w w w w w
w q q w
Aα=p w
2tα
= −q p w pw
Pwを用いると は次のように表せる
p qここで 、 はそれぞれ
1B P AP−=
は対称だから次の形になる
* * 0 0* * * *0 * * *
0 * * *
B
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
以上から
B
の1列目は
**0
0
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
b の形になり
(2) (2)11 12(2) (2) (2) (2) (2)21 22 23 24 2
(2) (2) (2) (2)32 33 34 3
2 (2) (2)42 43
(2) (2) (2)2 3 11
0 0 0
00
0
n
n
n n
a aa a a a a
a a a aA
a a
a a a
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟
= ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
2A B≡ と書くことにしてさらに変換することを考える
(2)ijaの要素を2A とすると
13 2 2 2A P A P−=
この部分はそのままにして
ここを0にしたい
12 2
1 0 0 00 1 0 00 0 * *
0 0 * *
P P−
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟= =⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
の形は
の形は2u
2
00*
*
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
u
したがって
第1、第2成分が0
2 2 22 tP I= − u uそのための変換行列
とすると2 3,A A の第2列目のベクトルを (2) (3)2 2,a a
( )2
(3) (3) (3) (3)12 22 32, , ,0, ,0t a a a=a
の形になるようにしたい
( )2 0,0,*, ,*t=u
そのためには
( )2(3) (2) (3) (2) (3) (2)12 12 22 22 32 2 2 2
3, , ,
n
jj
a a a a a s s a=
= = = − = ± ∑とすればよい
(2) (3)(2) (3) 2 22 2 2 (2) (3)2 2
2 2 2
−= =
−a aa a ua a
かつ
において
が
( )(2)32a と同符合になるようにする
( )22 (2)2 2
3
n
jj
s a=
= ∑
22 (2) (3) 2 (2)2 2 3 2 32 22 2
2 2s a s= − = +w a a
(2)32 2(2) (3)
2 2 2 (2)42
(2)2
00
n
a sa
a
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟+
≡ − = ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
w a a
そのとき
2 2 2 2 2 22 t tP I I α= − = −u u w w 2 2 (2)2 32 2
1s a s
α =+
等となる
13 2 2 2
* * 0 0 0* * * 0 00 * * * *0 0 * * *
0 0 * * *
A P A P−
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟
= = ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
変換後の は下のような形になる3A
2 t tk k k k k kP I I α= − = −u u w w
11k k k kA P A P−+ =
2n − 回の変換で3重対角行列に変換される
以下同様の変換を繰り返すと
( )22 ( )
1
nk
k jkj k
s a= +
= ∑( ) ( 1) ( )1,( )
2,
( )
0
0k k k
k k k k k kk
k k
knk
a sa
a
++
+
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟
≡ − = +⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
w a a
2 ( )1,
1k k
k k k ks a sα
+
=+