07. 행렬과 연립 방정식 (Part I)

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

Transcript of 07. 행렬과 연립 방정식 (Part I)

Page 1: 07. 행렬과 연립 방정식 (Part I)

수치해석 (Numerical Analysis)

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

문양세강원대학교 IT 대학 컴퓨터과학전공

Page 2: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 2

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

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

We will cover …• 행렬의 개요

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

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

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

Page 3: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 3

We are now …

행렬의 개요

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

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

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

행렬과 연립 방정식

Page 4: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 or-der is n.( 행과 열의 개수가 같은 행렬을 정방행렬이라 한다 .)

Tons of applications:• Models within Computational Science & Engineering• Computer Graphics, Image Processing, Network Modeling• Many, many more …

Matrices

Page 6: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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

0236123

6123

Matrices

Page 7: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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...

aa

2

1

Matrices

Page 9: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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

252313244

211031143

043322101

Matrices

Page 10: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 10

Matrix Products (1/2)

For an mk matrix A and a kn matrix B, the prod-uct 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 ab b b ba a a c c cb b b b c c c

a a ab b b b

a a a

,

,1 ,2 ,...i j

m m m n

cc c c

Matrices

Page 11: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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

311231501

130102020110

302110

BAAB

BA

2334

3523

1112

1211

,

Matrices

Page 12: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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

010001

if 0if 1

jiji

nI

Matrices

Page 13: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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.

100010001

111354

587

311121132

A A-1 I3

Matrices

Page 14: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 byAt = B = [bi,j] = [aj,i] (1in,1jm)

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

Flipacrossdiagon

al

231102

210312 t

Matrices

Page 15: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 15

Symmetric Matrices ( 대칭 행렬 )

A square matrix A is symmetric iff A=At.I.e., i,jn: aij = aji .

Which is symmetric?

211120

103

213101

312

111111

Matrices

Page 16: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 16

Powers of Matrices ( 멱행렬 )

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

Ap AAA···A (A0 In)

Example:

p times

2334

1223

0112

0112

0112

0112

0112 3

Matrices

Page 17: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 17

We are now …

행렬의 개요

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

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

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

Matrix vs. Simultaneous Equation

Page 18: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 ba 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 ba a a x b

a a a x b

Ax b

Page 19: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 ba a a b

a a a b

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

1 2 3

1 2

2 3

2 6 2 73 3 0

4 5 1n

x x xx x x

x x

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

1

2

3

2 6 2 7 2 6 2 73 3 1 0 , 3 3 1 00 4 5 1 0 4 5 1

xxx

Page 20: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 ni j

ij ij ij ijj j

A a A a M i n

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

n ni j

ij ij ij iji i

A a A a M j n

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

Page 21: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 21

행렬식 예제

2 1 3 04 2 7 03 4 1 56 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 82 7 4 7 4 25 2 ( 1) 36 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 27

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

1) AA-1 = A-1A = I2) I-1=I3) [A-1]-1 =A4) 대각 행렬의 역행렬은 역시 대각 행렬이다 .

A A 113 0 03, 10 0 22

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

A A A A1

11 1

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

Page 28: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 29

We are now …

행렬의 개요

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

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

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

Inverse Matrix & Simultaneous Equation

Page 30: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 01 0 00 0 1

a a a a a a

a a a a a a

a a a a a a

Page 31: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 00 00 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 00 1 00 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 01 0 00 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 00 00 0 1

a a a a ka a

a a a k a ka a

a a a a ka a

Page 33: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 00 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 1A

P P P P P P2 1 2 1 k k

Page 37: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 37

기본 연산과 역행렬 / 행렬식 관계 (4/4) Inverse Matrix & Simultaneous Equation

그런데 , 기본 행렬에 대한 행렬식은 다음과 같으므로 , A 의 행렬식을 쉽게 계산할 수 있다 .• 행 ( 열 ) 간의 자리 바꾸기 = -1• 행 ( 열 ) 에 임의의 수 k 곱하기 = k• 행 ( 열 ) 에 다른 행 ( 열 ) 의 곱을 더하기 ( 빼기 ) = 1

Page 38: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 38

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

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

2 41 3

A

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

1 12 40 14 21 30 1 1 31P A

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

111 0 11 2253 1 01 3 2

2 1P P A

Page 39: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 01 0 1 0 0 15 4 3 2 1P P P P P A I

Page 40: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 40

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

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

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

1 1 1 1012 11 1 1 105 45 4 3 2 1A =

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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 21 (0)

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

1

,

jnj

n

nnn n

a aaa a a aa

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

a a a

Page 42: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 42

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

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

(0)2

(0)

1 0 01 0

0 1

n

nn

a

a

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

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

(1) (1)1 2

10 ,

0

ij ij in j

n n

a a

a a a 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 11 0

0 1

n n

nn nnn n

a aa a a a

a a a a

Page 43: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 01 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

11 ,0 ,

10

ijij

in

ij ij in jn n

a a aa ia a a

a a a a ia a

Page 44: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 44

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

피봇 2 단계 :1) 두 번째 행에 을 곱하여 a2,n-1 을 1 로 만든다 .2) 두 번째 행에 을 곱하여 i 번째 행에서 뺀다 . (i 2)

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

(1)2, 1

1 0 010 0

0 0 1

na

(1)1, 1

(1), 1

1 00 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 12 ,1 0 ,

20 0

ijij

i n

ij ij i n jn n

a a aa ia a a

a a a a ia a

(1)2, 1

1na

(1), 1i na

Page 45: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 45

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

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

0 0 0 10 0 1 0

1 0 0 0

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

0 0 0 10 0 1 0

1 0 0 0

1 0 0 00 1 0 0

0 0 0 1

Page 46: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 46

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

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

곱하여 구한다 .

(1) (0)1, 1 1(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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 00 1 0 0

1 ;0 0 1 00 0 0 0 1

kk n ka

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

( 1), 1

1 00 0 ;

0 1

kn k

kn k

kn n k

a

a

a

0 0 0 10 0 1 0 ;

1 0 0 0

Page 48: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 48

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

Page 49: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 49

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

0 0 0 10 0 1 0 ;

1 0 0 0

Page 50: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 50

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

Page 51: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 51

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

( 1), 1

1 0 0 00 1 0 0

1 ;0 0 1 00 0 0 0 1

kk n ka

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

( 1), 1

1 00 0 ;

0 1

kn k

kn k

kn n k

aa

a

Page 52: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 53

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

사용한 행렬

2 41 3

입력 파일 구성

Page 54: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 54

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

Page 55: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 55

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

사용한 행렬

2 2 11 0 43 1 3

입력 파일 구성

Page 56: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 56

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

Page 57: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 58

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

Page 59: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 59

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

Page 60: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 xx x xx x x

입력 파일 구성

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

Page 61: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 61

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

Gauss-Jordan 방법

Page 62: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 62

Gauss-Jordan Algorithm

사용한 연립 방정식

입력 파일 구성

1 2 4

1 3 4

1 2 3 4

1 2 3 4

2 2 4 23 24 6 30

20 8 252 5 23 14 34

x x xx x x

x x x xx x x x

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

Page 63: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 63

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

Gauss-Jordan 방법

Page 64: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 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 72 2

2 53 4 5 6

3

x x x x xx x x x

x x x xx x x x

x x x x x

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

Page 65: 07. 행렬과 연립 방정식 (Part I)

Numerical Analysisby Yang-Sae MoonPage 65

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

Gauss-Jordan 방법