• 検索結果がありません。

● 前回の講義のまとめ

N/A
N/A
Protected

Academic year: 2021

シェア "● 前回の講義のまとめ"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

● 前回の講義のまとめ

LU

分解

• LU

分解とは, 正方・正則な行列

A

を,上三角行列

U ,

下三角行列

L

を用いて,

A = LU

と分解する方法である.

一旦, LU 分解が与えられれば, 連立一次方程式

Ax = b

は, 前進代入

U x = L

1

b

と, 後退代入

x = U

−1

y

によって,

O(n

2

)

回の計算で解くことができる.

実際の

LU

分解の,

L

の対角成分を

1

に取るアルゴリズムは以下のようなものである.

L =

 α

11

α

21

α

22

.. . . ..

α

n1

· · · · · · α

nn

, U =

β

11

β

12

· · · β

1n

β

22

· · · β

2n

. .. .. . β

nn

とおき,

A = LU

を求める.

– j = 1, . . . , n

に対して以下を繰り返す.

1. i = 1, . . . , j

に対して,

β

ij

= a

ij

− (α

1i

β

1j

+ · · · + α

i−1,i

β

ij

) 2. i = j + 1, . . . , n

に対して

α

ij

= 1 β

jj

(a

ij

− (α

1i

β

1j

+ · · · + α

j−1,j−1

β

j−1,j

)

このアルゴリズムは,「枢軸選択」を行っていない.

枢軸選択つきの

LU

分解のアルゴリズムは以下の通りである.

– j = 1, . . . , n

に対して以下を繰り返す.

1. i = 1, . . . , j − 1

に対して,

β

ij

= a

ij

− (α

1i

β

1j

+ · · · + α

i−1,i

β

ij

) 2.

β

jj

= a

jj

− (α

1i

β

1j

+ · · · + α

j−1,i

β

jj

)

を計算し,

p

j

= β

jj とおく.

3. i = j + 1, . . . , n

に対して

α

ij

= (a

ij

− (α

1i

β

1j

+ · · · + α

j−1,j−1

β

j−1,j

)

とし,

|p

j

| < |α

ij

|

ならば,

i

列目と

j

列目を交換し,

p

j

= α

ij とおく.

4. i = j + 1, . . . , n

に対して

α

ij

p

j で割る.

(2)

• LU

分解は,最初に与えられた

A

と同一のメモリエリアに

LU =

β

11

β

12

· · · β

1n

α

21

β

22

· · · β

2n

.. . . .. ... .. . α

n1

· · · · · · β

nn

を上書きすることが可能である.

三重対角行列

A =

b

1

c

1

0 · · · 0 a

2

b

2

c

2

· · · 0

· · ·

· · · a

n−1

b

n−1

c

n−1

· · · 0 a

n

b

n

に対しては, LU分解に関して次の重要な性質がある.

三重対角行列の

LU

分解,前進・後退代入は

O(n)

で実行可能.

三重対角行列が「対角優位」すなわち

|b

i

| > |a

i

| + |c

i

|, i = 1, · · · , n

が成り立つとき, LU分解において,枢軸選択の必要がない.

この事実は,次のようにして証明できる. この行列に対する

LU

分解のアルゴリズムは

β

jj

= b

j

− α

jj−1

β

j−1j

,

β

j−1j

= c

j−1

, α

jj−1

= a

j

β

j−1j−1

(1)

となる. そこで,帰納的に

k−1k−1

| > |c

k−1

|

を証明すればよい.

★ 反復法

連立一次方程式

Ax = b

を解くもうひとつの方法は,反復計算に基づく方法である.

x ∈ R

n に対して

x

(k+1)

= Φ(x

(k)

)

により反復計算を行った場合,もし

{x

(k)

}

が収束するならば

Φ

の固定点

(x = Φ(x)

を満たす点)に収束する. また,初期条件

x

(0) を固定点の十分近くにとった場合,固定点

x

における

Φ

の微分

|Φ(x)|

|Φ(x)| < 1

を満たすならば,その反復計算は収束する. (これは,以前に証明し

た事実である)

反復計算

x

(k+1)

= Φ(x

(k)

)

が,ある線形写像

A

を用いて,

x

(k+1)

= Ax

(k)

+ b

と書けるならば,

|Φ(x)|

A

の「作用素ノルム」

kAk = max

x∈Rn

|Ax|

|x|

と等しい. したがって,

A

の絶対値最大の固有値が

1

未満であれば,反復計算

x

(k+1)

= Ax

(k)

+ b

は,任意の初期条件に対して収束する. また,そのとき の収束は1次収束となり,

|x − x

(k)

| ≤ C|λ|

k が成り立つ. ここで,

λ

A

の絶対値最大の固有値である.

(3)

Jacobi

の反復法

以下では,

A

の対角部分からなる行列を

D,

上三角部分(対角成分を除く)を

U ,

下三角部分(対角 成分を除く)を

L

とおく. すなわち,

A = D + L + U

である.

• Jacobi

の反復法とは,

Ax = b

を解くために

x

k

= 1

a

kk

(b

k

− a

k1

x

1

+ · · · + a

kn

x

n

) k = 1, . . . , n

と考える方法である.

これは,

A

J

= D

−1

(L + U )

とおき,

x

(k+1)

= A

J

x

(k)

+ D

−1

b

によって反復する方法である.

Gauss-Seidel

の反復法

• Jacobi

の反復法とは,

Ax = b

を解くために

x

(i+1)k

= 1

a

kk

b

k

− a

k1

x

(i+1)1

+ · · · + a

k,k−1

x

(i+1)k

+ a

k,k+1

x

(i)k

+ · · · + a

kn

x

(i)n

k = 1, . . . , n

と考える方法であり, Jacobiの反復法を,すでに計算が終わった要素を用いて反復するように改良し た方法である.

x

(k+1)

= D

−1

(Lx

(k+1)

+ U x

(k)

) + D

−1

b

と書くことができる. すなわち,

A

GS

= (D

−1

− L)

−1

U

とおき,

x

(k+1)

= A

GS

x

(k)

+ (D − L)

1

b

と反復する方法である.

★ 反復法の収束

反復法が収束するか否かは,具体的な

A

に対して

A

J または

A

GSの絶対値最大の固有値を計算する 必要がある.

• (N − 1) × (N − 1)

行列

A =

−2 1

1 −2 1

.. . . .. ...

1 −2

の場合には

λ(A

J

)

k

= − cos(kπ/N), λ(A

GS

) = cos

2

(kπ/N ), or 0

(ただし,

A

GS

0

でない固有値は,すべて相異なる)となる. したがって,この場合には, Jacobi

反復法も

Gauss-Seidel

の反復法もともに収束する. 収束の速度は

Gauss-Seidel

法の方が幾らか高速

である.

(4)

なお,

A

の固有値を見れば明らかなように,

A

に対する反復法では, 行列サイズが大きくなるほど収 束の速度は遅くなる.

● 実習内容

以下では,

A =

−2 1

1 −2 1

. .. ... ...

1 −2 1

1 −2

とおく.

1. A

の絶対値最大固有値とその固有ベクトルを求めなさい.

2. A

の絶対値最小固有値とその固有ベクトルを求めなさい.

(5)

● レポート問題

★ レポート問題

以下の問題は評価対象のレポート問題です.

【レポート問題

06】

常微分方程式の境界値問題

x

′′

(t) − x(t) = sin(t), t ∈ [0, 1], x(0) = x(1) = 0

の数値解を

[0, 1]

区間を

100

等分して計算し,解のグラフを書きなさい.

【レポート問題

07】

A =

−2 1

1 −2 1

. .. ... ...

1 −2 1

1 −2

の絶対値最大の固有値とその固有ベクトルを数値的に求めなさい. 行列のサイズは

20 × 20

とします.

これらの問題については,

A: 10

点, C: 0 点,と採点します. (中間的な点をつける可能性あり)

★ 注意事項

【締め切り】 締め切りは2009年8月5日(水)とします.

その他の注意事項については,前回のレポートの注意事項と同じです.

(6)

★ レポート問題

(Extra)

以下の問題は評価対象のレポート問題ですが,この問題を「評価の点の満点」にはカウントしません.(つ まり,以下の問題での得点は「ボーナスポイント」となります.)

【レポート問題

E07】

レポート問題

07

の行列

A

に対して,その絶対値最小の固有値と固有ベクトルを 求めなさい.

【レポート問題

E08】

レポート問題

07

の行列

A

に対して,そのすべての固有値と固有ベクトルを求め なさい.

【レポート問題

E09】

A

(2)

=

5 −4 1

−4 6 −4 1

1 −4 6 −4 1

. .. ... ... ... ...

1 −4 6 −4 1

1 −4 6 −4

1 −4 5

のすべての固有値と固有ベクトルを求めなさい.(注意:

A

(2)

= A

2 であることを使うと,

A

の固有 値から

A

(2) の固有値を計算することができる. しかし,それを使うのではなく,

A

(2) を3重対角行列 に変換して固有値を計算する.)

なお,これらの問題についての行列サイズは

20 × 20

程度でかまわない. ただし,「すべての固有値と固有 ベクトル」を求めるときには,その結果が分かりやすくなるように何らかの工夫をすること.

問題

E07

については,

10

点満点,問題

E08

については,

20

点満点,問題

E09

については,

30

点満点で 採点します.(中間的な点をつける可能性あり)

Extra

な問題の締め切りも上記の締め切りと同じとします.

参照

関連したドキュメント

断面が変化する個所には伸縮継目を設けるとともに、斜面部においては、継目部受け台とすべり止め

Approximating minimum bounded degree spanning trees to within one of optimal. Iterative Rounding for Multi-Objective

計量法第 173 条では、定期検査の規定(計量法第 19 条)に違反した者は、 「50 万 円以下の罰金に処する」と定められています。また、法第 172

(a) ケースは、特定の物品を収納するために特に製作しも

光を完全に吸収する理論上の黒が 明度0,光を完全に反射する理論上の 白を 10

るものとし︑出版法三一条および新聞紙法四五条は被告人にこの法律上の推定をくつがえすための反證を許すもので

  BT 1982) 。年ず占~は、

当社は違法の接待は提供しません。また、相手の政府