数値解析ri2t.kyushu-u.ac.jp/~watanabe/lecture/na/14.pdfj (λ),j≤kが 0 になる....

6
15/07/27 1 1 数値解析 142015年7月29日(水) 理学部物理学科情報理学コース 1.非線形方程式の数値解法 1.1 はじめに 1.2 2分法 1.3 補間法 1.4 ニュートン法 1.4.1 多変数問題への応用 1.4.2 ニュートン法の収束性 2.連立1次方程式の解法 2.1 序論と行列計算の基礎 2.2 ガウスの消去法 2.3 3重対角行列の場合の解法 2.4 LU分解法 2.5 特異値分解法 2.6 共役勾配法 2.7 反復法 2.7.1 ヤコビ法 2.7.2 ガウス・ザイデル法 2.7.3 SOR法 2 講義内容 3 3. 固有値と固有ベクトルの数値計算 3.1 固有値問題の序論 3.2 ヤコビの方法(対角行列への帰着) 3.3 ギブンスの方法(3重対角行列への帰着) 3.4 ハウスホルダー法(3重対角行列への帰着) 3.5 DKA法(3重対角行列の固有値の計算) 3.6 バイセクション法(3重対角行列の固有値の計算) 4. その他の数値計算法 4 出席点5割+期末試験5講義資料は毎回配布予定です. 欠席した場合,各自でダウンロードしてください. http://yebisu.cc.kyushu-u.ac.jp/~watanabe PDF版をその週の木曜朝までには公開予定) 講義開始後約30分で出欠を取ります. 研究室: 092-642-2295 E-mail: watanabe@cc.(九州大学のドメイン) Subject に,必ず「数値解析」と記入してください. 成績評価,その他の連絡事項

Upload: others

Post on 30-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 数値解析ri2t.kyushu-u.ac.jp/~watanabe/LECTURE/NA/14.pdfj (λ),j≤kが 0 になる. しかしこれは に矛盾する. (2) ある点 において ならばλλ λλ 00 1010

15/07/27

1

1

数値解析 

第14回

2015年7月29日(水)

理学部物理学科情報理学コース

1.非線形方程式の数値解法

1.1 はじめに

1.2 2分法  

1.3 補間法

1.4 ニュートン法 

1.4.1 多変数問題への応用

1.4.2 ニュートン法の収束性

2.連立1次方程式の解法

2.1 序論と行列計算の基礎 

2.2 ガウスの消去法 

2.3 3重対角行列の場合の解法

2.4 LU分解法 

2.5 特異値分解法

2.6 共役勾配法

2.7 反復法 2.7.1 ヤコビ法 2.7.2 ガウス・ザイデル法

2.7.3 SOR法 2

講義内容

3

3. 固有値と固有ベクトルの数値計算

3.1 固有値問題の序論

3.2 ヤコビの方法(対角行列への帰着)

3.3 ギブンスの方法(3重対角行列への帰着)

3.4 ハウスホルダー法(3重対角行列への帰着) 3.5 DKA法(3重対角行列の固有値の計算)

3.6 バイセクション法(3重対角行列の固有値の計算)

  4. その他の数値計算法

4

•  出席点5割+期末試験5割

•  講義資料は毎回配布予定です. 欠席した場合,各自でダウンロードしてください.

  http://yebisu.cc.kyushu-u.ac.jp/~watanabe   (PDF版をその週の木曜朝までには公開予定)

•  講義開始後約30分で出欠を取ります.

•  研究室: 092-642-2295 •  E-mail: watanabe@cc.(九州大学のドメイン)

Subject に,必ず「数値解析」と記入してください.

成績評価,その他の連絡事項

Page 2: 数値解析ri2t.kyushu-u.ac.jp/~watanabe/LECTURE/NA/14.pdfj (λ),j≤kが 0 になる. しかしこれは に矛盾する. (2) ある点 において ならばλλ λλ 00 1010

