본문 바로가기

공학 문제해결/수학

【수치해석】 Gauss-Seidel법, Jacobi 반복법 예제 풀이

반응형
"이 사람을 만나 사랑을 할 수 있게 해주셔서 감사해요."

"닮아가는 서로를 보며 행복을 느끼게 해주셔서 감사해요."



안녕하세요. 이번 포스팅에서는 수치해석 중에서 Gauss-Seidel법Jacobi 반복법에 대해 알아보도록 하겠습니다. 1차 선형방정식 2개를 예시로 가져와서 풀이해보겠습니다. 두 방법다 반복적으로 계산하여 방정식의 정답을 찾아가는 과정이기 때문에, 3~4번 정도만 반복해보고 정답과 비교해보도록 하겠습니다. 어느 방정식에서 어느 방법을 사용하느냐의 문제는 이번 예제에서는 고려하지 않겠습니다. 수치해석적인 방법에는 여러가지가 존재하기 때문에 다양한 조건을 비교해봐야합니다. 이번 예제는 다음과 같은 선형방정식 2개를 가지고 풀어보겠습니다.

<예제로 풀 선형 방정식 2개>


  1. Guass-Seidel법 (가우스-사이달법) 풀이

1-1) 우선, 첫번째 방정식으로 x1을 남기고 우측으로 넘겨주고, 두번째 방정식으로 x2만 남기고 우측으로 넘겨줍니다. 그리고 변수가 2개밖에 없는 선형방정식이기 때문에 답을 바로 아실 수 있으실 텐데요. 답은 x1 =1, x2 =2입니다. 참고만하고 그대로 풀어보겠습니다.


1-2) 다음으로, 위 방정식에서 x1 = x2 = 0 으로 가정하여 대입합니다. 이때가 1번째 계산입니다.


위와 같이 각 변수의 값을 1번째 계산으로 부터 구할 수 있습니다. 이때, 두번째줄에 있는 x2에는 바로 위에서 구한, x1이 대입된다는 점을 주의해야합니다.

1-3) 다음으로 2번째 계산입니다. 바로 위에서 구한 값들을 다음 차례에 계속 대입합니다.


1-4) 다음으로 3번째 계산입니다. 주의! 무조건 다음 계산에 바로 이전에 계산된 모든 값들을 대입해야합니다.


위와 같이, 3번째 계산을 했습니다. x1은 1.0625로 참값인 1과 아주 가까운 상태이고, x2도 1.96875이므로 참값인 2와 아주 가까운 상태입니다. 이대로 1~2번 정도 더 계산해주면 참값과 아주 근접한 값을 얻을 수 있습니다. 가우스-사이달법은 이러한 방법으로 선형 방정식의 참값을 구하는 수치해석적 방법입니다. 아래에서도 같은 방정식으로 Jacobi 반복법을 통해서 문제를 풀어볼텐데 아주 비슷하다는 것을 알 수 있을 겁니다.



  1. Jacobi (자코비) 반복법 풀이

이번 방법은 위에서 소개된 Guass-Seidel법과는 조금 다릅니다. 다른 부분은 다음 계산때까지 계산된 모든 변수의 값을 이전 계산에서 사용된 값을 그대로 이용한다는 것입니다. 자세한 것은 문제풀이를 통해 보여드리겠습니다.

2-1) 처음 식은 위 가우스-사이달법의 1-1)방법과 동일하게 아래처럼 x1, x2를 정의합니다.


2-2) 첫번째 계산입니다. x1 = x2 = 0으로 가정하여 대입합니다.


여기서 중요한 주의할 점은, x2를 계산할 때에 처음 가정한 0의 값을 대입했다는 것입니다. 이전 가우스-사이달법에서는 x1을 구하자마자 x2에 대입했습니다. 하지만, 자코비 반복법에서는 다음 계산때까지는 절대로 이전의 계산값을 대입하지 않습니다. 

2-3) 두번째 계산입니다. 위에서 계산된 x1, x2를 대입합니다.


2-4) 세번째 계산입니다.


2-5) 네번째 계산입니다.


위와 같이 네번째까지 계산함으로, 참값인 1과 2에 어느정도 근접해보입니다. 가우스-사이달법보다 이번에는 참값에 수렴하는 속도가 많이 느립니다. 위 문제에서는 3번만에 참값에 가까워졌지만, 이번 문제는 4번의 계산에도 불구하고 아직 참값에 근접하지 못했습니다. 이번 방정식에서는 이렇게 가우스-사이달법이 더 우수한 성질을 나타냈습니다. 하지만, 다른 방정식은 특성 자체가 달라지기 때문에 자코비 반복법이 더 우수한 성질을 나타낼 때도 있다는 점 알아주시길 바랍니다. 이상! 궁금한 점은 댓글을 남겨주시길 바랍니다. 



반응형
LIST