30
1 2005 2005가을학기 가을학기 문양세 문양세 컴퓨터과학과 컴퓨터과학과 강원대학교 강원대학교 자연과학대학 자연과학대학 수치해석 수치해석 (Numerical Analysis) (Numerical Analysis) 행렬과 행렬과 연립 연립 방정식 방정식 (Part 2) (Part 2) (Matrix & Simultaneous Equations (Matrix & Simultaneous Equations – Part 2) Part 2) Page 2 Numerical Analysis by Yang-Sae Moon We are now We are now … 행렬의 개요 행렬과 선형 연립 방정식의 관계 행렬의 기본 연산과 이를 이용한 선형 연립 방정식 풀이 행렬의 삼각 분해와 이를 이용한 선형 연립 방정식 풀이 행렬의 삼각 분해 삼각 분해를 사용한 선형 연립 방정식 풀이 삼각 분해를 사용한 역행렬 구하기 LU Decomposition & Simultaneous Equation

수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

1

20052005년년 가을학기가을학기

문양세문양세

컴퓨터과학과컴퓨터과학과

강원대학교강원대학교 자연과학대학자연과학대학

수치해석수치해석 (Numerical Analysis)(Numerical Analysis)

행렬과행렬과 연립연립 방정식방정식 (Part 2) (Part 2) (Matrix & Simultaneous Equations (Matrix & Simultaneous Equations –– Part 2)Part 2)

Page 2Numerical Analysisby Yang-Sae Moon

We are now We are now ……

행렬의 개요

행렬과 선형 연립 방정식의 관계

행렬의 기본 연산과 이를 이용한 선형 연립 방정식 풀이

행렬의 삼각 분해와 이를 이용한 선형 연립 방정식 풀이

• 행렬의 삼각 분해

• 삼각 분해를 사용한 선형 연립 방정식 풀이

• 삼각 분해를 사용한 역행렬 구하기

LU Decomposition & Simultaneous Equation

Page 2: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

2

Page 3Numerical Analysisby Yang-Sae Moon

기존기존 방정식방정식 풀이법의풀이법의 문제점문제점LU Decomposition & Simultaneous Equation

계산량이 많고, 이에 따라 수행 속도가 느리다.많은 수의 미지수를 다뤄야 하는 문제(예: 구조 분석)에 부적합하다.

Ax = b에서 A가 고정되어 있고 b만 변하는 경우, 가우스-조던 등의 방법은

일일이 새롭게 방정식을 풀어야 하는 번거로움이 있다.

행렬의 삼각 분해법을 사용하여

1) 계산량을 줄이고,2) b만 변하는 경우에 벡터 x를 쉽게 구할 수 있다.

Page 4Numerical Analysisby Yang-Sae Moon

행렬의행렬의 삼각삼각 분해란분해란??LU Decomposition & Simultaneous Equation

행렬 A를 다음 관계가 성립하는 L과 U의 두 행렬로 분해한다.

=A LU

여기에서,L은 하삼각 행렬(lower triangular matrix)이고,U는 상삼각 행렬(upper triangular matrix)이다.

11

21 22

31 32 33

1 2 3

0 0 00 0

0

n n n nn

ll ll l l

l l l l

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

L

12 13 1

23 2

3

10 10 0 1

0 0 0 1

n

n

n

u u uu u

u

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

U

행렬 L과 U는 다음과 같은 (삼각 행렬) 구조를 가진다.

Page 3: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

3

Page 5Numerical Analysisby Yang-Sae Moon

행렬행렬 LL과과 UU의의 계산계산 (1/5)(1/5)LU Decomposition & Simultaneous Equation

행렬 L의 첫 번째 열의 원소 값 구하기

결과적으로, 행렬 L의 첫 번째 열의 원소는 행렬 A의 첫 번째 열의 원소와

동일한 값을 가진다.

11

21 22

31 32 33

