수치해석 (numerical analysis) 행렬과 연립 방정식 (part 1)

65
수수수수 (Numerical Analysis) 수수수 수수 수수수 (Part 1)

Upload: analu

Post on 16-Jan-2016

224 views

Category:

Documents


0 download

DESCRIPTION

수치해석 (Numerical Analysis) 행렬과 연립 방정식 (Part 1). In this chapter …. 행렬과 연립 방정식. 본 장에서는 행렬과 연립 방정식의 관계를 다룬다 . 다루는 내용은 1) 행렬에 대한 기본 지식을 리뷰하고 , 2) 역행렬과 행렬식의 개념으로 연립 방정식을 해결하는 방법을 다루며 3) 행렬의 삼각 분해를 이용한 연립 방정식 해결 방법을 배운다 . We will cover … 행렬의 개요 행렬과 선형 연립 방정식의 관계 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

수치해석 (Numerical Analysis)

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

Page 2: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 2

행렬과 연립 방정식In this chapter …

본 장에서는 행렬과 연립 방정식의 관계를 다룬다 . 다루는 내용은1) 행렬에 대한 기본 지식을 리뷰하고 ,2) 역행렬과 행렬식의 개념으로 연립 방정식을 해결하는 방법을 다루며3) 행렬의 삼각 분해를 이용한 연립 방정식 해결 방법을 배운다 .

We will cover …• 행렬의 개요

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

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

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

Page 3: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 3

We are now …

행렬의 개요

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

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

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

행렬과 연립 방정식

Page 4: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 4

행렬 ?

Although I believe that you have already studied well both in your high school and in linear algebra classes, I will review the basic knowledge of matrices first.

Some slides are extracted from those of Discrete Mathematics course.

Matrices

Page 5: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 5

Introduction

A matrix (say MAY-trix) is a rectangular array of ob-jects (usually numbers). ( 행렬은 수의 사각형 배열이다 .)

An mn (“m by n”) matrix has exactly m horizontal rows, and n vertical columns. (m 개의 행과 n 개의 열을 갖는 행렬 )

Plural of matrix = matrices

An nn matrix is called a square matrix, whose order is n.( 행과 열의 개수가 같은 행렬을 정방행렬이라 한다 .)

Tons of applications:

• Models within Computational Science & Engineering

• Computer Graphics, Image Processing, Network Modeling

• Many, many more …

Matrices

Page 6: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 6

Matrix Equality ( 행렬의 동치 )

Two matrices A and B are equal iff they have the same number of rows, the same number of columns, and all corresponding elements are equal.( 두 행렬이 같은 수의 행과 열을 가지며 각 위치의 해당 원소의 값이 같으면 “두 행렬은 같다”고 정의한다 .)

Example

061

023

61

23

61

23

Matrices

Page 7: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 7

Row and Column Order (1/2)

The rows in a matrix are usually indexed 1 to m from top to bottom. ( 행은 위에서 아래로 1~m 의 색인 값을 갖는다 .)

The columns are usually indexed 1 to n from left to right.( 열은 왼쪽에서 오른쪽으로 1~n 의 색인 값을 갖는다 .)

Elements are indexed by row, then column.( 각 원소는 행 색인 , 열 색인의 순으로 표현한다 .)

1,1 1,2 1, 11 12 12,1 2,2 2, 21 22 2

,

1 2,1 ,2 ,

n nn n

i j ij

m m mnm m mn

a a a a a aa a a a a aa a

a a aa a a

A

Matrices

Page 8: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 8

Row and Column Order (2/2)

Let A be mn matrix [ai,j],

ith row = 1n matrix [ai,1, ai,2, …, ai,n],

jth column = n1 matrix

j,n

j,

j,

a.

.

.a

a

2

1

Matrices

Page 9: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 9

Matrix Sums

The sum A+B of two mn matrices A, B is the mn matrix given by adding corresponding elements.(A+B 는 (i,j) 번째 원소로서 ai,j+bi,j 를 갖는 행렬이다 .)

