11장역행렬과조건bml.pusan.ac.kr/lectureframe/lecture/undergraduates/num... · 2016-03-15 ·...

20
11장 역행렬과 조건 11.1 역행렬 11.2 오차 분석과 시스템 조건

Upload: others

Post on 30-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

11장 역행렬과 조건

11.1 역행렬

11.2 오차 분석과 시스템 조건

Page 2: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

11장 역행렬과 조건

행렬 [A]가 정방행렬이면 [A]의 역행렬이라고 불리는

[A]-1 가 있으며 다음의 관계가 성립한다.

수치적으로 역행렬을 어떻게 구할 수 있을까?

공학해석에 역행렬이 어떻게 사용될 수 있는가?

][][][]][[ 11 IAAAA == −−

11

Page 3: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

11.1 역행렬 (1/3)

역행렬의 계산우변에 단위벡터들을 놓고 각각에 대한 해를구함으로써 열 단위로 계산할 수 있다.

예> → 역행렬의 첫 번째 열을 구하기 위한 단위벡터

→ 역행렬의 두 번째 열을 구하기 위한 단위벡터, …

최적의 방법은 LU 분해법을 이용하는 것→ 여러 개의 우변 벡터에 대해 해를 매우 효율적으로 구함

=

001

}{b

=

010

}{b

11

Page 4: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

예제 11.1 (1/3)

Q. 주어진 시스템에 대한 역행렬을 LU 분해법으로 구하라.

분해를 통해 얻은 L과 U:

−−−−

=102.03.0

3.071.02.01.03

][A

−−=

0120.1000293333.000333.70

2.01.03][U

−=

10271300.0100000.0010333333.0001

][L

11

Page 5: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

예제 11.1 (2/3)

풀이)

역행렬의 첫 번째 열을 구하기 위해서

∴ 역행렬의 첫 번째 열은

=

− 001

10271300.0100000.0010333333.0001

3

2

1

ddd

−−=

1009.003333.01

}{d

−−=

−−

1009.003333.01

0120.1000293333.000333.70

2.01.03

3

2

1

xxx

−−=−

0001008.00000518.00033249.0

][ 1A

11

Page 6: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

예제 11.1 (3/3)

역행렬의 두 번째 열을 구하기 위해서

역행렬의 세 번째 열을 구하기 위한 후에 역행렬을 완성시키면

=

− 010

10271300.0100000.0010333333.0001

3

2

1

ddd

−−=−

0002710.001008.00142903.000518.00004944.033249.0

][ 1A

−−=−

099880.0002710.001008.0004183.0142903.000518.0006798.0004944.033249.0

][ 1A

11

Page 7: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

11.1 역행렬 (2/3)

자극-응답 계산

공학과 과학에서 접하는 많은 선형연립방정식은 보존법칙으로 유도된다.

시스템의 각 부분에 대해서 하나의 평형방정식으로 기술된다.

방정식들이 모여 전체 시스템의 거동이 정의된다.

방정식들은 서로 연관되어 있어 다른 방정식에서 사용되는 하나 이상의

변수를 포함한다.

선형 시스템

{x} → 구하고자 하는 시스템의 상태 또는 응답을 나타냄

{b} → 시스템을 구동하는 힘 함수 또는 외부 자극을 나타냄

[A] → 시스템의 부분들의 상호작용을 나타냄

∴ [상호작용]{응답} = {자극}

}{}]{[ bxA =

11

Page 8: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

11.1 역행렬 (3/3)

공식적인 해: 또는

역행렬의 성질

- 해를 제공함

- 각각의 원소는 시스템의 다른 부분에서의 단위 자극에 대한 해당 부분의 응답

중첩성: 응답{자극1 + 자극2} = 응답{자극1} + 응답{자극2}

비례성: 응답{a×자극} = a×응답{자극}

선형 시스템 → 중첩의 원리와 비례성이 만족됨

응답{ a×자극1 + b×자극2} = a×응답{자극1} + b×응답{자극2}

∴ 는 bj의 단위 수준에 대해 xi의 값을 제공하는 비례상수

→ 역행렬은 복잡한 시스템의 구성 원소들 사이의 연관관계를 이해하는데 유용함

1−ija

}{][}{ 1 bAx −=

31

3321

3211

313

31

2321

2211

212

31

1321

1211

111

bababax

bababax

bababax

−−−

−−−

−−−

++=

++=

++=

11

Page 9: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

예제 11.2 (번지점프 문제의 해석) (1/2)

Q. 8장의 처음 부분에서 다룬 번지점프 문제를 풀어라.

매개변수는 다음과 같이 주어진다.

풀이)

사람 질량 (kg) 스프링상수 (N/m) 본래줄의길이 (m)위 (1)중간 (2)아래 (3)

607080

5010050

202020

gmxkxkgmxkxkkxkgmxkxkk

33323

23323212

122121

)(

)(

=+−=−++−=−+

=

−−−

8.7847.6866.588

50500501501000100150

3

2

1

xxx

11

Page 10: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

예제 11.2 (번지점프 문제의 해석) (2/2)

>> K=[150 -100 0; -100 150 -50; 0 -50 50];

>> mg =[588.6; 686.7; 784.8];

>> KI =inv(K)

KI =

0.0200 0.0200 0.0200

0.0200 0.0300 0.0300

0.0200 0.0300 0.0500

>> x=KI*mg

x =

41.2020 ⇒ 20 + 41.202 = 61.202

55.9170 ⇒ 40 + 55.917 = 95.917

71.6130 ⇒ 60 + 71.613 = 131.613

11

Page 11: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

11.2 오차 분석과 시스템 조건 (1/5)

역행렬은 시스템이 얼마나 불량한지를 판별하는 수단을 제공

(1) 행렬 [A]를조정하여각각의 행에서 최대 원소가 1이 되도록한다.

역행렬의 원소가 몇 백 또는 몇 천 이상이 되면

그 시스템은 불량조건에 있다.

(2) 역행렬 [A]-1 을 행렬 [A]에곱해서단위행렬 [I]에가까운지를본다.

근접하지 않으면 그 시스템은 불량조건에 있다.

(3) 역행렬 [A]-1의역행렬을구한다.

행렬 [A]에 충분히 가깝지 않으면 그 시스템은 불량조건에 있다.

불량조건을 나타낼 수 있는 하나의 수는 없을까?

11

Page 12: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

11.2 오차 분석과 시스템 조건 (2/5)

벡터와 행렬의 놈

놈(Norm): 벡터나 행렬과 같이 여러 개의 원소를 갖는 수학적

실체의 크기 또는 길이

유클리디언 놈

벡터 에 대해서

n-차원 벡터

인 경우에 대해서

cbaF =

222 cbaFe

++=

nxxxX 21=

∑=

=n

iie

xX1

2

11

Page 13: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

11.2 오차 분석과 시스템 조건 (3/5)

p 놈

→ (p = 1)

→ (p = 2), 2놈 = Euclidean 놈

→ (p = ∞), 최대-크기 또는 일정-벡터 놈

Frobenius 놈 (행렬 [A]에 대해)

pn

i

pip

xX/1

1

= ∑

=

∑=

=n

iixX

11

2X

inixX

≤≤∞=

1max

∑∑= =

=n

i

n

iije

aA1 1

2

11

Page 14: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

11.2 오차 분석과 시스템 조건 (4/5)

Spectral 놈(크기를 가장 치밀하게 나타내는 최소 놈)

여기서 µmax = [A]T[A] 의 최대 고유값

열-합 놈

일정-행렬 또는 행-합 놈

2/1max2

)(µ=A

∑=≤≤

=n

iijnj

aA111

max

∑=≤≤∞

=n

jijni

aA11

max

11

Page 15: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

11.2 오차 분석과 시스템 조건 (5/5)

행렬의 조건수

(≥ 1) 1][Cond −⋅= AAA

AA

AXX ∆

=∆

][Cond

11

Page 16: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

예제 11.3 (행렬 조건수의 계산) (1/2)

Q. 지극히 불량한 조건을 지닌

다음과 같은 Hilbert 행렬에

대해 살펴보자.

행-합 놈을 3×3 Hilbert 행렬에대해 사용해 보자.

−++

+

121

21

111

11

41

31

21

131

211

nnnn

n

n

=

51

41

31

41

31

21

31

211

][A

11ijH

i j=

+ −

11

Page 17: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

예제 11.3 (행렬 조건수의 계산) (2/2)

풀이)

