• 검색 결과가 없습니다.

행렬과 연립 방정식 (Part 2)

N/A
N/A
Protected

Academic year: 2022

Share "행렬과 연립 방정식 (Part 2)"

Copied!
61
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

수치해석 (Numerical Analysis)

행렬과 연립 방정식 (Part 2)

(2)

Page 2

We are now …

행렬의 개요

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

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

행렬의 삼각 분해

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

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

LU Decomposition & Simultaneous Equation

(3)

기존 방정식 풀이법의 문제점

LU Decomposition & Simultaneous Equation

계산량이 많고 , 이에 따라 수행 속도가 느리다 .

 많은 수의 미지수를 다뤄야 하는 문제 ( 예 : 구조 분석 ) 에 부적합하 다 .

Ax = b

에서 A 가 고정되어 있고 b 만 변하는 경우 , 가우스 - 조던 등의 방법은 일일이 새롭게 방정식을 풀어야 하는 번거로움이 있다 .

행렬의 삼각 분해법을 사용하여 1) 계산량을 줄이고 ,

2) b 만 변하는 경우에 벡터 x 를 쉽게 구할 수 있다 .

(4)

Page 4

행렬의 삼각 분해란 ?

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 0

0 0

0

n n n nn

l

l l

l l l

l l l l

 

 

 

 

  

 

 

 

    

L

12 13 1

23 2

3

1

0 1

0 0 1

0 0 0 1

n n n

u u u

u u

u

 

 

 

 

  

 

 

 

    

U

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

(5)

행렬 L 과 U 의 계산 (1/5)

LU Decomposition & Simultaneous Equation

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

결과적으로 , 행렬 L 의 첫 번째 열의 원소는 행렬 A 의 첫 번째 열의 원 소와 동일한 값을 가진다 .

11 21 22 31 32 33

0 0 0

0 0

0 l

l l

l l l

 

 

 

 

 

 

 

    

L

12 13 1

23 2

3

1 0 1

0 0 1

n n n

u u u

u 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 a

l a a a a

l a a a a

l a a a a

  

   

     

   

     

  

   

   

     

   

LU A

 

 

 

         

 

1 = 1 , 1

i i

l a   i n

(6)

Page 6

행렬 L 과 U 의 계산 (2/5)

LU Decomposition & Simultaneous Equation

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

11 21 22 31 32 33

1 2 3

0 0 0

0 0

0

n n n nn

l

l l

l l l

l l l l

 

 

 

 

 

 

 

 

    

L

12 13 1

23 2

3

1 0 1

0 0 1

0 0 0 1

n n n

u u u

u 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 a

a a a a

a a a a

a a a a

   

      

   

      

  

   

   

      

   

 

 

 

         

 

LU A

1 1

1 11 11

= j j , 2

j

a a

u j n

la  

(7)

행렬 L 과 U 의 계산 (3/5)

LU Decomposition & Simultaneous Equation

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

11 21 22 31 32 33

0 0 0

0 0

0 l

l l

l l l

 

 

 

 

 

 

 

    

L

12 13 1

23 2

3

1 0 1

0 0 1

n n n

u u u

u 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 a

l u l a a a a

l u l a a a a

l u l a a a a

  

   

     

   

     

  

   

   

     

   

 

 

 

         

 

LU A

2 = 2 1 12 , 2

i i i

l al u   i n

(8)

Page 8

행렬 L 과 U 의 계산 (4/5)

LU Decomposition & Simultaneous Equation

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

11 21 22 31 32 33

1 2 3

0 0 0

0 0

0

n n n nn

l

l l

l l l

l l l l

 

 

 

 

 

 

 

 

    

L

12 13 1

23 2

3

1 0 1

0 0 1

0 0 0 1

n n n

u u u

u 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 a

l u l u l u l u a a a a

a a a a

a a a a

   

   

       

   

       

  

   

   

       

   

 

 

 

         

 

LU A

2 21 1 2

22

= j j , 3

j

a l u

u j n

l

  

(9)

행렬 L 과 U 의 계산 (5/5)

LU Decomposition & Simultaneous Equation

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

 

 

 

 

1 1

1

1 11

1

1

1

1

1

2

2 ,

1 2 ,

i i

j j

j

ij ij ik kj

k

i

ij ij ik kj

ii k

l a i n

u a j n

a

l a l u j n j i n