A+B = C = [ci,j] = [ai,j+bi,j] where A = [ai,j] and B =

[bi,j]

Example

252

313

244

211

031

143

043

322

101

Matrices

Page 10: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 10

Matrix Products (1/2)

For an mk matrix A and a kn matrix B, the product AB is the mn matrix:

I.e., element (i,j) of AB is given by the vector dot product of the ith row of A and the jth column of B (considered as vectors). (AB 의 원소 (i,j) 는 A 의 i 번째 열과 B

의 j 번째 행의 곱이다 .)

k

j,,ij,i bac1

CAB

1,1 1,2 1,

1,1 1,2 1, 1,2,1 2,2 2, 1,1 1,2 1,

2,1 2,2 2, 2, 2,1 2,2 2,

,1 ,2 ,

,1 ,2 , ,

,1 ,1 ,

...

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

... ... ...

...

... ...

...

k

j nk n

j n n

i i i k

k k k j k n

m m m k

a a a

b b b ba a a c c c

b b b b c c c

a a a

b b b b

a a a

,

,1 ,2 ,...i j

m m m n

c

c c c

Matrices

Page 11: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 11

Matrix Products (2/2)

Example

Matrix multiplication is not commutative! ( 교환법칙 성립 안 함 )

• A = mn matrix, B = rs matrix

• AB can be defined when n = r

• BA can be defined when s = m

• Both AB and BA can be defined when m = n = r = s

31123

1501

1301

0202

0110

302

110

BAAB

BA

23

34

35

23

11

12

12

11,

Matrices

Page 12: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 12

Identity Matrices ( 단위 행렬 )

The identity matrix of order n, In, is the order-n ma-

trix with 1’s along the upper-left to lower-right diag-onal and 0’s everywhere else. ((i,i) 번째 원소가 1 이고 ,

나머지는 모두 0 인 행렬 )

AIn = InA = A

100

010

001

if 0

if 1

ji

jinI

Matrices

Page 13: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 13

Matrix Inverses ( 역행렬 )

For some (but not all) square matrices A, there ex-ists a unique inverse A-1 of A, a matrix such that A-

1A = In. ( 정방 행렬 A 에 대해서 하나의 유일한 역행렬 A-1 이 존재한다 .)

If the inverse exists, it is unique, and A-1A = AA-1.

100

010

001

111

354

587

311

121

132

A A-1 I3

Matrices

Page 14: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 14

Matrix Transposition ( 전치 행렬 )

If A=[ai,j] is an mn matrix, the transpose of A (often

written At or AT) is the nm matrix given by

At = B = [bi,j] = [aj,i] (1in,1jm)

If the inverse exists, it is unique, and A-1A = AA-1.

Flipacrossdiagon

al

23

11

02

210

312t

Matrices

Page 15: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 15

Symmetric Matrices ( 대칭 행렬 )

A square matrix A is symmetric iff A=At.

I.e., i,jn: aij = aji .

Which is symmetric?

211

120

103

213

101

312

11

11

11

Matrices

Page 16: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 16

Powers of Matrices ( 멱행렬 )

If A is an nn square matrix and p0, then:

Ap AAA···A (A0 In)

Example:

p times

23

34

12

23

01

12

01

12

01

12

01

12

01

12 3

Matrices

Page 17: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 17

We are now …

행렬의 개요

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

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

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

Matrix vs. Simultaneous Equation

Page 18: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 18

연립 방정식의 행렬 표현 (1/2)

다음과 같이 n 개의 변수를 갖는 m 개의 선형 연립 방정식이 있다고 하자 .

Matrix vs. Simultaneous Equation

11 1 12 2 1 1

21 1 22 2 2 2

1 1 2 2

n n

n n

m m mn n m

a x a x a x b

a x a x a x b

a x a x a x b

상기 선형 연립 방정식을 행렬로 나타내면 다음과 같다 .

A x b

11 12 1 1 1

21 22 2 2 2

1 2

, ,

n

n

m m mn n m

a a a x b