각 행에서 최대 원소의 크기가

1이 되도록 정규화를 한다.

정규화한 행렬의 역행렬을 구하면

따라서 조건수는

35.2

167.2

833.1

5

3

4

31

4

1

3

21

3

1

2

11

][

=A

35.253

431 =++=

∞A

−−−

−=−

609030609636

10189][ 1A

1926096361 =−++−=∞

−A

2.451)192(35.2][Cond ==A

11

Page 18: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

예제 11.4 (MATLAB에서 행렬 조건수의 계산) (1/3)

Q. 예제 11.3에서 다루었던 정규화한 Hilbert 행렬에 대해

MATLAB에서 놈과 조건수를 계산해 보자.

=

51

41

31

41

31

21

31

211

][A

11

Page 19: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

예제 11.4 (MATLAB에서 행렬 조건수의 계산) (2/3)

>> A = [1 1/2 1/3; 1 2/3 1/2; 1 3/4 3/5]

A =

1.0000 0.5000 0.3333

1.0000 0.6667 0.5000

1.0000 0.7500 0.6000

>> norm(A,inf) % 행-합 놈

ans =

2.3500

>> cond(A,inf) % 행-합 놈으로 구한 조건수

ans =

451.2000

11

Page 20: 11장역행렬과조건bml.pusan.ac.kr/LectureFrame/Lecture/Undergraduates/Num... · 2016-03-15 · Applied Numerical Methods. 장역행렬과조건. 예제11.1 (1/3) Q. 주어진시스템에대한역행렬을

Applied Numerical Methods 장 역행렬과 조건

예제 11.4 (MATLAB에서 행렬 조건수의 계산) (3/3)

>> cond(A,'fro') % Frobenius 놈으로 구한 조건수

ans =

368.0866

>> cond(A) % Spectral 놈(p=2)으로 구한 조건수

ans =

366.3503

>> cond(A,2)

ans =

366.3503

11