1 2 3

0 0 00 0

0

n n n nn

ll ll l l

l l l l

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

L

12 13 1

23 2

3

10 10 0 1

0 0 0 1

n

n

n

u u uu u

u

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

U

11 11 12 13 1

21 21 22 23 2

31 31 32 33 3

1 1 2 3

n

n

n

n n n n nn

l a a a al a a a al a a a a

l a a a a

− − −⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥− − −⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥− − −= = =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥− − −⎣ ⎦ ⎣ ⎦

LU A

1 1 = , 1i il a i n≤ ≤

Page 6Numerical Analysisby Yang-Sae Moon

행렬행렬 LL과과 UU의의 계산계산 (2/5)(2/5)LU Decomposition & Simultaneous Equation

행렬 U의 첫 번째 행의 원소 값 구하기

11

21 22

31 32 33

1 2 3

0 0 00 0

0

n n n nn

ll ll l l

l l l l

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

L

12 13 1

23 2

3

10 10 0 1

0 0 0 1

n

n

n

u u uu u

u

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

U

11 12 11 13 11 1 11 12 13 1

21 22 23 2

31 32 33 3

1 2 3

n n

n

n

n n n nn

l u l u l u a a a aa a a aa a a a

a a a a

−⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥− − − −⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥− − − −= = =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥− − − −⎣ ⎦ ⎣ ⎦

LU A

1 11

11 11 = , 2j jj

a au j n

l a= ≤ ≤

Page 4: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

4

Page 7Numerical Analysisby Yang-Sae Moon

행렬행렬 LL과과 UU의의 계산계산 (3/5)(3/5)LU Decomposition & Simultaneous Equation

행렬 L의 두 번째 열의 원소 값 구하기

11

21 22

31 32 33

1 2 3

0 0 00 0

0

n n n nn

ll ll l l

l l l l

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

L

12 13 1

23 2

3

10 10 0 1

0 0 0 1

n

n

n

u u uu u

u

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

U

11 12 11 12 13 1

21 12 22 21 22 23 2

31 12 32 31 32 33 3

1 12 2 1 2 3

n

n

n

n n n n n nn

l u a a a al u l a a a al u l a a a a

l u l a a a a

− − −⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥− + − −⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥− + − −= = =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥− + − −⎣ ⎦ ⎣ ⎦

LU A

2 2 1 12 = , 2i i il a l u i n− ≤ ≤

Page 8Numerical Analysisby Yang-Sae Moon

행렬행렬 LL과과 UU의의 계산계산 (4/5)(4/5)LU Decomposition & Simultaneous Equation

행렬 U의 두 번째 행의 원소 값 구하기

11

21 22

31 32 33

1 2 3

0 0 00 0

0

n n n nn

ll ll l l

l l l l

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

L

12 13 1

23 2

3

10 10 0 1

0 0 0 1

n

n

n

u u uu u

u

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

U

11 12 13 1

21 13 22 23 21 1 22 2 21 22 23 2

31 32 33 3

1 2 3

n

n n n

n

n n n nn

a a a al u l u l u l u a a a a

a a a a

a a a a

− − − −⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥− − + +⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥− − − −= = =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥− − − −⎣ ⎦ ⎣ ⎦

LU A

2 21 12

22 = , 3j jj

a l uu j n

l−

≤ ≤

Page 5: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

5

Page 9Numerical Analysisby Yang-Sae Moon

행렬행렬 LL과과 UU의의 계산계산 (5/5)(5/5)LU Decomposition & Simultaneous Equation

앞서의 과정을 반복하면, 결국 다음 식을 얻을 수 있다.

( )

( )

( )

( )

1 1

11

111

11

1

1

2

2 ,

1 2 ,

i i

jj

j

ij ij ik kjk

i

ij ij ik kjii k

l a i na

u j na

l a l u j n j i n

u a l u i n i j nl

=

=