a a a x b

a a a x b

Ax b

Page 19: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 19

연립 방정식의 행렬 표현 (2/2)Matrix vs. Simultaneous Equation

[A :b]

11 12 1 1

21 22 2 2

1 2

n

n

m m mn m

a a a b

a a a b

a a a b

또한 , 다음과 같이 b 의 계수를 한꺼번에 표시할 수도 있는데 , 이를 augmented matrix 라 부른다 .

1 2 3

1 2

2 3

2 6 2 7

3 3 0

4 5 1n

x x x

x x x

x x

연립 방정식의 행렬 표현 예제

1

2

3

2 6 2 7 2 6 2 7

3 3 1 0 , 3 3 1 0

0 4 5 1 0 4 5 1

x

x

x

Page 20: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 20

행렬식의 정의

A = [a] 가 1 x 1 행렬이면 A 의 행렬식은 |A| = a 이다 .

A 가 n x n 행렬이면 , 소행렬 (minor) Mij 는 행렬 A 의 i 행과 j 열을

소거하여 얻은 (n-1)x(n-1) 부분행렬의 행렬식이다 .

Mij 와 관련된 여인자 (cofactor) Aij 는 Aij = (-1)i+jMij 이다 .

n x n 행렬 A 의 행렬식은

또는

이다 .

1 1

( 1) , where is one index in [1, ]n n

i jij ij ij ij

j j

A a A a M i n

1 1

( 1) , where is one index in [1, ]n n

i jij ij ij ij

i i

A a A a M j n

Matrix vs. Simultaneous Equation행렬식 복습 (1/2)

Page 21: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 21

행렬식 예제

2 1 3 0

4 2 7 0

3 4 1 5

6 6 8 0

A

4 4 14 14 24 24 34 34 44 441

3 434 34 34 34 34

2 1 30 0 0 5 5 ( 1) 5 5 4 2 7

6 6 8

2 7 4 7 4 25 2 ( 1) 3

6 8 6 8 6 6

10 ( 2) 8 7 6 5 32 42 15 24

n

i ii

ij ij

A a A a A a A a A a A

a A a A A M M

( 12)

10 (26) 5 ( 8) 15 ( 12) 260 40 180 40

풀이 : 네 번째 열 (j=4) 을 사용하여 전개한다 .

Matrix vs. Simultaneous Equation행렬식 복습 (2/2)

Page 22: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 22

행렬식의 성질 (1/5)

성질 1): 행렬에서 임의의 행이나 열에 다른 행이나 열을 더하거나 빼도 행렬식은 변하지 않는다 .

Matrix vs. Simultaneous Equation

2 12 2 4 1 8

4 2

1 12 ( 1) 11 2 6 1 8

6 24 2 2

2 1 2 12 3 2 1 8

4 2 2 ( 1) 2 3

Page 23: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 23

행렬식의 성질 (2/5)

성질 2): 행렬의 모든 원소에 k 를 곱한 행렬의 행렬식은 k2 배가 된다 .

Matrix vs. Simultaneous Equation

2

2 12 2 4 1 8

4 2

10 2 10 1 20 10 2 120 20 40 10 800 10

10 4 10 2 40 20 4 2

성질 3): 단위 행렬의 행렬식은 1 이다 .

1 01 1 0 0 1

0 1

Page 24: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 24

행렬식의 성질 (3/5)

성질 4): 행렬에서 두 개의 행 혹은 두 개의 열을 서로 바꾸면 행렬식의 부호가 바뀐다 .

Matrix vs. Simultaneous Equation

2 1 4 22 2 4 1 8, 4 1 2 2 8

4 2 2 1

성질 5): 행렬에서 어느 한 행 혹은 한 열의 원소 값이 모두 0 이면 행렬식은 0 이다 .

0 0 4 00 2 4 0 0, 4 0 2 0 0

4 2 2 0

Page 25: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 25

행렬식의 성질 (4/5)

성질 6): 전치 행렬의 행렬식은 원래 행렬의 행렬식과 같다 .

