수치해석 (numerical analysis) 선형연립방정식 (simultaneous...

35
1 2005 2005가을학기 가을학기 문양세 문양세 컴퓨터과학과 컴퓨터과학과 강원대학교 강원대학교 자연과학대학 자연과학대학 수치해석 수치해석 (Numerical Analysis) (Numerical Analysis) 선형 선형 연립 연립 방정식 방정식 (Simultaneous Equations) (Simultaneous Equations) Page 2 Numerical Analysis by Yang-Sae Moon 선형 연립 방정식 In this chapter In this chapter … + = = 3 2 3 1 x y x y = = 1, 0 x y 선형 연립 방정식의 해를 구하는 문제를 다룬다. 선형 연립 방정식은 다음과 같은 연립 1차 방정식을 의미한다. We will cover … 선형 연립 방정식의 이해 가우스-조단 알고리즘 역진 대입법을 이용한 가우스 소거법 가우스-자이달 알고리즘

Upload: others

Post on 05-Dec-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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 …

• 선형 연립 방정식의 이해

• 가우스-조단 알고리즘

• 역진 대입법을 이용한 가우스 소거법

• 가우스-자이달 알고리즘

Page 2: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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) 없을 수도 있다(불능).

Page 3: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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)번 방정식에 선형 의존적이다.선형 의존인 방정식은 전체 해에 영향을 주지 않으므로,무시할 수 있다. (무시하는 것이 좋다.)

Page 4: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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)

Page 5: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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)을 사용하여 전개한다.

Page 6: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 7: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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)

Page 8: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 9: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

변경한 후에는 실계수 연립 방정식 알고리즘을 사용하여 해를 찾는다.

Page 10: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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 ……

선형 연립 방정식의 이해

가우스-조단 알고리즘

역진 대입법을 이용한 가우스 소거법

가우스-자이달 알고리즘

선형 연립 방정식

Page 11: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

이와 같이 방정식에 대한 상수 곱셈 및 방정식 간의 덧셈으로 해를 구하는

방식이 가우스-조던 방법이다.

Page 12: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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)

Page 13: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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)

Page 14: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 15: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 16: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 17: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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)

Page 18: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

입력 파일 구성

Page 19: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 20: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 21: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 22: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 23: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 24: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 25: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 26: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 27: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 28: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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)법

Page 29: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 30: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 31: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 32: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 33: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 34: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

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

Page 35: 수치해석 (Numerical Analysis) 선형연립방정식 (Simultaneous …cs.kangwon.ac.kr/~ysmoon/courses/2005_2/na/06.pdf · 1 2005년가을학기 문양세 컴퓨터과학과 강원대학교자연과학대학

35

Page 69Numerical Analysisby Yang-Sae Moon

가우스가우스--자이달자이달 프로그램프로그램 실행실행 결과결과 II(2/2)II(2/2)Gauss-Seidal Algorithm

가우스-자이달 알고리즘의 경우, 방정식의 종류, 초기 해의 값에 따라서 발산하는

경우가 많이 발생한다. 또한, 현재는 컴퓨터 성능의 획기적 개선으로 인하여,가우

스-자이달 방법보다는 정확한 해를 구하는 가우스-조던 방법이 더욱 바람직하다.