본문 바로가기
수학/선형대수학

[선형대수학] 선형방정식과 역행렬

by science-all 2025. 2. 12.

선형연립방정식(System of Linear Equations) = 연립일차방정식


선형연립방정식의 일반형(기본형)

\[ \begin{array}{*{20}c} {a_{11} x_1 } & + & {a_{12} x_2 } & { + \cdots + } & {a_{1n} x_n } & = & {b_1 } \\ {a_{21} x_1 } & + & {a_{22} x_2 } & { + \cdots + } & {a_{2n} x_n } & = & {b_2 } \\ \vdots & {} & \vdots & {} & \vdots & = & \vdots \\ {a_{m1} x_1 } & + & {a_{m2} x_2 } & { + \cdots + } & {a_{mn} x_n } & = & {b_m } \\ \end{array} \]

  • \( n \)개의 미지수 \( x_1, x_2, \dots, x_M \)
  • \( m \)개의 선형연립방정식
  • 방정식의 계수가 \( a, b \)

행렬과 벡터 간의 곱셈 연산으로 표현한 선형연립방정식

\[ Ax = b \to \left[ {\begin{array}{*{20}c} {a_{11} } & {a_{12} } & \cdots & {a_{1n} } \\ {a_{21} } & {a_{22} } & \cdots & {a_{2n} } \\ \vdots & \vdots & \ddots & \vdots \\ {a_{m1} } & {a_{m2} } & \cdots & {a_{mn} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {x_1 } \\ {x_2 } \\ \vdots \\ {x_n } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {b_1 } \\ {b_2 } \\ \vdots \\ {b_n } \\ \end{array} } \right] \]

  • \( A \): 계수 행렬(Coefficient matrix), \(
    A = \left[ {\begin{array}{*{20}c}
       {a_{11} } & {a_{12} } &  \cdots  & {a_{1n} }  \\
       {a_{21} } & {a_{22} } &  \cdots  & {a_{2n} }  \\
        \vdots  &  \vdots  &  \ddots  &  \vdots   \\
       {a_{m1} } & {a_{m2} } &  \cdots  & {a_{mn} }  \\

     \end{array} } \right]
    \)
  • \( x \): 미지수 벡터(Unknown vector), \(
    x = \left[ {\begin{array}{*{20}c}
       {x_1 }  \\
       {x_2 }  \\
        \vdots   \\
       {x_n }  \\

     \end{array} } \right]
    \)
  • \( b \): 상수 벡터(Constant vector) , \(
    b = \left[ {\begin{array}{*{20}c}
       {b_1 }  \\
       {b_2 }  \\
        \vdots   \\
       {b_n }  \\

     \end{array} } \right]
    \)
  • '행들과의 내적이며, 열들의 선형결합'을 의미함

선형연립방정식의 해

\( n \) 개의 미지수를 갖는 \( m \)개의 방정식은 다음과 같은 조건에 따라 해를 구하는 방법이 다르다:

 

1) \( n = m \): 방정식 수가 미지수와 동일한 경우(계수 행렬 \( A \)는 정방행렬이 됨)

  • 만약 행렬식이 0이 아니라면(\(\det \left( A \right) \ne 0\)), 즉 계수가 선형 독립(Linearly independent)이라면 유일한 해(Unique solution)가 존재함. → 가우스 소거법 또는 역행렬을 이용하여 해를 품.
  • 하지만 계수가 선형 종속(Linearly dependent)인 경우(즉, 행렬식이 0이면), 해가 없거나 무수히 많을 수 있음.

2) \( n < m \): 방정식 수가 미지수보다 적은 경우

  • 일반적으로 무수히 많은 해가 존재함(Infinite solution)
  • 모순(Inconsistent) 발생 시 해가 없을 수 있음

3) \( n > m \): 방정식 수가 미지수보다 많은 경우

  • 일반적으로 해가 없음(No solution) → 최소자승(제곱)문제(Least squares problem)
  • 일부 방정식이 선형 종속이면 해가 존재할 수도 있음

 

가우스 소거법(Gauss elimination)을 이용한 연립방정식 풀이

가우스 소거법은 미지수가 n개인 선형연립방정식을 나타내는 행렬에 기본 행 연산(Elementary row operation)을 적용하여 행 사다리꼴 행렬(Row echelon form of matrix, REF matrix) 또는 상삼각행렬(Upper triangular matrix)로 만들어 해를 구하는 방법입니다.

기본 행 연산은 다음과 같은 세 가지 연산이 있습니다.

1. 두 행을 교환한다(Exchange)

2. 하나의 행에 0이 아닌 상수를 곱한다(Scailing)

3. 한 행을 다른 행에 상수를 곱하여 이 행에 더한 행으로 교체한다(Replacement)

 