Matrix vs. Simultaneous Equation

2 1 2 4

2 2 4 1 8, 2 2 1 4 84 2 1 2

성질 7): 대각 행렬 (diagonal matrix) 의 행렬식은 대각 원소들의 곱과 같다 .

2 0 01 0 0 0 0 1

0 1 0 2 0 00 7 0 7 0 0

0 0 7

2 7 0 0 0 0 0 0 0 2 7 14 2 1 7

Page 26: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 26

행렬식의 성질 (5/5)

성질 9): 두 행렬의 곱으로 만들어진 행렬의 행렬식은 각 행렬의 행렬식의 곱과 같다 .

Matrix vs. Simultaneous Equation

2 1 1 2 0 10 ( 8) 8

4 2 2 3 8 14

2 1 1 24 ( 4) 3 ( 4) 8 1 8

4 2 2 3

성질 8): 삼각 행렬의 행렬식은 대각 원소들의 곱과 같다 .

2 4 61 2 0 2 0 1

0 1 2 2 4 60 7 0 7 0 0

0 0 7

2 7 0 4 0 0 6 0 0 2 7 14 2 1 7

Page 27: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 27

역행렬의 성질 (1/2)Matrix vs. Simultaneous Equation

1) AA-1 = A-1A = I

2) I-1=I

3) [A-1]-1 =A

4) 대각 행렬의 역행렬은 역시 대각 행렬이다 .

A A 1

13 00

3, 10 0 22

5) (kA)-1 = (1/k)A-1

A A A A

1

11 1

113 0 9 0 0

0 9 13, 31 3 320 00 2 02 2 3

Page 28: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 28

역행렬의 성질 (2/2)Matrix vs. Simultaneous Equation

6) (AB)-1 = B-1A-1

n 개 변수를 갖는 n 개의 선형 연립 방정식을 nxn 행렬 A 로 나타내면Ax=b 가 되며 , 양변에 역행렬 A-1 를 곱하면 , A-1Ax=Ix=A-1b 가 성립한다 .

결국 , 행렬의 역행렬을 알 수 있으면 방정식을 쉽게 해결할 수 있다 .

행렬의 역행렬이 존재하면 그 행렬은 정칙 행렬 (nonsingular matrix)

이라 한다 . 또한 , 행렬의 행렬식이 0 이 아니면 그 행렬은 정칙

행렬이라 한다 .

결국 , 어떤 행렬이 정칙 행렬이라는 이야기 , 그 행렬의 역행렬이

존재한다는 이야기 , 그 행렬의 행렬식이 0 이 아니라는 이야기는

동치이다 .

Page 29: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 29

We are now …

행렬의 개요

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

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

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

Inverse Matrix & Simultaneous Equation

Page 30: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 30

기본 행렬 및 기본 연산 (1/4)

기본 행렬 (elementary matrix): 주어진 행렬에 대해서1) 행 ( 혹은 열 ) 의 순서를 바꾸거나 , 2) 행 ( 혹은 열 ) 에 임의의 상수를 곱하거나 , 3) 행 ( 혹은 열 ) 에 다른 행을 k 번 더하는 연산이 이뤄지게 하는 행렬이다 .

행에 대한 연산은 기본 행렬을 앞에 곱해주고 , 열에 대한 연산은 기본 행렬을 뒤에 곱해주는 형태가 된다 .

Inverse Matrix & Simultaneous Equation

1-1)행의 순서를 바꾸는 기본 행렬

11 12 13 21 22 23

21 22 23 11 12 13

31 32 33 31 32 33

0 1 0

1 0 0

0 0 1

a a a a a a

a a a a a a

a a a a a a

Page 31: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 31

기본 행렬 및 기본 연산 (2/4)Inverse Matrix & Simultaneous Equation

1-2)한 행에 상수를 곱하는 기본 행렬

11 12 13 11 12 13

21 22 23 21 22 23

31 32 33 31 32 33

1 0 0

0 0

0 0 1

a a a a a a

