devlog.

소거법, 행 사다리꼴, 가우스 소거법: 선형대수 기초 2장

·12분 읽기·

1장에서는 선형방정식 시스템의 개념과 행렬의 특이성, 행렬식을 배웠습니다. 이번 글에서는 실제로 방정식 시스템을 푸는 방법을 다룹니다. 소거법(Elimination)부터 시작해 행 사다리꼴, 가우스 소거법, 그리고 랭크(Rank)까지 이어집니다.

이 글은 DeepLearning.AI의 Mathematics for Machine Learning and Data Science 1주차 내용을 기반으로 정리했습니다.

이번 글에서 배우는 것#

  • 소거법(Elimination) 으로 선형방정식 시스템 풀기
  • 행 축소(Matrix Row Reduction) 로 행렬을 이용한 풀이
  • 행 사다리꼴(Row Echelon Form, REF)기약 행 사다리꼴(RREF) 계산
  • 랭크(Rank) 를 구하고, 랭크로 해의 개수 판단하기

비특이 시스템 풀기 — 소거법#

소거법은 방정식들을 조합해 변수를 하나씩 제거하며 해를 구하는 방법입니다.

예시:

{a+b=11ab=5\begin{cases} a + b = 11 \\ a - b = -5 \end{cases}

두 방정식이 모두 참이면, 두 방정식을 더하거나 빼도 여전히 참입니다.

1단계 — 두 방정식을 더함:

(a+b)+(ab)=11+(5)(a + b) + (a - b) = 11 + (-5)

2a=6a=32a = 6 \quad \Rightarrow \quad a = 3

2단계 — a=3a = 3 대입:

3+b=11b=83 + b = 11 \quad \Rightarrow \quad b = 8

검증: 3+8=113 + 8 = 11 ✓, 38=53 - 8 = -5

핵심 원리: 방정식이 참이면, 그 방정식의 합/차/스칼라배도 항상 참입니다. 이것이 소거법의 수학적 근거입니다.


특이 시스템 풀기#

자유도 1 — 무한히 많은 해#

{a+b=52a+2b=10\begin{cases} a + b = 5 \\ 2a + 2b = 10 \end{cases}

2번 방정식에서 1번 방정식의 2배를 빼면:

(2a+2b)2(a+b)=1010(2a + 2b) - 2(a + b) = 10 - 10

0=00 = 0

이 결과는 항등식(항상 참)입니다. 즉 두 방정식이 동일한 정보를 담고 있으므로, aa 는 어떤 값이든 될 수 있고 b=5ab = 5 - a 로 따라갑니다.

이를 자유도 1(1 degree of freedom) 이라고 합니다. 자유롭게 선택할 수 있는 변수가 1개이기 때문입니다.

해 없음 — 모순 시스템#

{a+b=52a+2b=12\begin{cases} a + b = 5 \\ 2a + 2b = 12 \end{cases}

2번 방정식에서 1번 방정식의 2배를 빼면:

0=20 = 2

이는 불가능한 등식입니다. 이 시스템은 해가 없습니다(no solution).


더 많은 변수가 있는 시스템#

3변수 시스템도 같은 원리로 풀 수 있습니다.

{x+y+z=62x+y+z=8x+2y+z=9\begin{cases} x + y + z = 6 \\ 2x + y + z = 8 \\ x + 2y + z = 9 \end{cases}

1단계 — 1행을 이용해 2행, 3행에서 xx 소거:

  • R2R22R1R_2 \leftarrow R_2 - 2R_1: yz=4\quad -y - z = -4
  • R3R3R1R_3 \leftarrow R_3 - R_1: y+0z=3\quad y + 0z = 3

2단계y=3y = 3 대입:

3z=4z=1-3 - z = -4 \Rightarrow z = 1

3단계 — 역대입(back substitution):

x+3+1=6x=2x + 3 + 1 = 6 \Rightarrow x = 2

해: x=2, y=3, z=1x = 2,\ y = 3,\ z = 1


행 축소 (Matrix Row Reduction)#

방정식 대신 행렬로 같은 과정을 표현할 수 있습니다.

{a+b=112ab=2[1121]\begin{cases} a + b = 11 \\ 2a - b = 2 \end{cases} \quad \Rightarrow \quad \begin{bmatrix} 1 & 1 \\ 2 & -1 \end{bmatrix}

행 연산 수행 (R2R22R1R_2 \leftarrow R_2 - 2R_1):

[1103]\begin{bmatrix} 1 & 1 \\ 0 & -3 \end{bmatrix}

이 형태가 행 사다리꼴(Row Echelon Form) 입니다. 여기서 3b=24b=8-3b = -24 \Rightarrow b = 8, 이후 a=3a = 3 을 구할 수 있습니다.

기약 행 사다리꼴(Reduced Row Echelon Form, RREF) 은 완전히 해가 분리된 형태입니다:

[1001]a=3, b=8\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \quad \Rightarrow \quad a = 3,\ b = 8

특이 시스템의 행 사다리꼴#

특이 시스템의 경우, 소거 후 행이 [0  0][0\ \ 0] 이 됩니다.

[1122]R22R1[1100]\begin{bmatrix} 1 & 1 \\ 2 & 2 \end{bmatrix} \xrightarrow{R_2 - 2R_1} \begin{bmatrix} 1 & 1 \\ 0 & 0 \end{bmatrix}

두 번째 행이 전부 0이므로 해가 무한히 많습니다(자유도 1).


행 사다리꼴의 3가지 규칙#

행 사다리꼴(REF)을 만족하려면 다음 조건이 필요합니다.

  1. 대각 원소(pivot) 는 0 또는 1
  2. 대각 아래쪽은 항상 0
  3. 대각 위쪽은:
    • 대각 원소가 1이면 어떤 수도 가능
    • 대각 원소가 0이면 반드시 0
REFRREF
대각 아래00
대각 위자유0
대각 원소0 또는 10 또는 1

특이성을 보존하는 행 연산#

방정식에 적용하던 연산을 행렬의 행에도 동일하게 적용할 수 있습니다. 중요한 것은 이 연산들이 행렬의 특이성을 변경하지 않는다는 점입니다.

연산예시특이성 보존 여부
두 행 교환R1R2R_1 \leftrightarrow R_2✅ 보존
한 행에 다른 행을 더함R2R2+R1R_2 \leftarrow R_2 + R_1✅ 보존
한 행에 스칼라 곱R13R1R_1 \leftarrow 3R_1✅ 보존
행의 모든 원소에 상수 더함R1R1+5R_1 \leftarrow R_1 + 5❌ 보존 안 됨

주의: 행의 모든 원소에 고정 상수를 더하는 것은 특이성을 바꿀 수 있으므로 허용되지 않습니다.


행렬의 랭크 (Rank)#

랭크(Rank) 는 행렬이 담고 있는 실질적인 정보의 양입니다.

  • 행 사다리꼴로 변환했을 때, 0이 아닌 행의 수 = 랭크
  • 선형 독립인 행의 최대 개수

[1234]REF[1202]rank=2(비특이)\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \xrightarrow{\text{REF}} \begin{bmatrix} 1 & 2 \\ 0 & -2 \end{bmatrix} \quad \Rightarrow \quad \text{rank} = 2 \quad \text{(비특이)}

[1224]REF[1200]rank=1(특이)\begin{bmatrix} 1 & 2 \\ 2 & 4 \end{bmatrix} \xrightarrow{\text{REF}} \begin{bmatrix} 1 & 2 \\ 0 & 0 \end{bmatrix} \quad \Rightarrow \quad \text{rank} = 1 \quad \text{(특이)}

랭크와 해의 관계#

n×nn \times n 행렬(n개 변수, n개 방정식)에서:

랭크해의 수시스템
rank=n\text{rank} = n유일해 1개비특이
rank<n\text{rank} < n0개 또는 무한특이

가우스 소거법 (Gaussian Elimination)#

가우스 소거법은 첨가 행렬(augmented matrix) — 계수 행렬과 상수 열을 합친 행렬 — 에 행 연산을 적용해 해를 구하는 체계적인 알고리즘입니다.

단계별 예시#

{x+2y+z=72x+y+z=8x+y+2z=8\begin{cases} x + 2y + z = 7 \\ 2x + y + z = 8 \\ x + y + 2z = 8 \end{cases}

첨가 행렬:

[121721181128]\left[\begin{array}{ccc|c} 1 & 2 & 1 & 7 \\ 2 & 1 & 1 & 8 \\ 1 & 1 & 2 & 8 \end{array}\right]

1단계R2R22R1R_2 \leftarrow R_2 - 2R_1, R3R3R1R_3 \leftarrow R_3 - R_1:

[121703160111]\left[\begin{array}{ccc|c} 1 & 2 & 1 & 7 \\ 0 & -3 & -1 & -6 \\ 0 & -1 & 1 & 1 \end{array}\right]

2단계R3R313R2R_3 \leftarrow R_3 - \frac{1}{3}R_2:

[1217031600433]\left[\begin{array}{ccc|c} 1 & 2 & 1 & 7 \\ 0 & -3 & -1 & -6 \\ 0 & 0 & \frac{4}{3} & 3 \end{array}\right]

이제 행 사다리꼴(REF) 완성입니다.

3단계 — 역대입(Back Substitution):

43z=3z=94\frac{4}{3}z = 3 \Rightarrow z = \frac{9}{4}

3y94=6y=54-3y - \frac{9}{4} = -6 \Rightarrow y = \frac{5}{4}

x+254+94=7x=94x + 2 \cdot \frac{5}{4} + \frac{9}{4} = 7 \Rightarrow x = \frac{9}{4}

알고리즘 요약: 전진 소거(Forward Elimination)로 REF를 만들고 → 역대입(Back Substitution)으로 해를 구한다.


핵심 정리#

개념설명
소거법두 방정식을 더하거나 빼서 변수를 제거
행 사다리꼴 (REF)대각 아래가 0인 중간 단계 행렬
기약 행 사다리꼴 (RREF)대각 위아래 모두 0, 완전히 풀린 형태
랭크0이 아닌 행의 수 = 실질 정보의 양
가우스 소거법첨가 행렬에 행 연산을 적용해 체계적으로 풀기
자유도자유롭게 선택할 수 있는 변수의 수 (특이 시스템)

퀴즈#

Q1. 다음 시스템을 소거법으로 푸세요.

{3x+2y=1xy=3\begin{cases} 3x + 2y = 1 \\ x - y = 3 \end{cases}

정답 보기

R1R13R2R_1 \leftarrow R_1 - 3R_2: (3x+2y)3(xy)=19(3x + 2y) - 3(x - y) = 1 - 9

5y=8y=855y = -8 \Rightarrow y = -\frac{8}{5}

x=3+y=385=75x = 3 + y = 3 - \frac{8}{5} = \frac{7}{5}

해: x=75, y=85x = \dfrac{7}{5},\ y = -\dfrac{8}{5}


Q2. 다음 행렬을 행 사다리꼴(REF)로 변환하고 랭크를 구하세요.

[123246011]\begin{bmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 0 & 1 & 1 \end{bmatrix}

정답 보기

R2R22R1R_2 \leftarrow R_2 - 2R_1:

[123000011]\begin{bmatrix} 1 & 2 & 3 \\ 0 & 0 & 0 \\ 0 & 1 & 1 \end{bmatrix}

R2R3R_2 \leftrightarrow R_3 (행 교환):

[123011000]\begin{bmatrix} 1 & 2 & 3 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{bmatrix}

0이 아닌 행이 2개이므로 rank = 2 (특이 행렬).


Q3. 다음 중 행렬의 특이성을 보존하지 않는 연산은?

  1. 두 행을 교환한다
  2. 한 행에 다른 행을 더한다
  3. 모든 원소에 5를 더한다
  4. 한 행에 3을 곱한다
정답 보기

3번 — 행의 모든 원소에 고정 상수를 더하는 것은 방정식 연산에 해당하지 않으므로 특이성을 바꿀 수 있습니다.

1, 2, 4번은 모두 허용된 행 연산으로 특이성을 보존합니다.


Q4. 다음 시스템의 랭크와 해의 종류를 판단하세요.

{x+y=32x+2y=63x+3y=9\begin{cases} x + y = 3 \\ 2x + 2y = 6 \\ 3x + 3y = 9 \end{cases}

정답 보기

첨가 행렬:

[113226339]\left[\begin{array}{cc|c} 1 & 1 & 3 \\ 2 & 2 & 6 \\ 3 & 3 & 9 \end{array}\right]

R2R22R1R_2 \leftarrow R_2 - 2R_1, R3R33R1R_3 \leftarrow R_3 - 3R_1 적용 후:

[113000000]\left[\begin{array}{cc|c} 1 & 1 & 3 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{array}\right]

rank = 1, 자유도 = 1 → 무한히 많은 해 (특이 시스템)

세 방정식이 모두 동일한 정보를 담고 있습니다.


다음 글에서는 벡터 연산(합, 차, 점곱, 노름), 선형 변환, 행렬 곱셈, 역행렬, 그리고 이것이 뉴럴 네트워크(퍼셉트론) 에서 어떻게 쓰이는지를 다룰 예정입니다.

관련 포스트