이제 이해하기 쉽도록 3×3 시스템을 활용하여 간단한 예시를 들어보겠습니다.

\[
\begin{array}{*{20}c}
   {2x_1  + x_2  - x_3  = 8}  \\
   { - 3x_1  - x_2  + 2x_3  =  - 11}  \\
   { - 2x_1  + x_2  + 2x_3  =  - 3}  \\

 \end{array}  \to \left[ {\begin{array}{*{20}c}
   2 & 1 & { - 1}  \\
   { - 3} & { - 1} & 2  \\
   { - 2} & 1 & 2  \\

 \end{array} } \right]\left[ {\begin{array}{*{20}c}
   {x_1 }  \\
   {x_2 }  \\
   {x_3 }  \\

 \end{array} } \right] = \left[ {\begin{array}{*{20}c}
   8  \\
   { - 11}  \\
   { - 3}  \\

 \end{array} } \right]
\]

이제 위 연립방정식을 새로운 표기법인 첨가행렬(Augmented matrix) 형태로 표현하도록 하겠습니다.

\[
\left[ {\begin{array}{*{20}c}
   2 & 1 & { - 1} & | & 8  \\
   { - 3} & { - 1} & 2 & | & { - 11}  \\
   { - 2} & 1 & 2 & | & { - 3}  \\

 \end{array} } \right] = \left[ {A|b} \right]
\]

위 행렬은 계수 행렬에 상수 벡터를 첨가하였다고 해서 첨가행렬이라고 불립니다.

이제 기본 행 연산을 이용하여 첨가행렬을 행 사다리꼴 행렬 형태로 만들어보도록 하겠습니다.

먼저 1행에 3/2를 곱하여 2행에 더해주고, 3행에 1행을 더해주면

\[
\left[ {\begin{array}{*{20}c}
   2 & 1 & { - 1} & | & 8  \\
   0 & {\frac{1}
{2}} & {\frac{1}
{2}} & | & 1  \\
   0 & 2 & 1 & | & 5  \\

 \end{array} } \right]
\]

그 다음 2행에는 2를 곱해주고, 바뀐 2행에 2를 곱한 후 3행에 빼주면

\[
\left[ {\begin{array}{*{20}c}
   2 & 1 & { - 1} & | & 8  \\
   0 & 1 & 1 & | & 2  \\
   0 & 0 & { - 1} & | & 1  \\

 \end{array} } \right]
\]

위 행렬에서 0을 제외한 부분을 보시면 행 사다리꼴 형태를 띄므로 행사다리꼴 행렬이라고 부르며, 이와 같은 방법을 전진 소거법(Forward elimination)이라고 합니다.

게다가 이러한 전진 소거법을 이용하여 위와 같이 주대각선 아래의 값이 0인 행렬인 상삼각행렬(Upper triangular matrix)이 만들어질 수 있습니다(상삼각행렬을 \( U \)로 표기합니다).

또한, 이때 행렬의 행에서 왼쪽에서 시작하여 해당 행이 처음으로 0이 아닌 요소가 나오는 성분을 선행 성분(Leading entry) 또는 피봇(Pivot)라고 불립니다.

참고로, 일반적으로 전진 소거법을 사용하면 해를 구할 수 있는 피봇이 나올 수도 있지만, 실패할 수도 있습니다. 실패는 크게 일시적인 실패(피봇이 0)와 완전한 실패(무수히 많은 해이거나 해가 존재하지 않음(No solution)로 분류됨)로 구분되며, 일시적인 실패는 피봇이 0이여서 해당 행을 활용하여 변수를 제거할 수 없는 경우입니다. 일시적인 실패의 경우 다른 0이 아닌 피봇을 가지는 행과 위치를 교환하여 간단하게 해결할 수 있습니다. 반면에 완전한 실패의 경우 앞서 언급한 방법을 반복해 마지막까지 도달했는데도 불구하고 완료되지 못합니다. 

이제 상삼각행렬에서 해를 구하는 방법은 상삼각행렬을 아래에서 위로 해를 대입하여 푸는 역대입법(Back substitution)을 이용하면 된다. 즉, \(x_3  =  - 1\)인 것을 알고 있으니 3행을 2행에 대입하여 \(x_2  =  3\)를 도출할 수 있고, 도출한 \( x_3\)과 \(x_2\)를 1행에 대입하여  \(x_1  =  2\)임을 알 수 있습니다.

이러한 가우스 소거법은 큰 행렬에 대해서 계산량이 가우스-조던 소거법보다 상대적으로 적어 빠른 풀이 방법이라고 불립니다.

 

가우스-조던 소거법 (Gauss-Jordan elimination)을 이용한 연립방정식 풀이