k a a a ka ka ka

a a a a a a

1-3)한 행에 다른 행을 k 번 더하는 ( 다른 행에 k 를 곱하여 더하는 ) 기본 행렬

11 12 13 11 31 12 32 13 33

21 22 23 21 22 23

31 32 33 31 32 33

1 0

0 1 0

0 0 1

k a a a a ka a ka a ka

a a a a ka ka

a a a a a a

Page 32: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 32

기본 행렬 및 기본 연산 (3/4)Inverse Matrix & Simultaneous Equation

2-1)열의 순서를 바꾸는 기본 행렬

11 12 13 12 11 13

21 22 23 22 21 23

31 32 33 32 31 33

0 1 0

1 0 0

0 0 1

a a a a a a

a a a a a a

a a a a a a

2-2)한 열에 상수를 곱하는 기본 행렬

11 12 13 11 12 13

21 22 23 21 22 23

31 32 33 31 32 33

1 0 0

0 0

0 0 1

a a a a ka a

a a a k a ka a

a a a a ka a

Page 33: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 33

기본 행렬 및 기본 연산 (4/4)Inverse Matrix & Simultaneous Equation

11 12 13 11 13 12 13

21 22 23 21 23 22 23

31 32 33 31 33 32 33

1 0 0

0 1 0

0 1

a a a a ka a a

a a a a ka a a

a a a k a ka a a

2-3)한 열에 다른 열을 k 번 더하는 ( 다른 열에 k 를 곱하여 더하는 ) 기본 행렬

Page 34: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 34

기본 연산과 역행렬 / 행렬식 관계 (1/4)

강의 노트 “ 06” 에서 언급한 바와 같이 , 크레이머의 법칙을 사용할 경우 , 행렬식 계산에 많은 어려움이 있다 .

반면에 , 기본 연산을 이용하면 , 역행렬과 함께 행렬식까지 구할 수 있다 .( 역행렬을 구하면 연립 방정식을 푸는 것과 같음에 주목한다 .)

Inverse Matrix & Simultaneous Equation

행 관련 기본 연산을 계속하여 행렬 A 를 단위 행렬로 만들 수 있다고 하면 , 그 식은 다음과 같이 정리할 수 있다 .

그리고 , 상기 식을 사용하면 다음과 같이 역행렬을 구할 수 있다 .

P PP A I2 1k

P PP AA IA A P PP1 1 12 1 2 1 k k

Page 35: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 35

기본 연산과 역행렬 / 행렬식 관계 (2/4)

Inverse Matrix & Simultaneous Equation

( 동일한 개념으로 ) 열 관련 기본 연산을 계속하여 행렬 A 를 단위 행렬로 만들 수 있다고 하면 , 그 식은 다음과 같이 정리할 수 있다 .

그리고 , 상기 식을 사용하면 다음과 같이 역행렬을 구할 수 있다 .

A Q Q Q I1 2 j

A A Q Q Q A I A Q Q Q1 1 11 2 1 2 j j

Page 36: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 36

기본 연산과 역행렬 / 행렬식 관계 (3/4)

Inverse Matrix & Simultaneous Equation

기본 행렬로 역행렬을 구하는 과정에서 그 부산물로 행렬의 행렬식까지 구할 수 있다 .

기본 행렬을 사용하여 다음 조건이 성립한다고 가정하자 .

그러면 , 행렬식의 성질 ( 성질 9) 에 의하여 다음 식이 성립한다 .

2 1k P P P A I

P P P A P P P A I2 1 2 1 k k

이를 A 의 행렬식으로 정리하면 다음과 같다 .

I 1

AP P P P P P2 1 2 1 k k

Page 37: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 37

기본 연산과 역행렬 / 행렬식 관계 (4/4)

Inverse Matrix & Simultaneous Equation

그런데 , 기본 행렬에 대한 행렬식은 다음과 같으므로 , A 의 행렬식을 쉽게 계산할 수 있다 .

• 행 ( 열 ) 간의 자리 바꾸기 = -1

