# 연립 방정식에 대한 행렬 해법 : 가우스 소거법

#### 가우스 소거법의 기본 개념

가우스 소거법은 연립 선형 방정식을 해석하는 데 사용되는 기본적인 방법 중 하나로, 시스템을 계단 행렬로 변환하여 해를 구하는 과정이다. 이 방법은 연립 방정식의 해를 구할 수 있는 체계적이고 기계적인 절차를 제공하며, 행렬 연산의 기초를 형성한다.

**가우스 소거법**은 행렬의 행 연산을 이용하여 주어진 연립 방정식을 점진적으로 단순화하여 최종적으로 계단 행렬, 또는 더 나아가 행 사다리꼴(감소 계단 행렬)로 변환한다. 이렇게 변환된 행렬은 보다 쉽게 해를 구할 수 있도록 한다.

가우스 소거법의 목표는 연립 방정식을 행렬 형태로 표현한 후, 주어진 행렬을 상삼각행렬 또는 계단행렬로 변환하여 후방대입법(back-substitution)을 통해 해를 찾는 것이다. 이는 연립 방정식의 해가 유일한 경우에도, 해가 없는 경우에도, 무수히 많은 해가 있는 경우에도 적용될 수 있다.

#### 행 연산과 행렬 변환

가우스 소거법에서 핵심이 되는 것은 세 가지 기본적인 행 연산이다. 이 연산들은 행렬을 변환하는 도구로 사용되며, 이를 통해 계단 행렬로 변환하는 과정을 진행한다.

\*\*행 교환(row swapping)\*\*은 두 행을 교환하는 연산이다. 이는 주로 피봇팅(pivoting) 과정에서 사용되며, 연산의 수치적 안정성을 향상시키기 위해 적용된다.

\*\*행 스칼라 곱(scaling)\*\*은 한 행의 모든 요소에 동일한 스칼라를 곱하는 연산이다. 이 연산은 특정 행의 피봇팅 요소를 1로 만들어 연산을 단순화하거나, 연산의 수를 줄이는 데 사용될 수 있다.

\*\*행 더하기(addition of rows)\*\*는 한 행에 다른 행의 스칼라 배를 더하는 연산이다. 이는 특정 요소를 제거하거나, 목표 행렬 형태로 변환하는 데 중요한 역할을 한다.

이러한 행 연산을 반복적으로 적용하여, 원래의 행렬을 계단 행렬 형태로 변환하게 된다.

#### 가우스 소거법의 절차

가우스 소거법은 여러 단계로 구성되어 있으며, 각 단계는 행렬의 구조를 점진적으로 단순화하는 데 중점을 둔다. 다음은 가우스 소거법의 기본 절차이다.

**초기 행렬 설정**은 연립 방정식을 행렬의 형태 $ Ax = b $로 변환하는 과정이다. 여기서 A는 계수 행렬, x는 변수 벡터, b는 결과 벡터이다. 이 행렬 표현을 통해 가우스 소거법을 적용할 준비를 한다.

**전진 소거(forward elimination)** 단계에서는 행 연산을 사용하여 행렬 A를 상삼각 행렬로 변환한다. 이 과정에서 첫 번째 열부터 시작하여 아래 행의 특정 요소를 제거하는 방식으로 진행된다. 각 단계에서 주어진 피봇팅 요소를 사용하여 아래쪽 행의 해당 요소들을 제거해 나간다.

이 과정은 연립 방정식에서 자유 변수(free variable)가 없는 경우에 대해, $ n \times n $ 행렬이 $ n $개의 독립적인 방정식을 포함할 때 유일한 해를 찾는 데 유용하다.

**후방 대입(back-substitution)** 단계는 전진 소거가 완료된 후 상삼각 행렬에서 해를 추출하는 과정이다. 가장 아래 행에서부터 시작하여 위로 올라가며 각 변수를 하나씩 구한다. 후방 대입은 상삼각 행렬의 구조를 활용하여 해를 효율적으로 구하는 방법이다.

#### 가우스 소거법의 변형과 고려사항

가우스 소거법은 기본적으로 간단한 연립 방정식을 해결하는 데 사용되지만, 수치적 안정성과 계산 효율성을 고려하여 여러 변형된 방법들이 존재한다.

\*\*부분 피봇팅(partial pivoting)\*\*은 수치적 안정성을 확보하기 위해 사용되는 방법으로, 각 단계에서 열의 절대값이 가장 큰 요소를 피봇으로 선택하고, 그 행을 맨 위로 이동시키는 것이다. 이는 연산 중에 발생할 수 있는 부동 소수점 오차를 줄이는 데 기여한다.

\*\*완전 피봇팅(full pivoting)\*\*은 부분 피봇팅을 확장한 방법으로, 행뿐만 아니라 열도 교환하여 가장 큰 피봇팅 요소를 선택한다. 이 방법은 가장 높은 수치적 안정성을 제공하지만, 계산량이 증가한다는 단점이 있다.

**특수 행렬에 대한 가우스 소거법**은 대칭 행렬, 대각 행렬 등 특수 구조를 가진 행렬에 대해 가우스 소거법을 최적화하여 적용하는 방법을 다룬다. 이러한 특수 행렬들은 가우스 소거법을 보다 효율적으로 적용할 수 있도록 한다.

이러한 변형된 방법들은 실제 계산에서의 정확성과 효율성을 높이는 데 중점을 두고 있다. 가우스 소거법을 적용할 때는 이러한 방법들을 고려하여 연산의 정확성과 속도를 최적화하는 것이 중요하다.

***

관련 자료:

* Elementary Linear Algebra by Howard Anton
* Introduction to Linear Algebra by Gilbert Strang
* Numerical Linear Algebra by Lloyd N. Trefethen and David Bau III