가우스-조던(조르단) 소거법의 원리는 위에서 도출한 상삼각행렬에서 역대입법이 아닌 역 소거법(Backward elimination)을 이용하여 선행 성분을 제외한 요소를 모두 0으로 만든 뒤 scailing을 통해 선행 성분을 1로 만들어 단위 행렬(Indentity matrix)로 변환하여 해를 구하는 방법입니다. 앞에서 살펴본 예시 과정 중 상삼각행렬을 도출한 과정에서 가우스-조던 소거법으로 해를 구해보도록 하겠습니다.

\[
\begin{gathered}
  \left[ {\begin{array}{*{20}c}
   2 & 1 & { - 1} & | & 8  \\
   0 & 1 & 1 & | & 2  \\
   0 & 0 & { - 1} & | & 1  \\

 \end{array} } \right] \to \left[ {\begin{array}{*{20}c}
   2 & 1 & { - 1} & | & 8  \\
   0 & 1 & 0 & | & 3  \\
   0 & 0 & { - 1} & | & 1  \\

 \end{array} } \right] \hfill \\
   \to \left[ {\begin{array}{*{20}c}
   2 & 1 & 0 & | & 7  \\
   0 & 1 & 0 & | & 3  \\
   0 & 0 & { - 1} & | & 1  \\

 \end{array} } \right] \to \left[ {\begin{array}{*{20}c}
   2 & 0 & 0 & | & 4  \\
   0 & 1 & 0 & | & 3  \\
   0 & 0 & { - 1} & | & 1  \\

 \end{array} } \right] \hfill \\
   \to \left[ {\begin{array}{*{20}c}
   1 & 0 & 0 & | & 2  \\
   0 & 1 & 0 & | & 3  \\
   0 & 0 & 1 & | & { - 1}  \\

 \end{array} } \right] \hfill \\ 
\end{gathered} 
\]

이와 같은 상삼각행렬이 단위행렬 형태로 도출이 되었으며, 이러한 첨가행렬의 형태를 기약 행 사다리꼴 행렬(Reduced row echelan form, RREF)이라고 합니다. 또한, 이러한 원리는 역행렬을 도출하는 방법과 같습니다.


역행렬


\( A \)가 정사각행렬(정방행렬, Square matrix)일 때, \( A \)의 행렬식(determinant)이 0이 아니라면 역행렬 \( A^{-1} \)이 존재한다.

  • 역행렬이 존재하는 행렬: 가역행렬(Invertible matrix), 정칙행렬(Regular matrix), 비특이행렬(Non-singular matrix)
  • 역행렬이 존재하지 않는 행렬: 비가역행렬(non-invertible matrix), 특이행렬(Singular matrix), 퇴화행렬(Degenerate matrix)
  • 가역성(Invertibility): 역행렬 \( A^{-1} \)이 존재할 때 → \(A^{ - 1} A = AA^{ - 1}  = I\)
  • 행렬 \( A \)와 \( B \)가 가역일 때, \( AB \)도 가역이다 → \(\left( {AB} \right)^{ - 1}  = B^{ - 1} A^{ - 1}\)
  • 전치행렬의 역행렬은 역행렬의 전치행렬과 같다 → \(\left( {A^T } \right)^{ - 1}  = \left( {A^{ - 1} } \right)^T\)
  • 대각행렬의 역행렬은 각 대각성분의 역수로 이루어진 대각행렬과 같다. \[
    \left[ {\begin{array}{*{20}c}
       {\lambda _{11} } & 0 &  \cdots  & 0  \\
       0 & {\lambda _{22} } &  \ldots  & 0  \\
        \vdots  &  \vdots  &  \ddots  &  \vdots   \\
       0 & 0 &  \ldots  & {\lambda _{mm} }  \\

     \end{array} } \right]^{ - 1}  = \left[ {\begin{array}{*{20}c}
       {\frac{1}
    {{\lambda _{11} }}} & 0 &  \cdots  & 0  \\
       0 & {\frac{1}
    {{\lambda _{22} }}} &  \ldots  & 0  \\
        \vdots  &  \vdots  &  \ddots  &  \vdots   \\
       0 & 0 &  \ldots  & {\frac{1}
    {{\lambda _{mm} }}}  \\

     \end{array} } \right]
    \]
  • 2×2 \( A \) 행렬의 역행렬 계산:\[
    A = \left[ {\begin{array}{*{20}c}
       a & b  \\
       c & d  \\

     \end{array} } \right] \to A^{ - 1}  = \frac{1}
    {{\det \left( A \right)}}\left[ {\begin{array}{*{20}c}
       d & { - b}  \\
       { - c} & a  \\

     \end{array} } \right],\,\det \left( A \right) = ad - bc
    \]

 

 

 

 

'수학 > 선형대수학' 카테고리의 다른 글

[선형대수학] 직교 행렬과 대칭 행렬  (0) 2025.02.16