• 행 ( 열 ) 에 임의의 수 k 곱하기 = k

• 행 ( 열 ) 에 다른 행 ( 열 ) 의 곱을 더하기 ( 빼기 ) = 1

Page 38: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 38

기본 행렬을 사용하여 다음 행렬 A 의 행렬식을 구하라 .

기본 연산과 역행렬 / 행렬식의 예제 (1/3)Inverse Matrix & Simultaneous Equation

2 4

1 3A

1) 행렬 A 의 첫 번째 행에 ¼ 을 곱한다 .

1 12 40 14 21 30 1 1 3

1P A

2) 행렬 P1A 의 첫 번째 행에 -3 을 곱하여 두 번째 행에 더한다 .

111 0 11 2253 1 01 3 2

2 1P P A

Page 39: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 39

기본 연산과 역행렬 / 행렬식의 예제 (2/3)Inverse Matrix & Simultaneous Equation

4) 행렬 P3P2P1A 의 두 번째 행에 ½ 를 곱하여 첫 번째 행에서 뺀다 .

3) 행렬 P2P1A 의 두 번째 행에 -2/5 를 곱한다 .

1 11 0 1 12 22 50 0 1 05 2

3 2 1P P P A

1 1 0 11 12 21 00 1 1 0

4 3 2 1P P P P A

5) 행렬 P4P3P2P1A 에 뒤바뀐 단위 행렬을 곱한다 .

0 1 0 1 1 0

1 0 1 0 0 15 4 3 2 1P P P P P A I

Page 40: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 40

기본 연산과 역행렬 / 행렬식의 예제 (3/3)Inverse Matrix & Simultaneous Equation

7) 또한 , 이 과정에서 행렬 A 에 대한 행렬식을 다음과 같이 구할 수 있다 .

6) 결국 , A 의 역행렬 A-1 는 다음과 같이 구할 수 있다 .

1 1 110

12 11 1 1 105 45 4 3 2 1

A =P P P P P

3 21 11 00 1 1 01 0 10 52 42 1 101 0 3 10 1 0 15 10 5

-15 4 4 3 2 1A = P P P P P P

Page 41: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 41

다음과 같은 행렬에서 ,

기본 연산으로 역행렬 구하기 - 개념 (1/6)Inverse Matrix & Simultaneous Equation

(0) (0) (0)11 12 1(0) (0) (0)21 22 2

(0) (0) (0)1 2

n

n

nnn n

a a a

a a a

a a a

( 피봇 1 단계 ) 첫 번째 행에 을 곱하여 a1n 을 1 로 만든다 .(0)1

1na

(0)1

1 0 0

0 1 0

0 0 1

na

(1) (1)11 12

(0)(0) (0) (0)1(1)21 22 2

1 (0)1

(0) (0) (0)1 2

1

,

jnj

n

nnn n

a a

aa a aa

a

a a a

(0) (0) (0)(0) 11 12 11 (0) (0) (0)

21 22 2

(0) (0) (0)1 2

1 0 0

0 1 0

0 0 1

nn

n

nnn n

a a aa

a a a

a a a

Page 42: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 42

기본 연산으로 역행렬 구하기 - 개념 (2/6)Inverse Matrix & Simultaneous Equation

( 피봇 1 단계 ) 첫 번째 행에 을 곱하여 i 번째 행에서 뺀다 . (i 1)

(0)2

(0)

1 0 0

1 0

0 1

n

nn

a

a

(1) (1)11 12(1) (1)

(1) (0) (0) (1)21 221

(1) (1)1 2

1

0,

0

ij ij in j

n n

a a

a aa a a a

a a

(0)ina

(1) (1)11 12

(0) (0) (0) (0)2 21 22 2

(0) (0) (0) (0)1 2

1 0 0 1

1 0

0 1

n n

nn nnn n

a a

a a a a

a a a a

Page 43: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 43

기본 연산으로 역행렬 구하기 - 개념 (3/6)Inverse Matrix & Simultaneous Equation

