計算情報学iscience of interactions agenda 計算情報学i第5回 1....

32
Science of interactions 計算情報学I 名古屋大学 情報文化学部 自然情報学科3年 第5回 鈴木泰博 情報文化学部・大学院情報科学研究科 複雑系科学専攻

Upload: others

Post on 06-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

計算情報学I名古屋大学 情報文化学部 

自然情報学科3年第5回

鈴木泰博情報文化学部・大学院情報科学研究科

複雑系科学専攻

Page 2: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

Agenda計算情報学 I 第5回

1. 前回の復習 (ガウスの消去法)2. LU分解3. LU分解とジョルダン法4. LU分解の計算量5. チェックテスト(第1回)の説明

Page 3: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

ガウスの消去法~線形代数の復習

素直に順番にただ未知数を消去し、与えられた問題を簡単な形に書き換えて解く

□□□□

□□□□

□□□□

=++=++=++

□□□

□□□

□□□□

=+=+=++

□□

□□□

□□□□

==+=++

①“下の式”から“上の式”の何倍かを引き、左から順に未知数を消してゆく。(前進消去)

②求まった未知数を下の式から代入し順番に未知数を求めていく。(後退代入)

Page 4: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

ガウスの消去法のアルゴリズム

前進消去

“下の式”から“上の式”の何倍かをひく

L

L

L

8398841364152

=++=++=++

zyxzyxzyx

4÷2=2倍

L

L

L

8398841364152

=++=++=++

zyxzyxzyx

8÷2=4倍

第1行の

11

21

aa

11

31

aa

niaai ,...3,2,

11

1 = を第 i 行から引く。

Page 5: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

ガウスの消去法のアルゴリズム

前進消去

第 k 行 (k=1,2,…n)の niaa

kk

ik ,...3,2, = 倍を第 i 行から引く

L

L

L

2354114152

=+=+=++

zyzyzyx

第2行の22

32

aa

倍を第3行から引く

→第1列からk列までは既に0

