07. 행렬과 연립 방정식 (part i)
TRANSCRIPT
수치해석 (Numerical Analysis)
행렬과 연립 방정식 (Part 1)
문양세강원대학교 IT 대학 컴퓨터과학전공
Numerical Analysisby Yang-Sae MoonPage 2
행렬과 연립 방정식In this chapter …
본 장에서는 행렬과 연립 방정식의 관계를 다룬다 . 다루는 내용은1) 행렬에 대한 기본 지식을 리뷰하고 ,2) 역행렬과 행렬식의 개념으로 연립 방정식을 해결하는 방법을 다루며3) 행렬의 삼각 분해를 이용한 연립 방정식 해결 방법을 배운다 .
We will cover …• 행렬의 개요
• 행렬과 선형 연립 방정식의 관계
• 행렬의 기본 연산과 이를 이용한 선형 연립 방정식 풀이
• 행렬의 삼각 분해와 이를 이용한 선형 연립 방정식 풀이
Numerical Analysisby Yang-Sae MoonPage 3
We are now …
행렬의 개요
행렬과 선형 연립 방정식의 관계
행렬의 기본 연산과 이를 이용한 선형 연립 방정식 풀이
행렬의 삼각 분해와 이를 이용한 선형 연립 방정식 풀이
행렬과 연립 방정식
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
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
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
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
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
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
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
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
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
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
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
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
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
Numerical Analysisby Yang-Sae MoonPage 17
We are now …
행렬의 개요
행렬과 선형 연립 방정식의 관계
행렬의 기본 연산과 이를 이용한 선형 연립 방정식 풀이
행렬의 삼각 분해와 이를 이용한 선형 연립 방정식 풀이
Matrix vs. Simultaneous Equation
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
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
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)
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)
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
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
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
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
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
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
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 이 아니라는 이야기는
동치이다 .
Numerical Analysisby Yang-Sae MoonPage 29
We are now …
행렬의 개요
행렬과 선형 연립 방정식의 관계
행렬의 기본 연산과 이를 이용한 선형 연립 방정식 풀이
행렬의 삼각 분해와 이를 이용한 선형 연립 방정식 풀이
Inverse Matrix & Simultaneous Equation
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
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
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
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 를 곱하여 더하는 ) 기본 행렬
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
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
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
Numerical Analysisby Yang-Sae MoonPage 37
기본 연산과 역행렬 / 행렬식 관계 (4/4) Inverse Matrix & Simultaneous Equation
그런데 , 기본 행렬에 대한 행렬식은 다음과 같으므로 , A 의 행렬식을 쉽게 계산할 수 있다 .• 행 ( 열 ) 간의 자리 바꾸기 = -1• 행 ( 열 ) 에 임의의 수 k 곱하기 = k• 행 ( 열 ) 에 다른 행 ( 열 ) 의 곱을 더하기 ( 빼기 ) = 1
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
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
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
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
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
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
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
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
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
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
Numerical Analysisby Yang-Sae MoonPage 48
기본 연산으로 역행렬 구하기 - 프로그램 (1/5)Inverse Matrix & Simultaneous Equation
Numerical Analysisby Yang-Sae MoonPage 49
기본 연산으로 역행렬 구하기 - 프로그램 (2/5)Inverse Matrix & Simultaneous Equation
0 0 0 10 0 1 0 ;
1 0 0 0
Numerical Analysisby Yang-Sae MoonPage 50
기본 연산으로 역행렬 구하기 - 프로그램 (3/5)Inverse Matrix & Simultaneous Equation
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
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
Numerical Analysisby Yang-Sae MoonPage 53
기본 연산으로 역행렬 구하기 – 실행 결과 I (1/2) Inverse Matrix & Simultaneous Equation
사용한 행렬
2 41 3
입력 파일 구성
Numerical Analysisby Yang-Sae MoonPage 54
기본 연산으로 역행렬 구하기 – 실행 결과 I (2/2) Inverse Matrix & Simultaneous Equation
Numerical Analysisby Yang-Sae MoonPage 55
기본 연산으로 역행렬 구하기 – 실행 결과 II (1/2)Inverse Matrix & Simultaneous Equation
사용한 행렬
2 2 11 0 43 1 3
입력 파일 구성
Numerical Analysisby Yang-Sae MoonPage 56
기본 연산으로 역행렬 구하기 – 실행 결과 II (2/2)Inverse Matrix & Simultaneous Equation
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];
역행렬을 사용한 연립 방정식 풀이 알고리즘
Numerical Analysisby Yang-Sae MoonPage 58
역행렬을 이용한 연립 방정식 풀이 – 프로그램 (1/2)Inverse Matrix & Simultaneous Equation
Numerical Analysisby Yang-Sae MoonPage 59
역행렬을 이용한 연립 방정식 풀이 – 프로그램 (2/2)Inverse Matrix & Simultaneous Equation
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)
Numerical Analysisby Yang-Sae MoonPage 61
Gauss-Jordan Algorithm역행렬을 이용한 연립 방정식 풀이 – 실행 결과 I (2/2)
Gauss-Jordan 방법
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)
Numerical Analysisby Yang-Sae MoonPage 63
Gauss-Jordan Algorithm역행렬을 이용한 연립 방정식 풀이 – 실행 결과 II (2/2)
Gauss-Jordan 방법
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)
Numerical Analysisby Yang-Sae MoonPage 65
Gauss-Jordan Algorithm역행렬을 이용한 연립 방정식 풀이 – 실행 결과 III (2/2)
Gauss-Jordan 방법