피봇 1 단계 정리 : 적용되는 기본 행렬 두 개와 그 결과 행렬은 다음과 같다 .

(0)1

1 0 0

0 1 0

0 0 1

na

(0)2

(0)

1 0 0

1 0

0 1

n

nn

a

a

(1) (1)(0)11 12

(1)(1) (1)(0)21 22

(1) (0) (0) (1)1(1) (1)

1 2

1

1 ,0,

10

ijij

in

ij ij in jn n

a aa

a ia aa

a a a a ia a

Page 44: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 44

기본 연산으로 역행렬 구하기 - 개념 (4/6)Inverse Matrix & Simultaneous Equation

피봇 2 단계 :

1) 두 번째 행에 을 곱하여 a2,n-1 을 1 로 만든다 .

2) 두 번째 행에 을 곱하여 i 번째 행에서 뺀다 . (i 2)

피봇 2 단계 정리 : 적용되는 기본 행렬 두 개와 그 결과 행렬은 다음과 같다 .

(1)2, 1

1 0 0

10 0

0 0 1

na

(1)1, 1

(1), 1

1 0

0 1 0

0 1

n

n n

a

a

(2) (2)(1)11 12

(2)(2) (2)(1)21 22, 1

(2) (1) (1) (2), 1 2(2) (2)

1 2

0 1

2 ,1 0,

20 0

ijij

i n

ij ij i n jn n

a aa

a ia aa

a a a a ia a

(1)2, 1

1na

(1), 1i na

Page 45: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 45

기본 연산으로 역행렬 구하기 - 개념 (5/6)Inverse Matrix & Simultaneous Equation

상기 과정을 n 단계 반복하면 다음과 같은 행렬을 얻는다 .

0 0 0 1

0 0 1 0

1 0 0 0

마지막으로 , 다음 기본 행렬을 곱해 단위 행렬을 얻는다 .

0 0 0 1

0 0 1 0

1 0 0 0

1 0 0 0

0 1 0 0

0 0 0 1

Page 46: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 46

기본 연산으로 역행렬 구하기 - 개념 (6/6)Inverse Matrix & Simultaneous Equation

역행렬은 각 피봇 단계에서 적용한 기본 행렬들을 ( 그때 그때 ) 차례로

곱하여 구한다 .

(1)(0)1, 11(0)

(1) 22, 1

(1) (0), 1

1 0 0 11 0 0 0 01 00 0 0 110 00 1 00 0 1 0 1 0 0 1 0

1 0 0 0 0 1 0 1 0 0 10 0 1

nn

nn

n n nn

a aaa

a a

Page 47: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 47

기본 연산으로 역행렬 구하기 - 알고리즘Inverse Matrix & Simultaneous Equation

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

Let [rij] be an identity matrix;k := 1;while (k n) begin

Let [pij] be the elementary matrix of the form [rij] := [pij][rij];[aij] := [pij][aij];

Let [pij] be the elementary matrix of the form[rij] := [pij][rij];[aij] := [pij][aij];

k := k + 1;endLet [pij] be the elementary matrix of the form[rij] := [pij][rij];[aij] := [pij][aij];

return [rij];

( 1), 1

1 0 0 0

0 1 0 0

1 ;

0 0 1 0

0 0 0 0 1

kk n ka

( 1)1, 1( 1)2, 1

( 1), 1

1 0

0 0;

0 1

kn k

kn k

kn n k

a

a

a

0 0 0 1

0 0 1 0;

1 0 0 0

Page 48: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 48

기본 연산으로 역행렬 구하기 - 프로그램 (1/5)Inverse Matrix & Simultaneous Equation

Page 49: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 49

기본 연산으로 역행렬 구하기 - 프로그램 (2/5)Inverse Matrix & Simultaneous Equation

0 0 0 1

0 0 1 0;

1 0 0 0

Page 50: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 50

기본 연산으로 역행렬 구하기 - 프로그램 (3/5)Inverse Matrix & Simultaneous Equation

Page 51: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 51

