수치해석 (numerical analysis) 선형연립방정식 (simultaneous...
TRANSCRIPT
1
20052005년년 가을학기가을학기
문양세문양세
컴퓨터과학과컴퓨터과학과
강원대학교강원대학교 자연과학대학자연과학대학
수치해석수치해석 (Numerical Analysis)(Numerical Analysis)
선형선형 연립연립 방정식방정식 (Simultaneous Equations)(Simultaneous Equations)
Page 2Numerical Analysisby Yang-Sae Moon
선형 연립 방정식In this chapter In this chapter ……
+ =
− =
3 2 3
1
x y
x y= =1, 0x y
선형 연립 방정식의 해를 구하는 문제를 다룬다.
선형 연립 방정식은 다음과 같은 연립 1차 방정식을 의미한다.
We will cover …
• 선형 연립 방정식의 이해
• 가우스-조단 알고리즘
• 역진 대입법을 이용한 가우스 소거법
• 가우스-자이달 알고리즘
2
Page 3Numerical Analysisby Yang-Sae Moon
We are now We are now ……
선형 연립 방정식의 이해
가우스-조단 알고리즘
역진 대입법을 이용한 가우스 소거법
가우스-자이달 알고리즘
선형 연립 방정식
Page 4Numerical Analysisby Yang-Sae Moon
선형선형 연립연립 방정식의방정식의 형태형태
n개의 변수 (x1, x2, ..., xn)을 가지는 m개의 선형 연립 방정식
선형 연립 방정식의 이해
+ + + =+ + + =
+ + + =
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
n n
n n
n n nn n n
a x a x a x ba x a x a x b
a x a x a x b
m개 방정식들을 만족하는 n개의 xi 값들의 집합을 이 방정식의 해라 한다.
연립 방정식의 해는
1) 한 개 혹은 여러 개일 수 있고,2) 무한히 많을 수도 있으며(부정),3) 없을 수도 있다(불능).
3
Page 5Numerical Analysisby Yang-Sae Moon
선형선형 의존의존 (Linear Dependent) (1/2)(Linear Dependent) (1/2)선형 연립 방정식의 이해
( )( )( )− − − −
− −
+ + + = + + +
+ + + + +
+ + + +
= = + + +
1 1 2 2 1 11 1 12 2 1
2 21 1 22 2 2
1 1,1 1 1,2 2 1,
1 1 2 2 1 1
m m mn n n n
n n
m m m m n n
l m m
a x a x a x k a x a x a x
k a x a x a x
k a x a x a x
b k b k b k b
하나의 방정식이 다른 방정식들의 합으로 표현될 수 있으면, 그 방정식은
다른 방정식들에 대해 선형 의존(linear dependent)한다고 정의한다.
만일 m번째 방정식이 다른 방정식들에 대해 선형 의존한다면, m번째 방
정식은 다음과 같이 표현할 수 있다.
Page 6Numerical Analysisby Yang-Sae Moon
선형선형 의존의존 (Linear Dependent) (2/2)(Linear Dependent) (2/2)
3원 연립 방정식의 선형 의존 예
선형 연립 방정식의 이해
+ + =
+ + =
+ + =
1) 1
2) 2 2 4
3) 4 3 4 6
x y z
x y z
x y z
+ +
= + + + + + = ⋅ + ⋅ =
4 3 4
2( ) 1(2 2 ) 2 1 1 4 6
x y z
x y z x y z
그런데, 다음 관계가 성립하므로,
상기 예에서 3)번 방정식은 1)번 및 2)번 방정식에 선형 의존적이다.선형 의존인 방정식은 전체 해에 영향을 주지 않으므로,무시할 수 있다. (무시하는 것이 좋다.)
4
Page 7Numerical Analysisby Yang-Sae Moon
불일치불일치 (Inconsistent) (1/2)(Inconsistent) (1/2)선형 연립 방정식의 이해
한 방정식의 좌변은 다른 방정식들의 좌변의 합으로 표현될 수 있으나, 그 방정식의 우변은 다른 방정식들의 우변의 합으로 표현할 수 없는 경우, 이들 방정식은 불일치(inconsistent)한다고 정의한다.
연립 방정식의 불일치는 다음과 같이 표현할 수 있다.
( )( )( )− − − −
− −
+ + + = + + +
+ + + + +
+ + + +
= ≠ + + +
1 1 2 2 1 11 1 12 2 1
2 21 1 22 2 2
1 1,1 1 1,2 2 1,
1 1 2 2 1 1
m m mn n n n
n n
m m m m n n
l m m
a x a x a x k a x a x a x
k a x a x a x
k a x a x a x
b k b k b k b
Page 8Numerical Analysisby Yang-Sae Moon
3원 연립 방정식의 불일치 예
선형 연립 방정식의 이해
+ + =
+ + =
+ + =
1) 1
2) 2 2 4
3) 4 3 4 7
x y z
x y z
x y z
+ +
= + + + + + = ⋅ + ⋅ ≠
4 3 4
2( ) 1(2 2 ) 2 1 1 4 6
x y z
x y z x y z
그런데, 다음 관계가 성립하므로,
상기의 연립 방정식은 불일치이다. 불일치라면 해당 연립 방정식은 해를 가지지 않는다. (불능)
불일치불일치 (Inconsistent) (2/2)(Inconsistent) (2/2)
5
Page 9Numerical Analysisby Yang-Sae Moon
크레이머크레이머(Cramer)(Cramer)의의 법칙법칙 (1/6)(1/6)선형 연립 방정식의 이해
행렬식의 정의
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
Page 10Numerical Analysisby Yang-Sae Moon
크레이머크레이머(Cramer)(Cramer)의의 법칙법칙 (2/6)(2/6)선형 연립 방정식의 이해
행렬식 예제 −⎡ ⎤⎢ ⎥⎢ ⎥−⎢ ⎥=⎢ ⎥− −⎢ ⎥⎢ ⎥−⎣ ⎦
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) 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)을 사용하여 전개한다.
6
Page 11Numerical Analysisby Yang-Sae Moon
크레이머크레이머(Cramer)(Cramer)의의 법칙법칙 (3/6)(3/6)선형 연립 방정식의 이해
크래이머의 법칙: n원 일차 연립 방정식
의 해는 다음과 같이 구할 수 있다.
+ + + =+ + + =
+ + + =
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
n n
n n
n n nn n n
a x a x a x ba x a x a x b
a x a x a x b
= ii
Ax
A
|A|는 행렬 A의 행렬식인데… A는 뭐고.. Ai는 뭐지?
Page 12Numerical Analysisby Yang-Sae Moon
크레이머크레이머(Cramer)(Cramer)의의 법칙법칙 (4/6)(4/6)선형 연립 방정식의 이해
다음과 같은 n원 일차 연립 방정식이 있을 때,
A와 Ai 는 각각 다음과 같이 정의한다.
+ + + =+ + + =
+ + + =
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
n n
n n
n n nn n n
a x a x a x ba x a x a x b
a x a x a x b
⎡ ⎤⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
11 12 1
21 22 2
1 2
n
n
n n nn
a a aa a a
A
a a a
− +
− +
− +
⎡ ⎤⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
11 1, 1 1 1, 1 1
21 2, 1 2 2, 1 2
1 , 1 2, 1
i i n
i i ni
n n i n i nn
a a b a aa a b a a
A
a a b a a
7
Page 13Numerical Analysisby Yang-Sae Moon
크레이머크레이머(Cramer)(Cramer)의의 법칙법칙 (5/6)(5/6)선형 연립 방정식의 이해
크레이머 법칙의 적용 예제
+ − =− + =− + =
1 2 3
1 2 3
1 2 3
2 3 42 612 5 10
x x xx x xx x x
−⎡ ⎤⎢ ⎥= −⎢ ⎥⎢ ⎥−⎣ ⎦
2 3 11 2 11 12 5
A
−⎡ ⎤⎢ ⎥= −⎢ ⎥⎢ ⎥−⎣ ⎦
1
4 3 16 2 1
10 12 5A
−⎡ ⎤⎢ ⎥= ⎢ ⎥⎢ ⎥⎣ ⎦
2
2 4 11 6 11 10 5
A⎡ ⎤⎢ ⎥= −⎢ ⎥⎢ ⎥−⎣ ⎦
3
2 3 41 2 61 12 10
A
= = = 31 21 2 3, ,
AA Ax x x
A A A실제 계산을 수행해 보세요…
Page 14Numerical Analysisby Yang-Sae Moon
선형 연립 방정식의 이해
크레이머 법칙 적용의 문제점:
일반적으로, n x n 행렬의 행렬식을 계산하려면, O(n!)의 곱셈(나눗셈)과덧셈(뺄셈) 연산이 필요하다.
변수가 적은 경우에는 처리가 가능하나, 변수가 많아지면 (컴퓨터를 사용
해서도) 처리가 매우 어렵다.
크레이머크레이머(Cramer)(Cramer)의의 법칙법칙 (6/6)(6/6)
8
Page 15Numerical Analysisby Yang-Sae Moon
복소수복소수 방정식방정식 (1/5)(1/5)선형 연립 방정식의 이해
지금까지 다룬 연립 방정식에 있어서, 모든 계수는 실수라 가정하였다.
그러나, 보다 일반화하면 연립 방정식의 계수는 복소수이다.
예를 들어, 다음 연립 방정식에서 aij 및 bi 복소수인 경우이다.
+ + + =+ + + =
+ + + =
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 s a s a s ba s a s a s b
a s a s a s b+ + + = +
− + + − = −1 2
1 2
(3 4 ) (2 ) 4 8( 1 2 ) (6 4 ) 1 2
i s i s ii s i s i
복소수 계수를 갖는 연립 방정식의 경우, 해도 또한 복소수이다.
Page 16Numerical Analysisby Yang-Sae Moon
복소수복소수 방정식방정식 (2/5)(2/5)선형 연립 방정식의 이해
복소수의 성질: 실수부와 허수부가 서로 독립적이기 때문에 서로 분리해
서 다룰 수 있다.
다음은 이러한 독립성을 보여주는 복소수 덧셈과 곱셈의 예를 나타낸다.
( ) ( )+ + + = + + +( ) ( )a bi c di a c c d i
따라서, 연립 방정식의 각 계수를 실수부와 허수부로 구분하여 나타낸다.
= α +β
= λ + δ= +
ij ij ij
i i i
i i i
a ib is x y i
( ) ( )+ ⋅ + = − + +( ) ( )a bi c di ac bd ad bc i
9
Page 17Numerical Analysisby Yang-Sae Moon
복소수복소수 방정식방정식 (3/5)(3/5)선형 연립 방정식의 이해
원래 방정식을 실수부 및 허수부로 분리한 표기법으로 기술한다.
= α +β
= λ + δ= +
ij ij ij
i i i
i i i
a ib is x y i
+ + + =+ + + =
+ + + =
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 s a s a s ba s a s a s b
a s a s a s b
α +β + + α +β + + + α +β + = λ + δα +β + + α +β + + + α +β + = λ + δ
α +β + + α +β + + +
11 11 1 1 12 12 2 2 1 1 1 1
21 21 1 1 22 22 2 2 2 2 2 2
1 1 1 1 2 2 2 2
( )( ) ( )( ) ( )( )( )( ) ( )( ) ( )( ) ( )( ) ( )( ) (
n n n n
n n n n
m m m m
i x y i i x y i i x y i ii x y i i x y i i x y i i
i x y i i x y i α +β + = λ + δ)( )mn mn n n m mi x y i i
Page 18Numerical Analysisby Yang-Sae Moon
복소수복소수 방정식방정식 (4/5)(4/5)선형 연립 방정식의 이해
실수부와 허수부를 분리하여 실수 계수만을 가지는 연립 방정식을 구성
한다. 결과적으로, 원래의 2배의 방정식이 만들어진다.
α −β + α −β + + α −β = λα +β + α +β + + α +β = δα −β + α −β + + α −β = λα +β + α +β + + α +β = δ
α −β
11 1 11 1 12 2 12 2 1 1 1
11 1 11 1 12 2 12 2 1 1 1
21 1 21 1 22 2 22 2 2 2 2
21 1 21 1 22 2 22 2 2 2 2
1 1 1 1
n n n n
n n n n
n n n n
n n n n
m m
x y x y x yy x y x y xx y x y x yy x y x x x
x y + α −β + + α −β = λα +β + α +β + + α +β = δ
2 2 2 2
1 1 1 1 2 2 2 2
m m mn n mn n m
m m m m mn n mn n m
x y x yy x y x x y
변경한 후에는 실계수 연립 방정식 알고리즘을 사용하여 해를 찾는다.
10
Page 19Numerical Analysisby Yang-Sae Moon
선형 연립 방정식의 이해
복소수 방정식을 실계수 방정식으로 변경하는 예제
+ + + = +− + + − = −
1 2
1 2
(3 4 ) (2 ) 4 8( 1 2 ) (6 4 ) 1 2
i s i s ii s i s i
복소수복소수 방정식방정식 (5/5)(5/5)
− + − =+ + − =
− − + + =− + + − = −
1 1 2 2
1 1 2 2
1 1 1 1
1 1 1 1
3 4 2 43 4 2 8
2 6 4 12 6 4 2
x y x yy x x yx y x yy x y x
Page 20Numerical Analysisby Yang-Sae Moon
We are now We are now ……
선형 연립 방정식의 이해
가우스-조단 알고리즘
역진 대입법을 이용한 가우스 소거법
가우스-자이달 알고리즘
선형 연립 방정식
11
Page 21Numerical Analysisby Yang-Sae Moon
연립연립 방정식의방정식의 풀이풀이 예제예제 (1/2)(1/2)Gauss-Jordan Algorithm
다음과 같은 3원 1차 연립 방정식이 있다고 하자.
+ + =+ + =− + =
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
방정식에 대한 곱셈 및 덧셈을 통하여 다음과 같이 해를 구할 수 있다.
+ + =+ − = −− − = −
1 2 3
2 3
2 3
(1) 2 4 11(2) 6 19(3) 9 15 36
x x xx xx x
− × + − × +2 (1) (2), 4 (1) (3)
− × + × +2 (2) (1), 9 (2) (3)+ + =+ − = −
− = −
1 3
2 3
3
(1) 16 49(2) 6 19(3) 69 207
x xx x
x
Page 22Numerical Analysisby Yang-Sae Moon
연립연립 방정식의방정식의 풀이풀이 예제예제 (2/2)(2/2)Gauss-Jordan Algorithm
− × + × +2 (2) (1), 9 (2) (3)+ + =+ − = −
− = −
1 3
2 3
3
(1) 16 49(2) 6 19(3) 69 207
x xx x
x
− × + − × +16 9(3) (1), (3) (2)69 69
== −
− = −
1
2
3
(1) 1(2) 1(3) 69 207
xx
x
= = − =1 2 31, 1, 3x x x
이와 같이 방정식에 대한 상수 곱셈 및 방정식 간의 덧셈으로 해를 구하는
방식이 가우스-조던 방법이다.
12
Page 23Numerical Analysisby Yang-Sae Moon
가우스가우스--조단조단 방법의방법의 개념개념 (1/4)(1/4)Gauss-Jordan Algorithm
방정식에 대한 상수 곱셈, 방정식들간의 덧셈을 통하여 동치인 새로운 방
정식을 만들 수 있다.
가우스-조던 방법은 이러한 성질을 사용하여 연립 방정식을 해결한다.
n원 1차 연립 방정식에 대한 가우스-조단 방법은 다음과 같다.
+ + + =+ + + =
+ + + =
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
(1) (2) ( )
n n
n n
n n nn n n
a x a x a x ba x a x a x b
n a x a x a x b
1) 다음과 같은 연립 방정식에서,
Page 24Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm
2) 첫 번째 식에 얼마를 곱하여 다른 식과 덧셈을 하여, 다른 방정식에서 첫
번째 변수를 제거한다.
+ + + =
+ + =
+ + =
(1) (1) (1) (1)1 211 12 1 1
(1) (1) (1)222 2 2
(1) (1) (1)22
(1)
(2)
( )
nn
nn
nn n nn
a x a x a x b
a x a x b
n a x a x b
− ⋅ + − ⋅ + − ⋅ +31 121
11 11 11(1) (2), (1) (3), , (1) ( )na aa n
a a a
( )( )
( )
= = =
= ≠ =
= − = − ≠ ≥
(1) (0) (1) (0)
(1)
(0) (0)(1) (0) (0) (1) (0) (0)1 1
11(0) (0)11 11
, 1
0 1, 1
, 1, 2
ij ij i i
ij
i iij ij j i i
a a b b i
a i j
a aa a a b b b i j
a a
가우스가우스--조단조단 방법의방법의 개념개념 (2/4)(2/4)
13
Page 25Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm
3) 두 번째 식에 얼마를 곱하여 다른 식과 덧셈을 하여, 다른 방정식에서 두
번째 변수를 제거한다.
+ + =
+ + =
+ + =
(2) (2) (2)111 1 1
(2) (2) (2)222 2 2
(2) (2)
(1)
(2)
( )
nn
nn
nn n n
a x a x b
a x a x b
n a x b
− ⋅ + − ⋅ + − ⋅ +(1) (1)(1)32 212
(1) (1) (1)22 22 22
(2) (1), (2) (3), , (2) ( )na aa na a a
( )( )
( )
= = = ≤ ≤
= ≠ =
= − = − ≠ ≥
(2) (1) (2) (1)
(2)
(1) (1)(2) (1) (1) (2) (1) (1)2 2
22(1) (1)22 22
, 2,2
0 2, 2
, 2, 3
ij ij i i
ij
i iij ij j i i
a a b b i j n
a i j
a aa a a b b b i j
a a
가우스가우스--조단조단 방법의방법의 개념개념 (3/4)(3/4)
교재 p. 107의 수식에는 오류가 많습니다.강의 TP의 내용을 참조하시기 바랍니다.
Page 26Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm
4) 작업을 반복하면 결국 각 방정식의 좌변에는 하나의 변수만이 남게 된다.
− −
− −
− −
=
=
=
( 1) ( 1)111 1
( 1) ( 1)222 2
( 1) ( 1)
(1)
(2)
( )
n n
n n
n nnn n n
a x b
a x b
n a x b
5) 결국 해는 다음과 같이 구할 수 있다.
− − −
− − −= =( 1) ( 1) ( 1)1 2
1 2( 1) ( 1) ( 1)11 22
= , , ,…n n n
nnn n n
nn
b b bx x xaa a
상기 작업에서 각 단계를 피봇 주기(pivot cycle)이라 하고, 각 단계에서
선택되는 방정식을 피봇 방정식(pivot equation)이라 한다.
가우스가우스--조단조단 방법의방법의 개념개념 (4/4)(4/4)
14
Page 27Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm
− × + − × + − × +2 (1) (2), 4 (1) (3), 2 (1) (4)
가우스가우스--조단조단 방법의방법의 예제예제 (1/2)(1/2)
− − + = −− + − =+ − + =+ − − =
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
(1) 1(2) 2 6(3) 4 0(4) 2 2
x x x xx x x xx x x xx x x x
− − + = −+ − =+ − =+ − =
1 2 3 4
2 3 4
2 3 4
2 3 4
(1) 1(2) 3 3 8(3) 5 3 3 4(4) 3 3 4
x x x xx x xx x xx x x × + − × + − × +1 (2) (1), 5 (2) (3), 3 (2) (4)
+ − = −+ − =− + = −− + = −
1 3 4
2 3 4
3 4
3 4
(1) 2 2 7(2) 3 3 8(3) 12 12 36(4) 8 6 20
x x xx x x
x xx x × + × + − × +
2 3 8(3) (1), (3) (2), (3) (4)12 12 12
Page 28Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm가우스가우스--조단조단 방법의방법의 예제예제 (2/2)(2/2)
+ =+ = −
− + = −− =
1 4
2 4
3 4
4
(1) 0 1(2) 0 1(3) 12 12 36(4) 2 4
x xx x
x xx
× + × + − × +2 3 8(3) (1), (3) (2), (3) (4)
12 12 12
× + × + × +0 0 12(4) (1), (4) (2), (4) (3)2 2 2
== −
− = −− =
1
2
3
4
(1) 1(2) 1(3) 12 12(4) 2 4
xx
xx
= = − = = −1 2 3 41, 1, 1, 2x x x x
15
Page 29Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm
선형 의존적인 방정식이 있는 경우, 가우스-조단을 수행하는 과정에서 자
연스럽게 사라진다.
선형선형 의존과의존과 가우스가우스--조단조단
− =− + + =
+ −
1 2 3
1 2 3
1 2 3
(1) + 2 4(2) 3 3 (3) 3 5 3 = 11
x x xx x xx x x
− =
+ =
+
1 2 3
2
2
1(1) + 227(2) 5 27(3) = 52
x x x
x
x
− =
=
1 3
2
9(1)7
10(2) 7
(3) 0 = 0
x x
x
Page 30Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm
불일치가 있는 경우, 가우스-조단 방법에서는 진리 값이 거짓인 명제가
발생한다. (불능)
불일치와불일치와 가우스가우스--조단조단
− =− + + =
+ −
1 2 3
1 2 3
1 2 3
(1) 2 + 2 4(2) 3 3 (3) 3 5 3 = 8
x x xx x xx x x
− =
=
1 3
2
9(1)7
10(2) 7
(3) 5 = 2
x x
x
16
Page 31Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm
n원 연립 방정식에서 방정식의 개수가 n보다 작으면, 일반적으로 여러 개
의 근(혹은 무수한 근)이 존재할 수 있다. (부정)
부정과부정과 가우스가우스--조단조단
=− = −+ − +
1 2
1 2
2 3 4
(1) + 2(2) 3 (3) = 0
x xx x
x x x
= −
=
− + −
1
2
3 4
1(1)25(2) 25(3) =2
x
x
x x
Page 32Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm가우스가우스--조단조단 알고리즘알고리즘
procedure gauss-jordan(aij, bi: real numbers, n: integer){ aij are coefficients. (1 ≤ i,j ≤ n)}{ bi are results. (1 ≤ i ≤ n)}{ n is # of variables. (we assume that # of variables = # of equations.}
k := 1;while (k ≤ n) begin
i := 1;while (i ≤ n) begin
j := k+1;c := aik/akk;while (j ≤ n) begin
if i = k then aij := aij, bi := bi; {actually, this line is not required.}else if (i ≠ k) and (j = k) then aij := 0;else if (i ≠ k) and (j > k) then aij := aij – c⋅akj; j := j + 1;
endif i ≠ k then bi := bi – c⋅bk;i := i + 1;
endk := k + 1;
end
17
Page 33Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm가우스가우스--조단조단 프로그램프로그램 (1/3)(1/3)
입력을 파일에서 받아들이며, 각 피봇 주기별로 결과를 출력한다.
Page 34Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm가우스가우스--조단조단 프로그램프로그램 (2/3)(2/3)
18
Page 35Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm가우스가우스--조단조단 프로그램프로그램 (3/3)(3/3)
Page 36Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm
사용한 연립 방정식
가우스가우스--조단조단 프로그램프로그램 실행실행 결과결과 I (1/2)I (1/2)
+ + =+ + =− + =
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
입력 파일 구성
19
Page 37Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm가우스가우스--조단조단 프로그램프로그램 실행실행 결과결과 I (2/2)I (2/2)
Page 38Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm
사용한 연립 방정식
가우스가우스--조단조단 프로그램프로그램 실행실행 결과결과 II (1/2)II (1/2)
입력 파일 구성
+ + =− + + =
− − − = −− − − − = −
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
20
Page 39Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm가우스가우스--조단조단 프로그램프로그램 실행실행 결과결과 II (2/2)II (2/2)
Page 40Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm
사용한 연립 방정식
가우스가우스--조단조단 프로그램프로그램 실행실행 결과결과 III (1/2)III (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
21
Page 41Numerical Analysisby Yang-Sae Moon
Gauss-Jordan Algorithm가우스가우스--조단조단 프로그램프로그램 실행실행 결과결과 III (2/2)III (2/2)
Page 42Numerical Analysisby Yang-Sae Moon
We are now We are now ……
선형 연립 방정식의 이해
가우스-조단 알고리즘
역진 대입법을 이용한 가우스 소거법
가우스-자이달 알고리즘
Back substitution
22
Page 43Numerical Analysisby Yang-Sae Moon
역진역진 대입법의대입법의 동기동기 및및 삼각화삼각화 개념개념
가우스-조던의 문제점: n개의 변수를 갖는 n개의 방정식을 풀고자 할 경
우, 일반적으로 n2의 연산(곱셈, 덧셈 등)이 필요하다.
삼각화의 의미: 연립 방정식을 궁극적으로 다음과 같은 삼각형 형태로 나
타내는 방식을 의미한다.
Back substitution
− + =− =
−
1 2 3
2 3
3
2 42
= 7
x x xx x
x
역진 대입법: 삼각화된 연립 방정식을 마지막 방정식에서 시작하여 차례
로 대입하여 모든 변수의 해를 구하는 방식을 의미한다.
Page 44Numerical Analysisby Yang-Sae Moon
역진역진 대입법대입법(Back Substitution) (Back Substitution) 개념개념 (1/2)(1/2)
이 방법은 실제 우리가 “대입법”이라고 알고 있는 방법이다.
(역진) 대입법을 사용한 연립 방정식 풀이 예제
Back substitution
− − + = −− + − =+ − + =+ − − =
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 1x x x x
− − + = −+ − =+ − =+ − =
1 2 3 4
2 3 4
2 3 4
2 3 4
13 3 8
5 3 3 43 3 4
x x x xx x xx x xx x x
= − + +2 3 43 3 8x x x
23
Page 45Numerical Analysisby Yang-Sae Moon
역진역진 대입법대입법(Back Substitution) (Back Substitution) 개념개념 (2/2)(2/2)Back substitution
− − + = −+ − =
− + = −− + = −
1 2 3 4
2 3 4
3 4
3 4
13 3 8
12 12 368 6 20
x x x xx x xx xx x = +3 4 3x x
− − + = −+ − =
− + = −− =
1 2 3 4
2 3 4
3 4
4
13 3 8
12 12 362 4
x x x xx x xx x
x
= = − = = −1 2 3 41, 1, 1, 2x x x x
Page 46Numerical Analysisby Yang-Sae Moon
역진역진 대입법대입법 알고리즘알고리즘 및및 프로그램프로그램
가우스-조단 방법을 수정하여 알고리즘 및 프로그램을 만들 수 있다.
Back substitution
24
Page 47Numerical Analysisby Yang-Sae Moon
오차오차 방정식방정식 –– 동기동기
컴퓨터는 수를 표현하는 한계에 의하여 원하는 정확도의 답을 얻을 수 없
는 경우가 있다.
즉, 컴퓨터는 실수 연산에 대해 유효숫자 만을 다루기 때문에, 연산이 누
적될 수록 오차가 커지게 된다.
컴퓨터에서 오차가 발생하는 실제 예제
Back substitution
Page 48Numerical Analysisby Yang-Sae Moon
오차오차 방정식방정식 –– 개념개념 (1/3)(1/3)
오차가 발생한 경우, 오차들을 위한 방정식을 새롭게 만들어 더욱 정확한
해를 구하는 방식이다.
다음 연립 방정식
을 풀어서 나온 해가 와 같다고 하자.
그런데, 상기 해는 실제 해가 아니라 오차를 포함할 수 있다.
Back substitution
+ + + =+ + + =
+ + + =
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
n n
n n
n n nn n n
a x a x a x ba x a x a x b
a x a x a x b
1 2( , , , )…e e enx x x
25
Page 49Numerical Analysisby Yang-Sae Moon
오차오차 방정식방정식 –– 개념개념 (2/3)(2/3)
오차를 포함한 해 을 원래의 연립 방정식에 대입하면, 다음과 같이 새로운 bi
e 값을 구할 수 있다.
Back substitution
+ + + =
+ + + =
+ + + =
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2 2
e e e en n
e e e en n
e e e en n nn n
a x a x a x b
a x a x a x b
a x a x a x b
1 2( , , , )…e e enx x x
실제 해 와 오차를 포함한 해의 차이를 다음과 같이 둔다.1 2( , , , )… nx x x∆ = − ∆ = −
∆ = − ∆ = −
∆ = − ∆ = −
1 1 1 1 1 1
2 2 2 2 2 2
,
,
,
e e
e e
e en n n n n n
x x x b b b
x x x b b b
x x x b b b
Page 50Numerical Analysisby Yang-Sae Moon
오차오차 방정식방정식 –– 개념개념 (3/3)(3/3)
원래 방정식에서 새로운 방정식을 빼고, 이를 ∆를 사용하여 나타낸다.
Back substitution
∆ + ∆ + + ∆ = ∆∆ + ∆ + + ∆ = ∆
∆ + ∆ + + ∆ = ∆
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
n n
n n
n n nn n n
a x a x a x ba x a x a x b
a x a x a x b
상기 새로운 연립 방정식을 풀어서 ∆xi의 해를 구하고, 이를 사용하여 실
제 해(실은 오차가 더욱 줄어들어 실제 해에 가까워진 해)를 구한다.
= + ∆
= + ∆
= + ∆
1 1 1
2 2 2
e
e
en n n
x x x
x x x
x x x
26
Page 51Numerical Analysisby Yang-Sae Moon
오차오차 방정식방정식 –– 예제예제 (1/3)(1/3)
1) 다음과 같은 연립 방정식이 있다고 하자.
Back substitution
+ + + =− + + =− + + =
1 2 3
1 2 3
1 2 3
0.04 0.01 1.01 1.060.02 0.03 1.00 1.010.01 0.02 0.01 0.02
x x xx x xx x x
2) 이 방정식의 실제 해는 다음과 같다.
= = =1 2 31.000, 1.000, 1.000x x x
3) 만일, 컴퓨터가 세 개의 유효 숫자만 다루고 나머지를 버린다면, 다음과
같이 오차를 포함한 해가 나올 것이다.
= = =1 2 31.00, 1.14, 0.996e e ex x x
Page 52Numerical Analysisby Yang-Sae Moon
오차오차 방정식방정식 –– 예제예제 (2/3)(2/3)
4) 오차를 포함한 해를 원래 방정식에 대입하여 계산한다.
Back substitution
+ ⋅ + ⋅ + ⋅ =− ⋅ + ⋅ + ⋅ =− ⋅ + ⋅ + ⋅ =
0.04 1.00 0.01 1.14 1.01 0.996 1.057360.02 1.00 0.03 1.14 1.00 0.996 1.01020.01 1.00 0.02 1.14 0.01 0.996 0.02276
5) 세 개의 숫자만이 유효하므로, 결과 값을 다음과 같이 구할 수 있다.
= = =1 2 31.06, 1.01, 0.0228e e eb b b
27
Page 53Numerical Analysisby Yang-Sae Moon
오차오차 방정식방정식 –– 예제예제 (3/3)(3/3)Back substitution
6) 앞서 방정식 1)에서 5)를 서로 빼서 오차로 구성된 연립 방정식을 만든다.
+ ∆ + ∆ + ∆ =− ∆ + ∆ + ∆ = −− ∆ + ∆ + ∆ = −
1 2 3
1 2 3
1 2 3
0.04 0.01 1.01 0.002640.02 0.03 1.00 0.0002000.01 0.02 0.01 0.00276
x x xx x xx x x
7) 오차로 구성된 방정식을 (컴퓨터로) 풀면 다음 해를 구할 수 있다.
∆ = ∆ = − ∆ =1 2 30.0284, 0.0558, 0.00204x x x
= + ∆ =
= + ∆ =
= + ∆ =
1 1 1
2 2 2
3 3 3
1.028
1.084
0.998
e
e
e
x x x
x x x
x x x
8) 오차 변수의 해를 원래 방정식에 대입하여 좀 더 나은 해를 구한다.
Page 54Numerical Analysisby Yang-Sae Moon
We are now We are now ……
선형 연립 방정식의 이해
가우스-조단 알고리즘
역진 대입법을 이용한 가우스 소거법
가우스-자이달 알고리즘
Gauss-Seidal Algorithm
28
Page 55Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 방법의방법의 동기동기 (1/2)(1/2)Gauss-Seidal Algorithm
가우스-조단 방법 등은 방정식의 개수가 십 수개인 작은 연립 일차 방정
식에서 상당히 정확한 해를 제공한다.
반면에, 미지수(변수)의 개수가 수백~수천 개 이상인 연립 방정식의 경우,
1) 산술 연산의 수가 많아 계산 시간이 많이 걸리고,
2) 개별 연산에서 발생하는 오차가 누적되어 상당히 부정확한 해를
구하게 된다는 결함이 있다.
Page 56Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 방법의방법의 동기동기 (2/2)(2/2)Gauss-Seidal Algorithm
가우스-자이달 방법과 같은 반복 계산법은 미지수가 많은 연립 방정식의
해를 구하기 위한 방법으로서,1) 허용되는 오차를 조절함으로써 산술 연산의 수를 조정할 수 있으며,2) 이를 통해 실질적으로는 오차가 적은 해를 빠르게 구할 수 있다.
반복 계산법의 종류
• 자코비(Jacobi) 반복 계산법
• 가우스-자이달 반복 계산법
• SOR(Successive OverRelaxation)법
29
Page 57Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 방법의방법의 직관적직관적 설명설명Gauss-Seidal Algorithm
지금까지의 방법은 분석적 방법을 컴퓨터에 적용한 것이라 할 수 있다.
반면에, 가우스-자이달 방법은 수치해석적 방법이다. 즉,
1) 해를 계산 초기에 임의로 가정하고,
2) 다음 단계에서 이전 해를 사용하여 더 나은 해를 구성하고,
3) 상기 2)의 과정을 반복하여 원하는 수준의 해를 찾아낸다.
가우스-자이달 방법은 반복을 통하여 해를 구해내므로, 반복 계산법
(iteration method)에 해당한다.
Page 58Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 방법의방법의 예제예제 (1/2)(1/2)
다음 연립 방정식을 가우스-자이달 방법으로 해결한다.
Gauss-Seidal Algorithm
− − =− + − =
− − + = −
1 2 3
1 2 3
1 2 3
4 2 3.02 4 0.3
2 4 0.8
x x xx x x
x x x
초기값을 할당한다.(당연한 이야기지만, 초기값이 해에 가까울 수록 방정식이 빨리 풀린다.)
= = =(0) (0) (0)1 2 31.0, 1.0, 1.0x x x
첫 번째 방정식에서 첫 번째 변수를 제외한 다른 변수에 현재 해를 대입하
여 첫 번째 변수의 값을 구한다.
( ) ( )= + + ⋅ = + + ⋅ =(1) (0) (0)1 2 3
1 13 2 3 1 2 1 1.54 4
x x x
30
Page 59Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 방법의방법의 예제예제 (2/2)(2/2)
두 번째 방정식에서 두 번째 변수를 제외한 다른 변수에 현재 해를 대입하
여 두 번째 변수의 값을 구한다.
Gauss-Seidal Algorithm
세 번째 방정식에서 세 번째 변수를 제외한 다른 변수에 현재 해를 대입하
여 세 번째 변수의 값을 구한다.
다시 처음으로 돌아가서 원하는 정확도를 얻을 때까지 상기 과정을 반복
한다. 일반적으로 정확도는 다음과 같이 정의한다.
−=
−= ≤ ε∑ ( ) ( 1)
1n p p
i ii x xe
n
( ) ( )= + ⋅ + = + ⋅ + =(1) (1) (0)2 1 3
1 10.3 2 0.3 2 1.5 1 1.0754 4
x x x
( ) ( )= − + + ⋅ = − + + ⋅ =(1) (1) (1)3 1 2
1 10.8 2 0.8 1.5 2 1.075 0.71254 4
x x x
Page 60Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 방법의방법의 계산식계산식
가우스-자이달 방법의 해를 계산하는 식은 다음과 같다.
Gauss-Seidal Algorithm
−−
= = +
⎛ ⎞⎜ ⎟= − − +⎜ ⎟⎝ ⎠∑ ∑
1( ) ( ) ( 1)
1 1
1 i np p p
ij ij ii j jii j j i
x a x a x ba
( ) ( )= + + ⋅ = + + ⋅ =(1) (0) (0)1 2 3
1 13 2 3 1 2 1 1.54 4
x x x
( ) ( )= + ⋅ + = + ⋅ + =(1) (1) (0)2 1 3
1 10.3 2 0.3 2 1.5 1 1.0754 4
x x x
( ) ( )= − + + ⋅ = − + + ⋅ =(1) (1) (1)3 1 2
1 10.8 2 0.8 1.5 2 1.075 0.71254 4
x x x
31
Page 61Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 알고리즘알고리즘Gauss-Seidal Algorithm
procedure gauss-seidal(aij, bi, xi, ε: real numbers, n: integer){ aij are coefficients(1 ≤ i,j ≤ n)., bi are results(1 ≤ i ≤ n)., xi are initial values (1 ≤ i ≤ n).}{ ε is a user-specified tolerance.}{ n is # of variables. (we assume that # of variables = # of equations.}
e := ∞;while (e > ε) begin
i := 1;while (i ≤ n) begin
j := 1;while (j ≤ n) begin
j := j + 1;endi := i + 1;
end
end
−−
= = +
⎛ ⎞⎜ ⎟= − − +⎜ ⎟⎝ ⎠∑ ∑
1( ) ( ) ( 1)
1 1
1: ;i n
p p pij ij ii j j
ii j j ix a x a x b
a
−=
−=∑ ( ) ( 1)
1 ;n p p
i ii x xe
n
Page 62Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 프로그램프로그램 (1/4)(1/4)Gauss-Seidal Algorithm
32
Page 63Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 프로그램프로그램 (2/4)(2/4)Gauss-Seidal Algorithm
Page 64Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 프로그램프로그램 (3/4)(3/4)Gauss-Seidal Algorithm
33
Page 65Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 프로그램프로그램 (4/4)(4/4)Gauss-Seidal Algorithm
Page 66Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 프로그램프로그램 실행실행 결과결과 I(1/2)I(1/2)Gauss-Seidal Algorithm
사용한 연립 방정식
입력 파일 구성
− − =− + − =− − + = −
1 2 3
1 2 3
1 2 3
4 2 32 4 0.3
2 4 0.8
x x xx x xx x x
초기 해
1 2 2=1.0, =1.0, =1.0x x x
34
Page 67Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 프로그램프로그램 실행실행 결과결과 I(2/2)I(2/2)Gauss-Seidal Algorithm
Page 68Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 프로그램프로그램 실행실행 결과결과 II(1/2)II(1/2)Gauss-Seidal Algorithm
− − =− + − + =
− + − = −− + =
1 2 3
1 2 3 4
1 2 3 4
2 3 4
10 2 611 3 25
2 10 113 8 15
x x xx x x xx x x x
x x x
사용한 연립 방정식
입력 파일 구성
초기 해
1 2 3 4=0.0, =0.0, =0.0, =0.0x x x x
35
Page 69Numerical Analysisby Yang-Sae Moon
가우스가우스--자이달자이달 프로그램프로그램 실행실행 결과결과 II(2/2)II(2/2)Gauss-Seidal Algorithm
가우스-자이달 알고리즘의 경우, 방정식의 종류, 초기 해의 값에 따라서 발산하는
경우가 많이 발생한다. 또한, 현재는 컴퓨터 성능의 획기적 개선으로 인하여,가우
스-자이달 방법보다는 정확한 해를 구하는 가우스-조던 방법이 더욱 바람직하다.