Processing math: 100%

공학/수치해석

[수치해석] 가우스-자이델(Gauss-Seidel) 법

슬기나무 2021. 7. 30. 17:04
반응형

이번 포스팅에서는 선형대수방정식을 푸는 반복법 중 하나인

 

가우스-자이델(Gauss-seidel)법에 대해 알아보겠습니다.

(출처: Chapra의 응용수치해석 3rd edition, Steven C. Chapra 저)

 가우스-자이델(Gauss-Seidel)법

가우스-자이델 기법은 선형대수방정식을 푸는 반복법 중의 하나로,

 

제법 보편적으로 사용되는 방법입니다.

 

이 방법은 해를 구하기 위해 미지수 x을 가정해야 하며,

 

이를 연립방정식을 구성하는 각각 다른 방정식에 대입시켜

 

해를 수렴시켜가는 방법입니다.

 

초기값은 흔히 0으로 많이 시작합니다.

 

아래와 같이 주어지는 방정식이 있다고 해보죠.

 

[A]{x}={b}

 

만약 이 방정식이 3x3라면, 각 해를 구하기 위해 식을 아래와 같이 변형할 수 있습니다.

 

xj1=b1a12xj12a13xj13a11

xj2=b2a21xj11a23xj13a22

xj3=b3a31xj11a32xj12a33

 

즉, 구하고자 하는 해를 좌항에 두고 나머지를 모두 우항으로 옮긴 형태입니다.

 

이때 j는 반복횟수입니다.

 가우스-자이델(Gauss-Seidel)법 예제

아래와 같은 연립방정식을 풀어보죠.

 

3x10.1x20.2x3=7.85

0.1x1+7x20.3x3=19.3

0.3x10.2x2+10x3=71.4

 

참고로 위 방정식의 해는 각각 x1=3,x2=2.5,x3=7입니다.

 

각 해를 구하기 위해 식을 정리해봅시다.

 

x1=7.85+0.1x2+0.2x33

x2=19.30.1x1+0.3x37

x3=71.40.3x1+0.2x210

 

여기서 x2,x3의 초기값을 각각 0으로 가정하고 식 (1)을 풀어보죠.

 

1회 반복

 

x1=7.85+0.1(0)+0.2(0)3=2.6167

 

여기서 계산된 x1의 초기값과 x3=0을 식(2)에 대입합니다.

 

x2=19.30.1(2.6167)+0.3(0)7=2.7945

 

다시 여기서 계산된 x1,x2의 값을 식(3)에 대입합니다.

 

x3=71.40.3(2.6167)+0.2(2.7945)10=7.0056

 

이렇게 1회차 반복이 완료됩니다.

 

2회 반복

 

1회차에 계산된 값이 있으니 다시 식 (1)에 대입하여 계산합니다.

 

x1=7.85+0.1(2.7945)+0.2(7.0056)3=2.9906

 

x2=19.30.1(2.9906)+0.3(7.0056)7=2.4996

 

x3=71.40.3(2.9906)+0.2(2.4996)10=7.0002

 

2회만 반복했을 뿐인데도 정해에 제법 가까워 졌습니다.

 

위와 같은 반복으로 허용오차 이내에 진입하게 되면

 

반복을 종료하고 그 결과를 해로 결정하는 방법이 Gauss-Seidel법입니다.

 

 

여기까지 Gauss-Seidel법에 대해 알아보았습니다.

반응형