0)( =×− kkkk

ikik a

aaaまたk列も、

引き算

for k=k+1 to N

を繰り返す

アルゴリズム

ikkk

iki yy

aay =×− )(

Page 6: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

ガウスの消去法のアルゴリズム

前進消去k =1,2,…,N の順に

kk

ik

aap =: 

j = k+1, k+2, … N の順に

kjkk

ikijij a

aaaa ×−=:

を繰り返す

ikkk

iki yy

aay =×− )(

i = k+1,k+2, … N の順に

を繰り返す

を繰り返す

Page 7: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

ガウスの消去法のアルゴリズム

後退代入

NNNN

NNNNNNN

NN

NN

yxayxaxa

yxaxayxaxaxa

==+

=++=+++

−−−−− 11111

22222

11212111

L

L

L前進消去完了後

NN

NN a

yx =

11111 /)( −−−−− −= NNNNNNN axayx

iik

N

ikikii axayx /)(

1∑

+=

−=

Page 8: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

ガウスの消去法のアルゴリズム

後退代入

iik

N

ikikii axayx /)(

1∑

+=

−=

NN

NN a

yx =:

i = N-1, N-2, …, 1の順に

を繰り返す

アルゴリズム

NNNN

NNNNNNN

NN

NN

yxayxaxa

yxaxayxaxaxa

==+

=++=+++

−−−−− 11111

22222

11212111

L

L

L

Page 9: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

ガウスの消去法のアルゴリズム

計算量k =1,2,…,N-1 の順に

kk

ik

aap =: 

j = k+1, k+2, … N の順に

kjijij apaa ×−=:

を繰り返す

iki yypy =×−

i = k+1,k+2, … N の順に

を繰り返す

を繰り返す

(割り算1回)

(掛け算(N-k)回)

(掛け算1回)

∑−

=

−+−1

1))(2(

n

kknkn

これをn-k回

繰り返す

Page 10: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

前進消去の計算量(つづき)

∑−

=

+−−1

1

)2)((n

k

knkn

∑−

=

+=1

1)2(

n

kll

∑∑∑−

=

=

=

+=+=1

1

1

1

21

1

2 2)2(n

k

n

k

n

kllll

)1(6

)12)(1(21

1

1

1

2 −+−−

=+= ∑∑−

=

=

nnnnnlln

k

n

k

6)52)(1()1(

6)12)(1(1

1

+−=−+

−−= ∑

=

nnnnnnnnn

k

Page 11: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

後退代入計算量

iik

N

ikikii axayx /)(

1∑

+=

−=

NN

NN a

yx =:

i = N-1, N-2, …, 1の順に

を繰り返す

アルゴリズム

(割り算1回)

(掛け算   回)

(割り算 N-1回)

2)1(

2)1( +

=+− nnnnn

2)1( −nn

(掛け算   回)

Page 12: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

ガウスの消去法の計算量

)(3

)13(2

)1(6

)52)(1( 32

nOnnnnnnnn≅

−+=

++

+−

Page 13: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

Lu分解

Page 14: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解

数値計算を行なう問題によっては同一係数の連立一次方程式を何度も解く必要がある場合がある。

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

=

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

+

+

+

+

+

n

n

n

n

n

n

n

n

n

n

UUUUU

UUUUU

ABBAB

BABBAB

BA

5

4

3

2

1

15

14

13

12

11

(例)偏微分方程式の差分解法(陰公式)

51,...,UU     を求めていくために同一係数の連立一次方程式を何度も解く必要がある。そうした問題に対してはLU分解が有効である。

Page 15: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解とはLU分解とは係数行列Aを下三角行列L(Lower triangular matrix)と上三角行列U(Upper triangular matrix)の積に分解

することをさす

A=LU

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−

=

1031014300120001

L

下三角行列

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−=

1300013300

51103011

U

上三角行列

Page 16: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解を用いた連立一次方程式の解法

44321

34321

24321

1421

3223

3

yxxxxyxxxxyxxxxyxxx

=−++−=+−−=+−+=++

=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−−−

=

1321211311123011

Ax

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−− 1031014300120001

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−

43

14

1300013300

51103011

4

3

2

1

xxxx

L      U

Page 17: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解を用いた連立一次方程式の解法

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−− 1031014300120001

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−

43

14

1300013300

51103011

4

3

2

1

xxxx

134734431337443343

7142124

444214

33321

2221

11

−==+−⋅−−=+−−=−=+−⋅+⋅−=++−==+⋅=+

=

yyyyyyyyyyyyyyy

yy

Uxをyとおく

Ly=(4,1,-3,4)

前進代入

y =(4, -7, 13, -13)

L y

Page 18: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解を用いた連立一次方程式の解法

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−− 1031014300120001

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−

43

14

1300013300

51103011

4

3

2

1

xxxx

1131301311331313327150751413243

444

3343

22432

114211

=−=−==⋅+⋅=+==⋅++=++−==⋅++=++

xxxxxxxxxxxxxxxxxx

Ux=y

後退代入

y =(4, -7, 13, -13)

X =(-1, 2, 0, 1)

Page 19: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解した行列を用いた連立一次方程式の計算量

LU分解をした係数行列を用いて連立一次方程式を解く場合の計算量を考える

iik

N

ikikii axayx /)(

1∑

+=

−=前進代入と後退代入           しかしないので、

)()1(22

)1(...21 2nnnnnn Ο≈+=×+

=++

ガウスの消去法の計算量が )3/( 3nΟなのでLU分解の方が効率が良い。

(i=N-1,N-2,…1)

Page 20: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−−

1320211011103011

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−−−

1321211311123011

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

1001010300120001

)1(L

2行目の要素-1行目の要素x23行目の要素-1行目の要素x34行目の要素-1行目の要素x-1

掃きだし

LU分解をするためには

ガウスの消去法を行う。

Page 21: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−

1300013300

51103011

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−−−−

233071405110

3011

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

1030014000100001

)2(L

3行目の要素-2行目の要素x44行目の要素-2行目の要素x-3掃きだし

Page 22: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

1030014000100001

)2(L

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

1001010300120001

)1(L

=L⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−− 1031014300120001

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−=

1300013300

51103011

U

Page 23: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

演習LU分解

⎟⎟⎟

⎜⎜⎜

−−303216

013

以下の係数行列をLU分解せよ。

⎟⎟⎟

⎜⎜⎜

−−−−

132344132

Page 24: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

解答

⎟⎟⎟

⎜⎜⎜

−−−−

⎟⎟⎟

⎜⎜⎜

−−=

⎟⎟⎟

⎜⎜⎜

−−−−

500120132

131012001

132344132

⎟⎟⎟

⎜⎜⎜

−−−−

→⎟⎟⎟

⎜⎜⎜

−−−−

500120132

260120132

Page 25: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

⎟⎟⎟

⎜⎜⎜

⎛−−

⎟⎟⎟

⎜⎜⎜

−−=

⎟⎟⎟

⎜⎜⎜

−−

100210

013

111012001

303216

013

解答

Page 26: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解とは何か?LU分解の計算とはガウスの消去法における前進消去ガウスの消去法で前進消去を行なう場合に係数行列と定数yの部分は同時

に計算する必要はなく、係数行列のみ先に前進消去しておくことができるそれが、LU分解に他ならない

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−− 1031014300120001

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

−−−

1300013300

51103011

掃きだしのオペレーション

L U

)1()1()( ...LLL kk −

前進消去

Page 27: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解とは何か?

⎟⎟⎟

⎜⎜⎜

−−−−

=132344132

A

Aに対する前進消去は、Aの左から順に )3()2()1( ,, LLL を掛けたことになる。

⎟⎟⎟

⎜⎜⎜

⎛−=

100012001

)1(L⎟⎟⎟

⎜⎜⎜

⎛=

101010001

)2(L⎟⎟⎟

⎜⎜⎜

⎛=

130010001

)3(L

Page 28: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

LU分解とは何か?

⎟⎟⎟

⎜⎜⎜

−−−−−

=132120132

)1( AL⎟⎟⎟

⎜⎜⎜

−−−−

=260120132

)1()2( ALL⎟⎟⎟

⎜⎜⎜

−−−−

=500120132

)1()2()3( ALLL

ここで、 )1()2()3( LLL=λ とすると、λA=U⎟⎟⎟

⎜⎜⎜

−=

135012001

λ

UA 1−= λ より、 L=−1λ とすると、

⎟⎟⎟

⎜⎜⎜

−−== −

131012001

1λL

Page 29: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

チェックテスト(第1回)の説明

• 配点20点(満点)

• 時間60分

• 持ち込み不可・再試験はなし

• 欠席の場合は零点と評価し最終試験の際に調整(次のスライドで詳説)

• 出題範囲は以下の通り;• 誤差論

• 計算量理論

• 連立一次方程式(ガウスの消去法)

• 連立一次方程式(LU分解)

• ガウスの消去法、LU分解の計算量

Page 30: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

チェックテスト欠席の場合の扱いについて

欠席の場合は零点と評価

欠席の場合の補正

n(=1,2,3)回数欠席の場合は最終試験を

           満点に補正    

)3,2,1(,2040 =×+ nn

)2040(40

×+× nm補正式

40点満点での得点をm、欠席数をnとする。有効数字は3桁端数は四捨五入するものとする。

Page 31: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

フィードバック制度

 例)チェックテストの結果が10点であった。 自分は誤差論と計算量理論での評点が低かった

 ⇒自分でその部分を再度復習する。 ⇒復習の結果をレポートにして提出 ⇒レポート点をチェックテストの得点に  加算する(最大合計で20点満点まで)  この例の場合、もしレポート点が10点であれば、チェッ

クテストの評点は20点満点になる。   

Page 32: 計算情報学IScience of interactions Agenda 計算情報学I第5回 1. 前回の復習(ガウスの消去法) 2. LU分解 3. LU分解とジョルダン法 4. LU分解の計算量

Science of interactions

フィードバックレポートの評価基準

体裁 文字や図表が明瞭かつ明確である。

⇒判読が困難な手書きの殴り書き数枚のようなレポートは内容はともかく評価は低い。

内容 自分の学習したポイントが明確か。

自らの言葉で書かれているか?

(例)自分で問題を作り、それを解説する。

⇒教科書やテキストの丸写しのようなものは評価

   が低い。