u a l u i n i j n

l

  

  

     

 

         

 

포함된다고

할 수 있음

(10)

Page 10

삼각 분해 예제 (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 1

2 7 14 4 0 0 0 1

1 4 9 6 0 0 0 1

4 10 17 5 0 0 0 1

l u u u

l l u u

l l l u

l l l l

  

     

     

     

        

     

      

     

A LU

먼저 , li1 과 u1j 를 구한다 .

11 1, 21 2, 31 1, 41 4 l   lll

12 2, 13 4, 14 1

uuu  

1 1

1 1

11

i i

j j

l a

u a

a

(11)

삼각 분해 예제 (2/4)

LU Decomposition & Simultaneous Equation

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

22 22 21 12

32 32 31 12

42 42 41 12

7 (2)(2) 3 4 (1)(2) 2 10 (4)(2) 2

l a l u

l a l u

l a l u

    

    

    

   

   

23 23 21 13

22

24 24 21 14

22

1 1

14 (2)(4) 2 3

1 1

4 (2)( 1) 2 3

u a l u

l

u a l u

l

    

     

1

1

1

1

1

j

ij ij ik kj

k

i

ij ij ik kj

ii k

l a l u

u a l u

l

 

 

       

(12)

Page 12

삼각 분해 예제 (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 24

33

1 3

u a l u l u

l    1

1

1

1

1

j

ij ij ik kj

k

i

ij ij ik kj

ii k

l a l u

u a l u

l

 

 

       

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

 

44 44 41 14 42 24 43 34 4

lal ul ul u

(13)

삼각 분해 예제 (4/4)

LU Decomposition & Simultaneous Equation

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

1 0 0 0 1 2 4 1

2 3 0 0 0 1 2 2

1 2 1 0 , 0 0 1 3

4 2 3 4 0 0 0 1

 

   

   

   

     

   

    

   

L U

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

1 0 0 0 1 2 4 1 1 2 4 1

2 3 0 0 0 1 2 2 2 7 14 4

1 2 1 0 0 0 1 3 1 4 9 6

4 2 3 4 0 0 0 1 4 10 17 5

    

     

     

     

        

     

 

     

     

LU A

(14)

Page 14

삼각 분해와 행렬식 관계

LU Decomposition & Simultaneous Equation

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

AL U

삼각 행렬 L 의 행렬식은 그 대각 원소들의 곱과 같다 ( 성질 8 참조 ).

따라서 , A 의 행렬식은 다음과 같이 구할 수 있다 .

11 22 33 nn 1 1 1 11 22 33 nn

l l l l l l l l

       

A L U

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

(15)

행렬의 삼각 분해 - 알고리즘

LU Decomposition & Simultaneous Equation

procedure LUmatrices(a

ij

: real numbers, n: integer) { [a

ij

] is an nxn matrix. (1  i,j  n)}

{ n is # of columns(= # of rows).}

Initialize every l

ij

in [l

ij

] and every u

ij

in [u

ij

] to 0;

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

for i := j to n l

ij

:=

end i := m;

for j := i to n u

ij

:=

end end

return [l

ij

] and [u

ij

];

1

1 ;

j

ij k ik kj

a   l u

1 1

1

ij ik ik kj

;

ii

a l u

l  

1

1

1

1

1

j

ij ij ik kj

k

i

ij ij ik kj

ii k

l a l u

u a l u

l

 

 

     

 

(16)

Page 16

LU Decomposition & Simultaneous Equation

행렬의 삼각 분해 – 프로그램 (1/3)

(17)

LU Decomposition & Simultaneous Equation

행렬의 삼각 분해 – 프로그램 (2/3)

1

1

1 1

1

j

ij ij ik kj

k i

ij ij ik kj

ii k

l a l u

u a l u

l

 

 

       

(18)

Page 18

LU Decomposition & Simultaneous Equation

행렬의 삼각 분해 – 프로그램 (3/3)

(19)

LU Decomposition & Simultaneous Equation

행렬의 삼각 분해 – 실행 결과 I (1/2)

사용한 행렬

1 2 4 1

2 7 14 4

1 4 9 6

4 10 17 5

 

 

 

 

 

 

  

 

입력 파일 구성

(20)

Page 20

LU Decomposition & Simultaneous Equation

행렬의 삼각 분해 – 실행 결과 I (2/2)

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

(21)

LU Decomposition & Simultaneous Equation

행렬의 삼각 분해 – 실행 결과 II (1/2)

사용한 행렬

1 1 1 1

2 1 1 1

4 1 1 1

2 1 1 1

 

 

   

 

  

 

 

 

 

입력 파일 구성

(22)

Page 22

LU Decomposition & Simultaneous Equation

행렬의 삼각 분해 – 실행 결과 II (2/2)

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

(23)

We are now …

행렬의 개요

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

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

행렬의 삼각 분해

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

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

LU Decomposition & Simultaneous Equation

(24)

Page 24

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

LU Decomposition & Simultaneous Equation

행렬의 삼각 분해를 이용 ?

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

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

(25)

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

LU Decomposition & Simultaneous Equation

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

Ax b

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

LUx b

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

(1)

(2) ( )

 

Ly b

Ux y y Ux

(26)

Page 26

삼각 분해를 이용한 방정식 풀이 – 개념 (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 0

0 0

0

n n n nn n n

l y b

l l y b

l l l y b

l l l l y b

     

     

     

     

 

     

     

     

     

      

Ly =b

 

 

 

1 1

11

2 2 21 1

22

3 3 31 1 32 2

33

1 1 2 2 , 1 1

1

1

1

n n n n n n n

nn

y b l

y b l y

l

y b l y l y

l

y b l y l y l y

l

 

  

    

(27)

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

LU Decomposition & Simultaneous Equation

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

1 1

1 i , 1

i i ij j

ii j

y b l y i n

l

 

 

   

 

  

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

(28)

Page 28

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

LU Decomposition & Simultaneous Equation

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

상기 식은 역진 대입법

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

풀어보면 다음의 결과를 얻을 수 있다 .

12 13 1 1 1

23 2 2 2

1, 1 1

1

0 1

0 0 1

0 0 1

n n

n n n n

n n

u u u x y

u u x y

u x y

x 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 y

x y u x

x y u x u x u x

  

 

    

(29)

삼각 분해를 이용한 방정식 풀이 – 개념 (6/6)

LU Decomposition & Simultaneous Equation

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

1

, 1

n

i i ij j

j i

x y u x n i

 

    

(30)

Page 30

LU Decomposition & Simultaneous Equation

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

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

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

1

2 6

4 0

2 2

x x x x x x x x x x x x x x x x

    

   

   

   

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

1 2 3 4

1 1 1 1 1

2 1 1 1 6

4 1 1 1 0

2 1 1 1 2

x x x x

  

     

       

      

      

     

 

     

     

(31)

LU Decomposition & Simultaneous Equation

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

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

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

1 2 3 4

1 0 0 0 1 1

2 1 0 0 6 8

4 5 12 0 0 3

2 3 8 2 2 2

y y y y

 

       

        

          

        

       

  

       

       

y

1 2 3 4

1 1 1 1 1 1

0 1 3 3 8 1

0 0 1 1 3 1

0 0 0 1 2 2

x x x x

  

       

         

          

        

       

 

       

       

x

(32)

Page 32

LU Decomposition & Simultaneous Equation

삼각 분해를 이용한 방정식 풀이 – 알고리즘

procedure LUequation(a

ij

, b

i

: real numbers, n: integer) { [a

ij

] is an nxn matrix for coefficients. (1  i,j  n)}

{ [b

i

] is an nx1 matrix for results. (1  i  n)}

{ n is # of columns(= # of rows).}

[l

ij

], [u

ij

] := LUmatrices(a

ij

, n); // get matrices L and U for i := 1 to n

y

i

:=

for i := n to 1 x

i

:=

return [x

i

];

1

1

1

i i ij j

;

ii j

b l y

l

 

  

 

  

1 n

;

i ij j

j i

y u x

 

 

1 1

1

i

, 1

i i ij j

ii j

y b l y i n

l

 

 

   

 

  

1

, 1

n

i i ij j

j i

x y u x n i

 

    

(33)

LU Decomposition & Simultaneous Equation

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

(34)

Page 34

LU Decomposition & Simultaneous Equation

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

1 1

1

i

, 1

i i ij j

ii j

y b l y i n

l

 

 

   

 

  

1

, 1

n

i i ij j

j i

x y u x n i

 

    

(35)

LU Decomposition & Simultaneous Equation

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

(36)

Page 36

LU Decomposition & Simultaneous Equation

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

(37)

LU Decomposition & Simultaneous Equation

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

(38)

Page 38

LU Decomposition & Simultaneous Equation

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

사용한 선형 연립 방정식

입력 파일 구성

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

2 4 10

2 7 14 4 26

4 9 6 13

4 10 17 5 43

x x x x

x x x x

x x x x

x x x x

     

   

   

   

(39)

LU Decomposition & Simultaneous Equation

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

역행렬 이용

(40)

Page 40

LU Decomposition & Simultaneous Equation

삼각 분해를 이용한 방정식 풀이 – 실행 결과 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 7

2 2

2 5

3 4 5 6

3

x x x x x

x x x x

x x x x

x x x x

x x x x x

(41)

LU Decomposition & Simultaneous Equation

삼각 분해를 이용한 방정식 풀이 – 실행 결과 II (2/2)

역행렬 이용

(42)

Page 42

We are now …

행렬의 개요

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

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

행렬의 삼각 분해

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

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

LU Decomposition & Simultaneous Equation

(43)

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

LU Decomposition & Simultaneous Equation

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

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

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

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

 

A LU

A 1 LU 1 U L 1 1

 

( 이미 알려진 바에 따르면 )

상삼각 (upper triangular) 행렬의 역행렬은 역시 상삼각 행렬이고 , 하삼각 (lower triangular) 행렬의 역행렬은 역시 하삼각 행렬이다 .

(44)

Page 44

삼각 분해를 이용한 역행렬 구하기 – 개념 (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 0

0 0 0 0 0 1 0 0

0 0 0 0 1 0

0 0 0 1

n n n nn n n n nn

l z

l l z z

l l l z z z

l l l l z z z z

     

     

     

     

  

     

     

     

     

  

  

  

              

  

(45)

삼각 분해를 이용한 역행렬 구하기 – 개념 (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

1 0 0

n n n nn n

0

l z l 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 0

0 0 0 0

0 0

n n n nn n n n nn

l z

l l z z

l l l z z z

l l l l z z z z

   

   

   

   

   

   

   

   

 

 

 

         

 

상기 식에서 행렬 Z 의 첫 번째 열의 원소를 다음 ( 왼편 ) 과 같이 구할 수 있

다 .

 

11 11

21 21 11

22

31 31 11 32 21

33

1

1 1

1 1

1

1

n

n nk k

z l

z l z

l

z l z l z

l

z l z

l

 

  

  

(46)

Page 46

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

LU Decomposition & Simultaneous Equation

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

22 22 32 22 33 32

2 22 3 32 2

1 0

n n nn n

0

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 0

0 0 0 0

0 0

n n n nn n n n nn

l z

l l z z

l l l z z z

l l l l z z z z

   

   

   

   

   

   

   

   

 

 

 

         

 

상기 식에서 행렬 Z 의 두 번째 열의 원소를 다음 ( 왼편 ) 과 같이 구할 수 있 다 .

22

22

32 32 22

33

1

2 2

2

1 1

1 n

n nk k

nn k

z l

z l z

l

z l z

l

 

 

(47)

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

LU Decomposition & Simultaneous Equation

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

다 .

 

 

 

1

1 1

1 1 1, 1

0

ii

ii i

ij ik kj

ii k j ij

z i n

l

z l z j n j i n

l

z i j

  

       

 

(48)

Page 48

삼각 분해를 이용한 역행렬 구하기 – 개념 (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 0

0 0 1 0 1 0 0

0 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 u

v v v u u

v v u

v

     

     

     

     

  

     

     

     

     

  

  

  

              

  

앞서의 행렬 Z 를 구한 것과 비슷하게 계산하며 , 다음과 같이 행렬 V 의 원소들을 구할 수 있다 .

 

 

 

1

1 1

1 1, 1

0

ii

j

ij ik kj

k i ij

v i n

v v u i n i j n

z i j

 

  

       

 

교재 p. 168 의 vij 를 구하는 식에 오류

(u  v, index 잘못 )

(49)

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

LU Decomposition & Simultaneous Equation

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

A

1 2 4 1

2 7 14 4

1 4 9 6

4 10 17 5

  

 

 

 

  

 

  

 

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

1 0 0 0 1 2 4 1

2 3 0 0 0 1 2 2

1 2 1 0 , 0 0 1 3

4 2 3 4 0 0 0 1

 

   

   

   

     

   

    

   

L U

 

 

 

1

1 1

1 1 1, 1

0

ii ii

i

ij ik kj

ii k j ij

z i n

l

z l z j n j i n

l

z i j

 

       

 

 

 

1

1 1

1 1, 1

0

ii j

ij ik kj

k i ij

v i n

v v u i n i j n

z i j

 

  

       

 

(50)

Page 50

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

LU Decomposition & Simultaneous Equation

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

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

-1 -1

L U

1 0 0 0

2 1 0 0 1 2 0 5

3 3 0 1 2 4

1 2 1 0 , 0 0 1 3

3 3

0 0 0 1

5 2 3 1

12 3 4 4

  

 

  

 

 

    

 

        

 

 

 

 

 

  

 

-1 -1 -1

A =U L

1 15 5

4 4 4 4

3 1 1 1

19 4 5 3 12 3 4 4

5 2 3 1

12 3 4 4

   

 

 

  

 

    

 

 

  

 

(51)

삼각 분해를 이용한 역행렬 구하기 – 알고리즘

LU Decomposition & Simultaneous Equation

procedure LUinverse(a

ij

: real numbers, n: integer) { [a

ij

] is an nxn matrix for coefficients. (1  i,j  n)}

{ n is # of columns(= # of rows).}

[l

ij

], [u

ij

] := LUmatrices(a

ij

, n); // get matrices L and U Set z

ij

and v

ij

to 0 for every i and j;

for j := 1 to n z

jj

:= 1/l

jj

; for i := j+1 to n

z

ij

:=

for i := 1 to n v

ii

:= 1

for j := i+1 to n v

ij

:=

1 i 1

ik kj ii k j

l l z

 

1 j

ik kj k i

v u

 

 

 

1

1 1

1 1 1, 1

0

ii ii

i

ij ik kj

ii k j ij

z i n

l

z l z j n j i n

l

z i j

  

       

 

 

 

 

1

1 1

1 1, 1

0

ii

j

ij ik kj

k i ij

v i n

v v u i n i j n

z i j

 

  

       

 

(52)

Page 52

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

LU Decomposition & Simultaneous Equation

(53)

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

LU Decomposition & Simultaneous Equation

 

 

 

1

1 1

1 1 1, 1

0

ii ii

i

ij ik kj

ii k j ij

z i n

l

z l z j n j i n

l

z i j

 

       

 

 

 

1

1 1

1 1, 1

0

ii

j

ij ik kj

k i ij

v i n

v v u i n i j n

z i j

 

  

       

 

(54)

Page 54

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

LU Decomposition & Simultaneous Equation

(55)

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

LU Decomposition & Simultaneous Equation

(56)

Page 56

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

LU Decomposition & Simultaneous Equation

(57)

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

LU Decomposition & Simultaneous Equation

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

1 2 4 1

2 7 14 4

1 4 9 6

4 10 17 5

 

 

 

 

 

 

  

 

입력 파일 구성

(58)

Page 58

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

LU Decomposition & Simultaneous Equation

실행 결과

기본 연산 사용

(59)

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

LU Decomposition & Simultaneous Equation

사용한 행렬

2 2 1

1 0 4

3 1 3

 

  

 

   

 

입력 파일 구성

(60)

Page 60

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

LU Decomposition & Simultaneous Equation

실행 결과

기본 연산 사용

(61)

Homework #3

LU Decomposition & Simultaneous Equation

참조

관련 문서

1차

[r]

접선의 방정식 구하는 방법... 접선의

계에 대한 질량수지와 전하수지의 관계식들을 모두 열거하고, 산 -염기 문제에 적절한 양성자 조건을 열거.. 연립 방정식을 풀어 평형에

There exist arithmetic progressions consisting of prime numbers of any given length.

• pdepe를 이용한 반응-확산 시스템 편미분 방정식 풀이 함수 M-파일 reacdiff.m. % reacdiff.m: 반응-확산 시스템 PDE를 풀고

II. FTA 경제적효과 분석모형.. z 생산요소부존량, 정부정책 등에 관한 구체적인 가정 z Calibration을 이용한 모형의 현실경제화. Æ 경제의 일반균형상태를

double BuoyancyDisplacementCondition(); // 부력-중량 평형 조건을 계산하는 함수 double CCRequirementCondition(); // 화물창 요구 조건을 계산하는 함수