15/07/27

2

相似変換の繰り返し

A1 ≡ A

A2 = P1−1A1P1

A3 = P2−1A2P2

!

#

$

%%

&

%%

***

**

0

0

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

O

対角行列 3重対角行列

* ** * ** *

* ** *

0

0

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

OO O O

O

対角要素→固有値

対角形に収束するまで繰り返す

固有値は3重対角行列に適した別の反復法により求める

一旦,3重対角形に変換する

5

3.2 ヤコビ法

3.3 ギブンス法

3.4 ハウスホルダー法

3.5 DKA法 3.6 バイセクション法

固有値問題の数値解法 3.6 バイセクション(bisection)法    

実対称な3重対角行列 の固有値を求める.

!A= P−1AP =

α1 β1

β1 α2 β2 0β2 α3 β3! ! !

0 ! αn−1 βn−1βn−1 αn

"

#

$$$$$$$$$$

%

&

''''''''''

!A

6

λI − !A =

λ −α1 −β1

−β1 λ −α2 −β2 0−β2 λ −α3 −β3

! ! !

0 −βn−2 λ −αn−1 −βn−1−βn−1 λ −αn

= 0

固有値は固有方程式

λI − !A

の解.

⇒ DKA法の資料(第13回) を参照してください.

行列 の一連の主小行列式を考える.

7

p1(λ) = λ −α1

p2 (λ) =λ −α1 −β1−β1 λ −α2

= (λ −α1)(λ −α2 )−β12

!

pk (λ) =

λ −α1 −β1

−β1 λ −α2 −β2 0−β2 λ −α3 −β3

! ! !

0 ! λ −αk−1 −βk−1−βk−1 λ −αk

!

主小行列式

8

Page 3: 数値解析ri2t.kyushu-u.ac.jp/~watanabe/LECTURE/NA/14.pdfj (λ),j≤kが 0 になる. しかしこれは に矛盾する. (2) ある点 において ならばλλ λλ 00 1010

15/07/27

3

!

pn (λ) =

λ −α1 −β1

−β1 λ −α2 −β2 0−β2 λ −α3 −β3

! ! !

0 −βn−2 λ −αn−1 −βn−1−βn−1 λ −αn

= λI − A

( ) 0np λ =固有方程式は となる

pk (λ) = (λ −αk )pk−1(λ)−βk−12 pk−2 (λ), k = 2,!,n

pn (λ),!, p1(λ)

p0 (λ) =1

は漸化式

を満たす.ただし, 9

スツルム列とスツルムの定理(1/2)

0 ( ) ( )f x f x=ただし

1( ) ( )k kx f x f x−任意の点 において と は同時に0にならない(1)

0 0 1 0 1 0( ) 0 ( ) ( ) 0k k kx f x f x f x− += <ある点 において ならば(2) ( )lf x は定符号(3)

(4) 0 0 0 1 0( ) 0 ( ) ( ) 0x f x f x f xʹ′= >ある点 において ならば

スツルム(Sturm)列

10

f(x) [a, b]実係数を持つ多項式 と区間 が与えられたとする.

このとき,次の4条件を満足する実係数多項式の列:

f0(x), f1(x), f2(x), . . . , fl(x)は区間 においてスツルム列をなすという. [a, b]

条件:

スツルムの定理

f (a) f (b) ≠ 0

f (x), f1(x), f2 (x),!, fl (x){ }

0 ( ) ( )n N a N b= −

11

スツルム列とスツルムの定理(2/2)

f (x), f1(x), f2 (x),!, fl (x) [a,b]が区間 でスツルム列をなし,

とする.

x を固定して を左から右に

見たときの符号(正負)の変化の回数を N(x) とすると,

N(x) は x より大きな零点の数となる.

したがって,区間 に存在する の零点の個数 は [a,b] f(x) n0

pn (λ),!, p1(λ), p0 (λ)

f (x), f1(x),!, fl (x)

pn (a) ≠ 0,

( )N λ λは より大きな固有値の数となる12

pk (λ) = (λ −αk )pk−1(λ)−βk−12 pk−2 (λ)への適用

は,実閉区間において

スツルム列の条件を満たす.

(前の とは添字の順序が逆なことに注意)

pn (b) ≠ 0[a,b]区間 が与えられて のとき,

pn (λ), pn−1(λ),!, p1(λ), p0 (λ){ }� を固定して を

左から右に見たときの符号の変化の回数を N(�)

とすれば,スツルムの定理より,

Page 4: 数値解析ri2t.kyushu-u.ac.jp/~watanabe/LECTURE/NA/14.pdfj (λ),j≤kが 0 になる. しかしこれは に矛盾する. (2) ある点 において ならばλλ λλ 00 1010

15/07/27

4

1( ), ( )k kp pλ λ−隣り合う は同時に0にならない(1)

pn (λ),!, p1(λ), p0 (λ)

21 1 2( ) ( ) ( ) ( ) ( )k k k k kp p p aλ λ α λ β λ− − −= − −

p0 (λ) =1

13

がスツルム列であることの確認(1/3)

漸化式(a) において, pk (λ) = pk−1(λ) = 0 であるとすれば,

βk ≠ 0から, pk−2 (λ) = 0 となり,以下同様にしてすべての

p j (λ), j ≤ k が 0 になる. しかしこれは に矛盾する.

0 0 1 0 1 0( ) 0 ( ) ( ) 0k k kp p pλ λ λ λ− += <ある点 において ならば(2)

0( ) 0kp λ =において とすると

( )a kの を一つ増やした式2

1 1 1( ) ( ) ( ) ( )k k k k kp p pλ λ α λ β λ+ + −= − −

21 0 1 0( ) ( )k k kp pλ β λ+ −= −

1 0 1 00 ( ) ( ) 0k k kp pβ λ λ− +≠ <よって から

p0 (λ)(3)

(4) 0 0 0 1 0( ) 0 ( ) ( ) 0.n n np p pλ λ λ λ−ʹ′= >ある点 において ならば

21 1 2( ) ( ) ( ) ( ) (a)k k k k kp p pλ λ α λ β λ− − −= − −

21 1 1 2( ) ( ) ( ) ( ) ( ) (b)k k k k k kp p p pλ λ λ α λ β λ− − − −ʹ′ ʹ′ ʹ′= + − −

λを で微分すると

14

pn (λ),!, p1(λ), p0 (λ) がスツルム列であることの確認(2/3)

p0 (λ) =1

が定符号

であるので. ︎

1 1(b) (a)k kp p− −ʹ′× − × を計算すると

{ }1 1

2 21 1 2 1 2 1

( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ).k k k k

k k k k k k

p p p p

p p p p p

λ λ λ λ

β λ λ λ λ λ− −

− − − − − −

ʹ′ ʹ′−

ʹ′ ʹ′= − +

qk (λ) = pk−12 (λ)+βk−1

2 qk−1(λ), k = 2,3,!,n (c).

ここで

とおくと上式は1 1( ) ( ) ( ) ( )k k k k kq p p p pλ λ λ λ− −ʹ′ ʹ′≡ −

qk (λ) > 0, k = 2,3,!,n

ところが

1 1 0 1 0 1( ) ( ) ( ) ( ) ( ) ( ) 1 0q p p p p pλ λ λ λ λ λʹ′ ʹ′ ʹ′= − = = >

(c)であるから より

15

pn (λ),!, p1(λ), p0 (λ) がスツルム列であることの確認(3/3)

0 0 1 0( ) ( ) ( ) 0n n nq p pλ λ λ−ʹ′= >

k n=特に のとき

1 1( ) ( ) ( ) ( ) ( ) 0n n n n nq p p p pλ λ λ λ λ− −ʹ′ ʹ′= − >

0( ) 0np λ =であるが,仮定より であるから

0 0, ]a b出発の区間[ を適切な方法によって選ぶ

1 1

2j j

j

a bc − −+= とする(1)

1( ) ,j j j j jN c k a c b b −≥ = =ならば(2)

(3) j j

k j

b a

− が十分小さくなったら終了。

の近似値として を採用する

j = 2,3,!,1( ) ,j j j j jN c k a a b c−< = =ならば1( [ , ]k j jc bλ −は の中にある)

1( [ , ]k j ja cλ −は の中にある)

k λk番目の固有値 について

16

固有値問題へのバイセクション法(2分法)の適用

大きい方から k 番目の固有値 �k を求める

について繰り返す

Page 5: 数値解析ri2t.kyushu-u.ac.jp/~watanabe/LECTURE/NA/14.pdfj (λ),j≤kが 0 になる. しかしこれは に矛盾する. (2) ある点 において ならばλλ λλ 00 1010

15/07/27

5

n =15,λ7[例] バイセクション法途中経過

[a j ,bj ] j = 3,!,7

17

を求める場合 0 0, ]a b出発の区間[ の選び方

固有値の存在範囲について次が成り立つ

1max ii

A λ≥

1 1 1max

n

ikk n iA a

≤ ≤=

= ∑

次が成り立つ

x = t(x1,!,xn )

11

n

iix

=

=∑x11 0

1

maxA

A≠

=x

xx

(1)

(2)

18

n 次元ベクトル

n 次元正方行列 A の 1-ノルム:

11 1 1 1

11 1 1 1

1 1 1

max

max

n n n n

ij j ij ji j i j

n n n n

j ij j ikk nj i j i

n

ikk n i

A a x a x

x a x a

a

= = = =

≤ ≤= = = =

≤ ≤=

= ≤

⎛ ⎞ ⎛ ⎞= ≤⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠

=

∑∑ ∑∑

∑ ∑ ∑ ∑

x

x

1

1 11

maxn

ikk n i

Aa

≤ ≤=

≤ ∑xx

(1) の証明

à

ここで

19

k m=右辺が で最大になったとすれば x = t(0,!,0,1m

,0,!,0)

1

11 11

maxn n

im ikk ni i

Aa a

≤ ≤= =

= =∑ ∑xx

1 11

, 1n

imi

A a=

= =∑x x より

となって等号が成立.したがって

11 0 1 11

max maxn

ikk n i

AA a

≠ ≤ ≤=

= = ∑x

xx

とすれば,

1 1 11 1

n n

i i i i ji i ji i ij i

A x xλ λ λ λ= =

= = = =∑ ∑x x x

1

1

ii

i

Aλ=

xx

1 11 0

1 1

max max maxiii i

i

A AA λ

≠= ≥ =

x

x xx x

(2) の証明

i i iA λ=x xλi

から

したがって

よって

20

xiを A の固有値, を固有値に対応する固有ベクトルとすれば,

Page 6: 数値解析ri2t.kyushu-u.ac.jp/~watanabe/LECTURE/NA/14.pdfj (λ),j≤kが 0 になる. しかしこれは に矛盾する. (2) ある点 において ならばλλ λλ 00 1010

15/07/27

6

3重対角行列

A=

α1 β1

β1 α2 β2 0β2 α3 β3! ! !

0 ! αn−1 βn−1βn−1 αn

"

#

$$$$$$$$$$

%

&

''''''''''

1max ii

A λ≥ であるから

{ }1 01 1 11max max , 0

n

ik k k k nk n k niA a β α β β β−

≤ ≤ ≤ ≤=

= = + + = =∑に対しては

0 0 0 01 1, ] ,a b a A b A= −出発の区間[ に対しては = とすればよい

と求められる.

ゲルシュゴリン(Gershgorin)の定理

21