= ≤ ≤

= ≤ ≤

= − ≤ ≤ ≤ ≤

⎛ ⎞= − ≤ ≤ ≤ ≤⎜ ⎟⎜ ⎟

⎝ ⎠

Page 10Numerical Analysisby Yang-Sae Moon

삼각삼각 분해분해 예제예제 (1/4)(1/4)LU Decomposition & Simultaneous Equation

다음 행렬 A를 삼각 행렬 L과 U로 분해하라.

11 12 13 14

21 22 23 24

31 32 33 34

41 42 43 44

1 2 4 1 0 0 0 12 7 14 4 0 0 0 11 4 9 6 0 0 0 14 10 17 5 0 0 0 1

l u u ul l u ul l l ul l l l

− − −⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥= = =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥

−⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

A LU

먼저, li1과 u1j를 구한다.

11 21 31 411, 2, 1, 4l l l l= − = = =

12 13 142, 4, 1u l l= = = −

1 1

11

11

i i

jj

l aa

ua

=

=

Page 6: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

6

Page 11Numerical Analysisby Yang-Sae Moon

삼각삼각 분해분해 예제예제 (2/4)(2/4)LU Decomposition & Simultaneous Equation

다음으로, li2과 u2j를 구한다.

22 22 21 12

32 32 31 12

42 42 41 12

7 (2)(2) 34 (1)(2) 210 (4)(2) 2

l a l ul a l ul a l u

= − = − == − = − == − = − =

( ) ( )

( ) ( )

23 23 21 1322

24 24 21 1422

1 1 14 (2)(4) 23

1 1 4 (2)( 1) 23

u a l ul

u a l ul

= − = − =

= − = − − =

1

11

1

1

j

ij ij ik kjk

i

ij ij ik kjii k

l a l u

u a l ul

=

=

= −

⎛ ⎞= −⎜ ⎟⎜ ⎟

⎝ ⎠

Page 12Numerical Analysisby Yang-Sae Moon

삼각삼각 분해분해 예제예제 (3/4)(3/4)LU Decomposition & Simultaneous Equation

그리고, li3과 u3j를 구한다.

( ) ( )( ) ( )

33 33 31 13 32 23

43 43 41 13 42 23

9 4 4 1

17 16 4 3

l a l u l u

l a l u l u

= − + = − + =

= − + = − + = −

( )( )34 34 31 14 32 2433

1 3u a l u l ul

= − + =1

11

1

1

j

ij ij ik kjk

i

ij ij ik kjii k

l a l u

u a l ul

=

=

= −

⎛ ⎞= −⎜ ⎟⎜ ⎟

⎝ ⎠

∑마지막으로, li4를 구한다.

( )44 44 41 14 42 24 43 34 4l a l u l u l u= − + + =

Page 7: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

7

Page 13Numerical Analysisby Yang-Sae Moon

삼각삼각 분해분해 예제예제 (4/4)(4/4)LU Decomposition & Simultaneous Equation

결국, A를 삼각 분해한 L과 U는 다음과 같이 구할 수 있다.

1 0 0 0 1 2 4 12 3 0 0 0 1 2 2

,1 2 1 0 0 0 1 34 2 3 4 0 0 0 1

− −⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥

−⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

L U

결국, L과 U의 곱 LU를 구하면 이는 A와 같음을 알 수 있다.

1 0 0 0 1 2 4 1 1 2 4 12 3 0 0 0 1 2 2 2 7 14 41 2 1 0 0 0 1 3 1 4 9 64 2 3 4 0 0 0 1 4 10 17 5

− − − − −⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥= = =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥

− −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

LU A

Page 14Numerical Analysisby Yang-Sae Moon

삼각삼각 분해와분해와 행렬식행렬식 관계관계LU Decomposition & Simultaneous Equation

행렬식의 성질에 따라 A, L, U 사이에 다음 식이 성립한다. (성질 9 참조)