기본 연산으로 역행렬 구하기 - 프로그램 (4/5)Inverse Matrix & Simultaneous Equation

( 1), 1

1 0 0 0

0 1 0 0

1;

0 0 1 0

0 0 0 0 1

kk n ka

( 1)1, 1( 1)2, 1

( 1), 1

1 0

0 0;

0 1

kn k

kn k

kn n k

a

a

a

Page 52: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 52

기본 연산으로 역행렬 구하기 - 프로그램 (5/5)Inverse Matrix & Simultaneous Equation

행렬 곱 (matrix multiplication) 에 대한 연산은 동적 프로그래밍

(dynamic programming) 기법을 통하여 , 곱셈 연산을 크게 줄일 수

있다 .

알고리즘 과목에서 열심히 공부하세요…

, , ,1

n

i j i k k jk

AB T t a b

Page 53: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 53

기본 연산으로 역행렬 구하기 – 실행 결과 I (1/2)

Inverse Matrix & Simultaneous Equation

사용한 행렬

2 4

1 3

입력 파일 구성

Page 54: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 54

기본 연산으로 역행렬 구하기 – 실행 결과 I (2/2)

Inverse Matrix & Simultaneous Equation

Page 55: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 55

기본 연산으로 역행렬 구하기 – 실행 결과 II (1/2)Inverse Matrix & Simultaneous Equation

사용한 행렬

2 2 1

1 0 4

3 1 3

입력 파일 구성

Page 56: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 56

기본 연산으로 역행렬 구하기 – 실행 결과 II (2/2)Inverse Matrix & Simultaneous Equation

Page 57: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 57

역행렬이 구해지면 다음 관계에 의해 선형 연립 방정식을 풀 수 있다 .

역행렬을 이용한 연립 방정식 풀이 – 개념 및 알고리즘Inverse Matrix & Simultaneous Equation

Ax b x A b1

procedure inverse-equation(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).}

[rij ] := inverse(aij, n); // get the inverse matrix

[xi] := [rij][bi];

return [xi];

역행렬을 사용한 연립 방정식 풀이 알고리즘

Page 58: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 58

역행렬을 이용한 연립 방정식 풀이 – 프로그램 (1/2)Inverse Matrix & Simultaneous Equation

Page 59: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 59

역행렬을 이용한 연립 방정식 풀이 – 프로그램 (2/2)Inverse Matrix & Simultaneous Equation

Page 60: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 60

Gauss-Jordan Algorithm

사용한 연립 방정식

1 2 3

1 2 3

1 2 3

(1) 2 4 11

(2) 2 5 2 3

(3) 4 8

x x x

x x x

x x x

입력 파일 구성

역행렬을 이용한 연립 방정식 풀이 – 실행 결과 I (1/2)

Page 61: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 61

Gauss-Jordan Algorithm역행렬을 이용한 연립 방정식 풀이 – 실행 결과 I (2/2)

Gauss-Jordan 방법

Page 62: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 62

Gauss-Jordan Algorithm

사용한 연립 방정식

입력 파일 구성

1 2 4

1 3 4

1 2 3 4

1 2 3 4

2 2 4 2

3 24 6 30

20 8 25

2 5 23 14 34

x x x

x x x

x x x x

x x x x

역행렬을 이용한 연립 방정식 풀이 – 실행 결과 II (1/2)

Page 63: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 63

Gauss-Jordan Algorithm역행렬을 이용한 연립 방정식 풀이 – 실행 결과 II (2/2)

Gauss-Jordan 방법

Page 64: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 64

Gauss-Jordan Algorithm

사용한 연립 방정식

입력 파일 구성

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

역행렬을 이용한 연립 방정식 풀이 – 실행 결과 III (1/2)

Page 65: 수치해석  (Numerical Analysis) 행렬과 연립 방정식  (Part 1)

Page 65

Gauss-Jordan Algorithm역행렬을 이용한 연립 방정식 풀이 – 실행 결과 III (2/2)

Gauss-Jordan 방법