Ax = b를 풀었더니 답이 무수히 많이 나오는 경우가 있다. 이걸 어떻게 한 줄로 깔끔하게 표현하느냐가 이번 과제의 핵심이었는데, 답은 "아무 해 하나 + 동차 해 전부"라는 형태로 분해된다는 거였다. 이걸 한 번 익혀두니 동차/비동차 풀이가 사실상 같은 작업이 됐고, 나중에 미분방정식에서도 거의 똑같은 패턴이 또 나온다고 해서 신기했다.
동차(homogeneous)는 Ax = 0처럼 우변이 모두 0인 경우고, 비동차(nonhomogeneous)는 Ax = b처럼 우변에 0이 아닌 값이 있는 경우다. 동차는 무조건 x = 0이라는 자명해를 가지니까, 여기서 궁금한 건 "해가 있냐 없냐"가 아니라 "자명해 말고 다른 해가 있느냐"다.
David Lay 1.5절 Theorem 6은 이렇게 말한다. Ax = b가 어떤 b에 대해 해를 가진다고 하고, p를 그 해 하나(특수해)라고 하면, Ax = b의 해 집합은 w = p + vₕ 형태의 모든 벡터의 집합이다. 여기서 vₕ는 동차 방정식 Ax = 0의 임의의 해다. 풀어서 말하면 비동차의 일반해는 비동차의 특수해 하나에 동차의 일반해 전부를 더한 것과 같다.
왜 이게 성립하는지는 증명이 짧아서 직접 따라가 보는 게 빠르다. p가 Ax = b의 한 해라고 하면 Ap = b고, vₕ가 Ax = 0의 한 해라고 하면 Avₕ = 0이다. w = p + vₕ를 A에 넣으면 A(p + vₕ) = Ap + Avₕ = b + 0 = b가 되니까 w도 Ax = b의 해다. 반대로 w가 Ax = b의 어떤 해라고 하면 A(w - p) = Aw - Ap = b - b = 0이라서 w - p는 Ax = 0의 해가 되고, vₕ = w - p로 두면 w = p + vₕ 형태로 항상 쓸 수 있다.
기하학적으로 보면 이게 왜 자연스러운지 더 잘 보인다. Ax = 0의 해 집합은 항상 원점을 지나는 직선이나 평면이고, Ax = b의 해 집합은 그걸 p만큼 통째로 평행 이동한 것이다. 벡터 p는 원점에서 그 평면이나 직선이 어디로 옮겨졌는지 알려주는 이정표고, 방향(vₕ)은 그대로인 채 시작점만 옮겨진 셈이다.
과제 6번은 동차 방정식이었다.
x + 3y - 5z = 0
x + 4y - 8z = 0
-3x - 7y + 9z = 0
가우스 소거법으로 풀면 RREF가
[ 1 0 4 | 0 ]
[ 0 1 -3 | 0 ]
[ 0 0 0 | 0 ]
이 나오고, x = -4z, y = 3z, z는 자유 변수라서 매개변수 벡터로 정리하면 x = z·(-4, 3, 1)이다. 원점을 지나는 직선이고 방향은 (-4, 3, 1)이다.
20번은 계수가 똑같고 우변만 비동차였다.
x + 3y - 5z = 4
x + 4y - 8z = 7
-3x - 7y + 9z = -6
계수 행렬이 6번과 같으니 행 연산 결과도 거의 같고 우변만 따라온다. RREF는
[ 1 0 4 | -5 ]
[ 0 1 -3 | 3 ]
[ 0 0 0 | 0 ]
x₁ = -5 - 4z, x₂ = 3 + 3z, z는 자유라서 x = (-5, 3, 0) + z·(-4, 3, 1)로 정리된다. 특수해 p = (-5, 3, 0)이고 동차해 vₕ는 6번에서 구한 것과 정확히 같다.
6번은 원점을 지나는 직선, 20번은 같은 직선을 p = (-5, 3, 0)만큼 평행 이동한 직선이다. 방향 벡터가 (-4, 3, 1)로 똑같으니 두 직선은 평행하다. 과제에서 두 문제를 비교하라던 게 바로 이 결론이었다.
특수해 p는 하나로 정해지는 게 아니다. 해가 무수히 많을 때 그중 아무거나 골라도 p로 쓸 수 있는데, 보통 자유 변수에 0을 대입한 해가 가장 깔끔하다. 20번에서 z = 0을 대입하면 p = (-5, 3, 0)이 나오지만 z = 1을 잡아서 p' = (-9, 6, 1)을 골라도 똑같이 정답이다. 다만 형태가 더 지저분해질 뿐이다.
동차 시스템은 항상 일관적(consistent)이다. 비동차는 0 = nonzero 모순이 나와서 해가 없을 수 있지만, 동차는 우변이 다 0이라 그런 모순이 절대 안 나온다. 최소한 자명해 x = 0은 항상 있기 때문이다.
자유 변수 개수가 곧 동차해의 차원이다. Ax = 0을 풀어서 자유 변수가 1개면 직선, 2개면 평면, 3개면 3차원 부분공간 식이다. Ax = b의 해 집합 차원도 똑같은데, 위치만 평행 이동한 거니까 당연한 얘기다.
Ax = b의 해가 유일하다는 것과 Ax = 0의 해가 자명해뿐이라는 건 같은 말이다. Ax = b의 해가 두 개(w₁, w₂)라면 w₁ - w₂는 동차해이면서 0이 아닌 벡터고, 반대로 동차해가 자명해뿐이라면 w - p = 0이라 w = p로 유일해진다.
이 패턴은 미분방정식에서도 그대로 나온다. y'' + p(x)y' + q(x)y = f(x) 같은 비동차 미분방정식의 일반해도 y(x) = y_c(x) + y_p(x)로 분해되는데, y_c는 동차 방정식의 일반해(complementary solution), y_p는 비동차의 특수해(particular solution)다. 선형대수에서 익힌 직관이 그대로 넘어간다.
Ap=b인 특수해 p 하나를 잡고 다른 해 x를 빼면 A(x-p)=0이다. 따라서 x-p는 null space에 있고, 모든 해는 p+v(단, v∈N(A))로 쓸 수 있다. 비동차 해집합은 원점을 지나는 부분공간 자체가 아니라 null space를 p만큼 평행이동한 집합이다.
특수해는 하나로 고정되지 않는다. 다른 특수해를 골라도 둘의 차이가 null space 원소라서 전체 집합은 같아진다. 이 사실을 알고 나니 매개변수 해를 구할 때 “특수해를 예쁘게 골라도 되는 이유”가 명확해졌다.
| 리버싱 과제 보고서에서 AI 티를 걷어내고 증거 중심으로 다시 쓰기 (0) | 2026.07.28 |
|---|---|
| 선형대수학 — 피벗 위치로 벡터들이 R^n을 생성하는지(Span) 판단하기 (0) | 2026.07.25 |
| 선형대수학 — 첨가행렬과 가우스 소거법으로 연립방정식 풀기 (0) | 2026.07.25 |
| C로 비트스트림 파싱해서 7가지 타입(char ~ double)으로 출력하기 (시스템 프로그래밍 과제) (0) | 2026.07.23 |