=A L U

삼각 행렬 L의 행렬식은 그 대각 원소들의 곱과 같다(성질 8 참조).따라서, A의 행렬식은 다음과 같이 구할 수 있다.

11 22 33 11 22 331 1 1nn nnl l l l l l l l= = ⋅ ⋅ =A L U

Observation: A가 정칙행렬이면, L의 대각 원소들 중에는 0이 존재하지 않

는다.

Page 8: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

8

Page 15Numerical Analysisby Yang-Sae Moon

행렬의행렬의 삼각삼각 분해분해 -- 알고리즘알고리즘LU Decomposition & Simultaneous Equation

procedure LUmatrices(aij: real numbers, n: integer){ [aij] is an nxn matrix. (1 ≤ i,j ≤ n)}{ n is # of columns(= # of rows).}

Initialize every lij in [lij] and every uij in [uij] to 0;

for m := 1 to nj := m;for i := j to n

lij := end

i := m;for j := i to n

uij := end

end

return [lij] and [uij];

11 ;j

ij ik kjka l u−=

−∑

( )11

1 ;iij ik kjkiia l ul

−=

−∑

Page 16Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation행렬의행렬의 삼각삼각 분해분해 –– 프로그램프로그램 (1/3)(1/3)

Page 9: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

9

Page 17Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation행렬의행렬의 삼각삼각 분해분해 –– 프로그램프로그램 (2/3)(2/3)

Page 18Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation행렬의행렬의 삼각삼각 분해분해 –– 프로그램프로그램 (3/3)(3/3)

Page 10: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

10

Page 19Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation행렬의행렬의 삼각삼각 분해분해 –– 실행실행 결과결과 I (1/2)I (1/2)

사용한 행렬

1 2 4 12 7 14 41 4 9 64 10 17 5

− −⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥

−⎢ ⎥⎣ ⎦

입력 파일 구성

Page 20Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation행렬의행렬의 삼각삼각 분해분해 –– 실행실행 결과결과 I (2/2)I (2/2)

프로그램 실행 결과 (교재 p. 153 참조)

Page 11: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

11

Page 21Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation행렬의행렬의 삼각삼각 분해분해 –– 실행실행 결과결과 II (1/2)II (1/2)

사용한 행렬

1 1 1 12 1 1 14 1 1 12 1 1 1

− −⎡ ⎤⎢ ⎥− −⎢ ⎥⎢ ⎥−⎢ ⎥

− −⎢ ⎥⎣ ⎦

입력 파일 구성

Page 22Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation행렬의행렬의 삼각삼각 분해분해 –– 실행실행 결과결과 II (2/2)II (2/2)

프로그램 실행 결과 (교재 p. 161 참조)

Page 12: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

12

Page 23Numerical Analysisby Yang-Sae Moon

We are now We are now ……

행렬의 개요

행렬과 선형 연립 방정식의 관계

행렬의 기본 연산과 이를 이용한 선형 연립 방정식 풀이

행렬의 삼각 분해와 이를 이용한 선형 연립 방정식 풀이

• 행렬의 삼각 분해

• 삼각 분해를 사용한 선형 연립 방정식 풀이

• 삼각 분해를 사용한 역행렬 구하기

LU Decomposition & Simultaneous Equation

Page 24Numerical Analysisby Yang-Sae Moon

삼각삼각 행렬을행렬을 이용한이용한 방정식방정식 풀이풀이 –– 개념개념 (1/6)(1/6)LU Decomposition & Simultaneous Equation

행렬의 삼각 분해를 이용?

원래 방정식을 두 개의 다른 방정식으로 나누어 푸는 방식

방정식의 개수는 많아지나, 푸는 방식은 더욱 간단해짐

Page 13: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

13

Page 25Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 개념개념 (2/6)(2/6)LU Decomposition & Simultaneous Equation

(원래) 연립 방정식을 행렬 형태로 나타내면 다음과 같다.

=Ax b

행렬 A를 L과 U로 삼각 분해한다.

=LUx b

상기 식은 다음 두 식을 합친 것으로 나타낼 수 있다.

(1) (2) ( )

== =

Ly by Ux Ux y

Page 26Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 개념개념 (3/6)(3/6)LU Decomposition & Simultaneous Equation

첫 번째 식을 살펴보면 다음과 같다.

상기 식은 전진 소거법

(forward substitution)을사용하여 앞에서부터

풀어보면 다음의 결과를

얻을 수 있다.

11 1 1

21 22 2 2

31 32 33 3 3

1 2 3

0 0 00 0

0

n n n nn n n

l y bl l y bl l l y b

l l l l y b

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⇔ =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

Ly = b

( )

( )

( )

11

11

2 2 21 122

3 3 31 1 32 233

1 1 2 2 , 1 1

1

1

1

n n n n n n nnn

byl

y b l yl

y b l y l yl

y b l y l y l yl − −

=

= −

= − −

= − − − −

Page 14: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

14

Page 27Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 개념개념 (4/6)(4/6)LU Decomposition & Simultaneous Equation

결국, 행렬 y는 L과 b의 원소 값을 사용하여 다음과 같이 구할 수 있다.

1

1

1 , 1i

i i ij jii j

y b l y i nl

=

⎛ ⎞⎜ ⎟= − ≤ ≤⎜ ⎟⎝ ⎠

행렬 y를 구했으니, y와 U를 사용하여, 원하는 행렬 x를 구할 수 있다.

Page 28Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 개념개념 (5/6)(5/6)LU Decomposition & Simultaneous Equation

두 번째 식을 살펴보면 다음과 같다.

상기 식은 역진 대입법

(backward substitution)을사용하여 앞에서부터

풀어보면 다음의 결과를

얻을 수 있다.

12 13 1 1 1

23 2 2 2

1, 1 1

10 1

0 0 10 0 1

n

n

n n n n

n n

u u u x yu u x y

u x yx y

− − −

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⇔ =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

Ux = y

1 1 1,

1 1 1,2 2 1,3 3 1

n n

n n n n n

n n

x yx y u x

x y u x u x u x

− − −

== −

= − − − −

Page 15: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

15

Page 29Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 개념개념 (6/6)(6/6)LU Decomposition & Simultaneous Equation

최종적으로, 행렬 x는 행렬 U와 y의 원소 값을 사용하여 다음과 같이

구할 수 있다.

1, 1

n

i i ij jj i

x y u x n i= +

= − ≥ ≥∑

Page 30Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation

다음 선형 연립 방정식을 행렬의 삼각 분해를 이용해 해결하자.

삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 예제예제 (1/2)(1/2)

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

12 64 02 2

x x x xx x x xx x x xx x x x

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

행렬 형식으로 나타내면 다음과 같다.

1

2

3

4

1 1 1 1 12 1 1 1 64 1 1 1 02 1 1 1 2

xxxx

− − −⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎢ ⎥ ⎢ ⎥ ⎢ ⎥=⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎢ ⎥ ⎢ ⎥ ⎢ ⎥

− −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

Page 16: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

16

Page 31Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation

(첫 번째 식 사용) 행렬 L을 사용하여 행렬 y를 구하면 다음과 같다.

삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 예제예제 (2/2)(2/2)

(두 번째 식 사용) 행렬 U를 사용하여 행렬 x를 구하면 다음과 같다.

1

2

3

4

1 0 0 0 1 12 1 0 0 6 84 5 12 0 0 32 3 8 2 2 2

yyyy

− −⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥= ⇒ =⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

− − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

y

1

2

3

4

1 1 1 1 1 10 1 3 3 8 10 0 1 1 3 10 0 0 1 2 2

xxxx

− − −⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥− −⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥= ⇒ =⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

− −⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

x

Page 32Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 알고리즘알고리즘

procedure LUequation(aij, bi: real numbers, n: integer){ [aij] is an nxn matrix for coefficients. (1 ≤ i,j ≤ n)}{ [bi] is an nx1 matrix for results. (1 ≤ i ≤ n)}{ n is # of columns(= # of rows).}

[lij], [lij] := LUmatrices(aij, n); // get matrices L and U

for i := 1 to nyi :=

for i := n to 1xi :=

return [xi];

1

1

1 i

i ij jii jb l y

l

=

⎛ ⎞⎜ ⎟−⎜ ⎟⎝ ⎠

1

n

i ij jj i

y u x= +

− ∑

Page 17: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

17

Page 33Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 프로그램프로그램 (1/5)(1/5)

Page 34Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 프로그램프로그램 (2/5)(2/5)

Page 18: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

18

Page 35Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 프로그램프로그램 (3/5)(3/5)

Page 36Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 프로그램프로그램 (4/5)(4/5)

Page 19: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

19

Page 37Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 프로그램프로그램 (5/5)(5/5)

Page 38Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 실행실행 결과결과 I (1/2)I (1/2)

사용한 선형 연립 방정식

입력 파일 구성

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 4 102 7 14 4 26

4 9 6 134 10 17 5 43

x x x xx x x xx x x xx x x x

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

Page 20: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

20

Page 39Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 실행실행 결과결과 I (2/2)I (2/2)

역행렬 이용

Page 40Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 실행실행 결과결과 II (1/2)II (1/2)

사용한 선형 연립 방정식

입력 파일 구성

+ − + − =+ − + =

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

1 2 3 4 5

1 3 4 5

2 3 4 5

1 2 3 5

1 2 3 4 5

2 3 72 2

2 53 4 5 6

3

x x x x xx x x xx x x xx x x xx x x x x

Page 21: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

21

Page 41Numerical Analysisby Yang-Sae Moon

LU Decomposition & Simultaneous Equation삼각삼각 분해를분해를 이용한이용한 방정식방정식 풀이풀이 –– 실행실행 결과결과 I (2/2)I (2/2)

역행렬 이용

Page 42Numerical Analysisby Yang-Sae Moon

We are now We are now ……

행렬의 개요

행렬과 선형 연립 방정식의 관계

행렬의 기본 연산과 이를 이용한 선형 연립 방정식 풀이

행렬의 삼각 분해와 이를 이용한 선형 연립 방정식 풀이

• 행렬의 삼각 분해

• 삼각 분해를 사용한 선형 연립 방정식 풀이

• 삼각 분해를 사용한 역행렬 구하기

LU Decomposition & Simultaneous Equation

Page 22: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

22

Page 43Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 개념개념 (1/6)(1/6)LU Decomposition & Simultaneous Equation

행렬의 삼각 분해 방법을 역행렬을 구하는데도 활용할 수 있다.

원래의 행렬을 두 개의 삼각 행렬로 나눈다.

두 개 행렬의 역행렬을 먼저 구한다.

두 행렬의 역행렬을 사용하여 원래 행렬의 역행렬을 구한다.

( )A LU

A LU U L11 1 1−− − −

=

= =

(이미 알려진 바에 따르면)상삼각(upper triangular) 행렬의 역행렬은 역시 상삼각 행렬이고,하삼각(lower triangular) 행렬의 역행렬은 역시 하삼각 행렬이다.

Page 44Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 개념개념 (2/6)(2/6)LU Decomposition & Simultaneous Equation

먼저 하삼각 행렬 L의 역행렬을 구하기 위해, 이 행렬을 Z라 하면 다음 관

계가 만족한다.

LZ I

11 11

21 22 21 22

31 32 33 31 32 33

1 2 3 1 2 3

0 0 0 0 0 0 1 0 0 00 0 0 0 0 1 0 0

0 0 0 0 1 0

0 0 0 1n n n nn n n n nn

l zl l z zl l l z z z

l l l l z z z z

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥= = =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

Page 23: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

23

Page 45Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 개념개념 (3/6)(3/6)LU Decomposition & Simultaneous Equation

행렬 L의 모든 행과 행렬 Z의 첫 번째 열을 곱하여 다음 식을 얻는다.

11 11

21 11 22 21

31 11 32 21 33 31

1 11 2 21 3 31 1

100

0n n n nn n

l zl z l z

l z l z l z

l z l z l z l z

=+ =

+ + =

+ + + + =

11 11

21 22 21 22

31 32 33 31 32 33

1 2 3 1 2 3

0 0 0 0 0 00 0 0 0

0 0

n n n nn n n n nn

l zl l z zl l l z z z

l l l l z z z z

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

상기 식에서 행렬 Z의 첫 번째 열의

원소를 다음 (왼편)과 같이 구할 수 있다.

( )

1111

21 21 1122

31 31 11 32 2133

1

1 11

1

1

1

1 n

n nk knn k

zl

z l zl

z l z l zl

z l zl

=

=

= −

= − +

= − ∑

Page 46Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 개념개념 (4/6)(4/6)LU Decomposition & Simultaneous Equation

행렬 L의 모든 행과 행렬 Z의 두 번째 열을 곱하여 다음 식을 얻는다.

22 22

32 22 33 32

2 22 3 32 2

10

0n n nn n

l zl z l z

l z l z l z

=+ =

+ + + =

11 11

21 22 21 22

31 32 33 31 32 33

1 2 3 1 2 3

0 0 0 0 0 00 0 0 0

0 0

n n n nn n n n nn

l zl l z zl l l z z z

l l l l z z z z

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

상기 식에서 행렬 Z의 두 번째 열의

원소를 다음 (왼편)과 같이 구할 수 있다.22

22

32 32 2233

1

2 22

1

1

1 n

n nk knn k

zl

z l zl

z l zl

=

=

= −

= − ∑

Page 24: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

24

Page 47Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 개념개념 (5/6)(5/6)LU Decomposition & Simultaneous Equation

이를 반복하여 일반화 하면, 행렬 Z의 원소를 다음과 같이 구할 수 있다.

( )

( )

( )

1

1 1

1 1 1, 1

0

iiii

i

ij ik kjii k j

ij

z i nl

z l z j n j i nl

z i j

=

= ≤ ≤

= − ≤ ≤ − + ≤ ≤

= <

Page 48Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 개념개념 (6/6)(6/6)LU Decomposition & Simultaneous Equation

다음으로, 상삼각 행렬도 유사한 방법으로 구할 수 있다. 즉, 상삼각 행렬

을 V라 하면 다음 관계가 만족한다.

VU I

11 12 13 1 12 13 1

22 23 2 23 2

33 3 3

1 1 0 0 00 0 1 0 1 0 00 0 0 0 1 0 0 1 0

0 0 0 0 0 0 1 0 0 0 1

n n

n n

n n

nn

v v v v u u uv v v u u

v v u

v

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥= = =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

앞서의 행렬 Z를 구한 것과 비슷하게 계산하며, 다음과 같이 행렬 V의 원

소들을 구할 수 있다.

( )

( )

( )1

1 1

1 1, 1

0

iij

ij ik kjk i

ij

v i n

v v u i n i j n

z i j= +

= ≤ ≤

= − ≤ ≤ − + ≤ ≤

= >

교재 p. 168의 vij를

구하는 식에 오류

(u v, index 잘못)

Page 25: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

25

Page 49Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 예제예제 (1/2)(1/2)LU Decomposition & Simultaneous Equation

다음 행렬 A의 역행렬을 삼각 분해를 사용해 구해보자.

A

1 2 4 12 7 14 41 4 9 64 10 17 5

− − −⎡ ⎤⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥

−⎢ ⎥⎣ ⎦

행렬 A를 삼각 분해하면 다음 두 행렬 L과 U를 구할 수 있다.

1 0 0 0 1 2 4 12 3 0 0 0 1 2 2

,1 2 1 0 0 0 1 34 2 3 4 0 0 0 1

− −⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥

−⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

L U

Page 50Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 예제예제 (2/2)(2/2)LU Decomposition & Simultaneous Equation

앞서 구한 식을 사용하여, 행렬 L과 U의 역행렬을 구하면 다음과 같다.

행렬 L-1와 U-1를 곱하여,행렬 A의 역행렬을 구한다.

-1 -1L U

1 0 0 02 1 1 2 0 50 03 3 0 1 2 4

,1 2 0 0 1 31 03 3 0 0 0 15 2 3 1

12 3 4 4

−⎡ ⎤⎢ ⎥

−⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥ −⎢ ⎥⎢ ⎥= = ⎢ ⎥⎢ ⎥ −− −⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦⎢ ⎥

−⎢ ⎥⎣ ⎦

-1 -1 -1A = U L

1 15 544 4 43 1 1 1

19 4 5 312 3 4 45 2 3 1

12 3 4 4

⎡ ⎤− −⎢ ⎥⎢ ⎥

−⎢ ⎥⎢ ⎥=⎢ ⎥− − −⎢ ⎥⎢ ⎥

−⎢ ⎥⎣ ⎦

Page 26: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

26

Page 51Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 알고리즘알고리즘LU Decomposition & Simultaneous Equation

procedure LUinverse(aij: real numbers, n: integer){ [aij] is an nxn matrix for coefficients. (1 ≤ i,j ≤ n)}{ n is # of columns(= # of rows).}

Set zij and vij to 0 for every i and j;

for j := 1 to nzii := 1/lii; for i := j+1 to n

zij :=

for i := 1 to nvii := 1for j := i+1 to n

vij :=

return [vij][zij];

11 i

ik kjii k j

l zl

=− ∑

1j

ik kjk iv u

=

−∑

Page 52Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 프로그램프로그램 (1/5)(1/5)LU Decomposition & Simultaneous Equation

Page 27: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

27

Page 53Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 프로그램프로그램 (2/5)(2/5)LU Decomposition & Simultaneous Equation

Page 54Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 프로그램프로그램 (3/5)(3/5)LU Decomposition & Simultaneous Equation

Page 28: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

28

Page 55Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 프로그램프로그램 (4/5)(4/5)LU Decomposition & Simultaneous Equation

Page 56Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 프로그램프로그램 (5/5)(5/5)LU Decomposition & Simultaneous Equation

Page 29: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

29

Page 57Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 실행실행 결과결과 I (1/2)I (1/2)LU Decomposition & Simultaneous Equation

사용한 행렬 (교재 p. 174와 비교)

1 2 4 12 7 14 41 4 9 64 10 17 5

− −⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥

−⎢ ⎥⎣ ⎦

입력 파일 구성

Page 58Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 실행실행 결과결과 I (2/2)I (2/2)LU Decomposition & Simultaneous Equation

실행 결과

기본 연산 사용

Page 30: 수치해석 (Numerical Analysis) 행렬과연립방정식 (Part 2)cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/08.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

30

Page 59Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 실행실행 결과결과 II (1/2)II (1/2)LU Decomposition & Simultaneous Equation

사용한 행렬

2 2 11 0 43 1 3

−⎡ ⎤⎢ ⎥−⎢ ⎥⎢ ⎥− −⎣ ⎦

입력 파일 구성

Page 60Numerical Analysisby Yang-Sae Moon

삼각삼각 분해를분해를 이용한이용한 역행렬역행렬 구하기구하기 –– 실행실행 결과결과 II (2/2)II (2/2)LU Decomposition & Simultaneous Equation

실행 결과

기본 연산 사용