기저·차원·계수
행렬에 숫자가 백 개 적혀 있어도 그 안에 든 "진짜 정보"는 훨씬 적을 수 있습니다. 어떤 열이 다른 열들의 합이라면 그 열은 새로운 것을 말해 주지 않습니다. 이 장은 그 "진짜 정보의 양"을 재는 세 개념을 세웁니다. 공간을 빠짐없이, 군더더기 없이 재는 자인 기저, 그 자의 눈금 수인 차원, 그리고 행렬이 실제로 품은 독립 방향의 수인 계수입니다. 계수 하나만 알면 행렬이 만드는 네 개의 부분공간 크기가 모두 정해지고, 에 해가 있는지, 몇 개나 있는지도 정해집니다. 마지막에는 이 숫자들이 전기 회로에서 "독립인 루프가 몇 개인가"라는 오래된 질문에 답하는 것을 봅니다.
- 벡터들의 선형 독립을 의 해가 뿐이라는 조건으로 바꾸어 소거로 판정하고, 종속이면 그 관계식을 구한다.
- 기저의 두 조건(독립, 생성)을 설명하고, 기저가 정해지면 좌표가 하나로 정해짐을 증명하며, 같은 공간의 다른 기저에서 좌표를 계산한다.
- 한 공간의 모든 기저가 같은 개수의 벡터를 가짐을 보이고, 여러 공간(ℝⁿ의 부분공간, 다항식, 행렬)의 차원을 구한다.
- 계수를 피벗의 개수로 정의하고, 피벗 열이 열공간의 기저, RREF의 0이 아닌 행이 행공간의 기저임을 이용해 "행 계수 = 열 계수"를 설명한다.
- 네 부분공간 의 차원 과 직교 관계를 그림으로 설명하고, 계수–퇴화차수 정리를 쓴다.
- , , , 네 경우에 의 해가 몇 개인지 판정하고, 계수 1 행렬과 수치 계수, 회로의 독립 루프 수 을 계산한다.
가지(branch)가 수십 개인 회로를 풀려고 키르히호프 법칙을 세우면 곧 문제가 생깁니다. 마디마다 "들어온 전류 = 나간 전류"를 쓰고, 눈에 보이는 고리마다 "전압 강하의 합 = 0"을 쓰면 식이 미지수보다 훨씬 많아집니다. 그중 어느 것이 새로운 정보이고 어느 것이 이미 쓴 식의 조합일까요? 몇 개를 골라야 충분하고, 몇 개를 넘기면 군더더기일까요?
1847년 구스타프 키르히호프는 바로 이 문제를 다룬 논문에서, 연결된 회로의 독립인 고리 방정식은 정확히 가지 수 − 마디 수 + 1개이고 이를 고르는 체계적인 방법이 있음을 보였습니다. 오늘날의 언어로 말하면 이것은 회로의 연결 행렬이 가진 계수와 영공간의 차원에 관한 정리입니다. 회로 시뮬레이터가 방정식을 빠짐없이, 그러나 중복 없이 세우는 원리가 이 장의 내용입니다.
선형 독립, Ax = 0으로 다시 보기
공장의 한 공정에서 세 센서가 매번 세 성분짜리 측정 벡터를 기록한다고 합시다. 그런데 세 번째 센서의 값이 언제나 첫 번째의 두 배와 두 번째의 합이라면, 세 번째 센서는 아무 새 정보도 주지 않습니다. 벡터가 둘일 때는 "한 직선 위에 있나"를 눈으로 보면 되지만, 벡터가 열 개, 성분이 백 개라면 어떻게 판정할까요?
1장에서 선형 독립(linear independence)을 "어느 벡터도 나머지의 선형 결합이 아니다"로 정의했습니다(1장 5절). 벡터들을 행렬의 열로 세우면 이 정의는 연립방정식 하나로 바뀝니다. 선형 결합 은 바로 이기 때문입니다.
판정은 3장의 소거 그대로입니다. 소거 뒤 모든 열에 피벗이 있으면 자유 변수가 없어 해는 0뿐이고(독립), 피벗이 없는 열이 하나라도 있으면 그 열의 변수를 1로 두고 거꾸로 풀어 0이 아닌 해를 만들 수 있습니다(종속). 여기서 바로 강력한 결론이 나옵니다.
증명. 피벗은 행마다 최대 하나이므로 피벗 수는 이하다. 열이 개이므로 피벗이 없는 열, 즉 자유 변수가 적어도 개 있다. 자유 변수 하나를 1로 두면 의 0이 아닌 해가 생긴다. ∎
은 독립인가?
- 열로 세워 소거한다. 행 2 − 2·행 1, 그다음 행 3 − 행 2:
- 3열에 피벗이 없다. 자유 변수 로 두고 거꾸로 풀면 , .
- 따라서 , 즉 . 세 벡터는 종속이고 한 평면 위에 있다.
아래 시뮬레이터에서 세 열벡터를 직접 고쳐 보세요. 소거로 피벗을 세어 생성이 공간 전체인지, 평면인지, 직선인지 보여 주고, 종속이면 관계식을 정수 계수로 찾아 줍니다. 캔버스를 좌우로 끌면 시점이 돌아갑니다.
세 벡터는 독립인가: 생성과 종속 관계식
기저: 공간을 재는 자
지도에서 위치를 "동쪽으로 3, 북쪽으로 1"이라고 말할 수 있는 것은 동쪽과 북쪽이라는 두 기준 방향을 정해 두었기 때문입니다. 그런데 도시의 길이 비스듬히 나 있다면 "큰길을 따라 2블록, 골목을 따라 1블록"이 더 편할 수 있습니다. 어떤 기준 방향들이면 모든 위치를 빠짐없이, 그리고 단 한 가지 방법으로 말할 수 있을까요?
- 생성: 의 모든 벡터가 의 선형 결합이다. (빠짐이 없다)
- 독립: 가 선형 독립이다. (군더더기가 없다)
두 조건은 서로 반대 방향으로 당깁니다. 생성을 보장하려면 벡터가 많을수록 좋고, 독립을 보장하려면 적을수록 좋습니다. 기저는 그 균형점, 즉 생성하는 가장 작은 집합이자 독립인 가장 큰 집합입니다. 기저가 왜 좋은지는 다음 정리가 말해 줍니다.
증명. 생성 조건 때문에 적어도 한 가지 방법은 있다. 두 가지 가 있다면 빼서 . 독립이므로 모든 이다. ∎
한 공간의 기저는 하나가 아닙니다. ℝ²의 표준 기저 에서 좌표는 성분 그 자체이지만, 평행하지 않은 아무 두 벡터도 ℝ²의 기저입니다. 같은 점이 기저마다 다른 좌표를 갖습니다.
기저 에서 의 좌표를 구하라.
- 는 기저를 열로 세운 연립방정식이다: .
- 두 식을 더하면 , 빼면 . 따라서 .
- 검산: . 좌표를 구하는 일은 언제나 "기저 행렬 로 를 푸는 일"이다. 기저를 바꾸는 체계적인 방법은 7장에서 다룬다.
내 기저로 좌표 재기
차원: 모든 기저는 크기가 같다
원점을 지나는 평면의 기저는 무수히 많습니다. 어떤 사람은 두 벡터를, 어떤 사람은 다른 두 벡터를 고릅니다. 그런데 누군가 같은 평면의 기저를 세 벡터로 만들었다고 주장한다면 그 사람이 틀렸다고 확신할 수 있을까요? "차원"이라는 단어가 의미를 가지려면 이것이 보장되어야 합니다.
증명. 이라 가정하자. 각 는 에 있으므로 들의 결합이다: . 행렬로 쓰면 이고, 는 이다. 이므로 정리 6.1에 의해 의 0이 아닌 해 가 있다. 그러면 이 되어 들이 종속이라는 모순이 생긴다. 도 같은 논리로 불가능하다. ∎
증명의 핵심은 "독립인 벡터는 생성하는 벡터보다 많을 수 없다"는 것입니다. 이 한 줄에서 기저를 다루는 실용적인 규칙들이 모두 나옵니다.
- 의 독립인 벡터는 개를 넘을 수 없고, 를 생성하는 벡터는 개보다 적을 수 없다.
- 의 벡터 정확히 개가 독립이면 자동으로 생성하고, 생성하면 자동으로 독립이다. 둘 중 하나만 확인하면 기저다.
- 독립인 집합은 벡터를 더해 기저로 늘릴 수 있고, 생성하는 집합은 군더더기를 빼서 기저로 줄일 수 있다.
| 공간 | 기저의 예 | 차원 |
|---|---|---|
| 표준 기저 | n | |
| ℝ³에서 원점을 지나는 평면 | 2 | |
| 차수 2 이하 다항식 | 3 | |
| 2×2 행렬 전체 | 칸 하나만 1인 행렬 4개 | 4 |
| 2×2 대칭 행렬 | 3 | |
| 8×8 화소 블록(흑백 사진의 한 조각) | 화소 하나씩, 또는 JPEG의 DCT 무늬 64개 | 64 |
계수: 피벗의 개수가 말해 주는 것
3×4 행렬에는 숫자가 12개 있습니다. 그런데 셋째 행이 첫째와 둘째 행의 합이고, 둘째 열이 첫째 열의 두 배라면 실제로 독립인 방향은 몇 개일까요? 행으로 세면 몇이고, 열로 세면 몇일까요? 둘이 다를 수도 있을까요?
소거를 끝까지 밀어 피벗을 1로, 피벗 위아래를 모두 0으로 만든 것을 기약 행 사다리꼴(reduced row echelon form, RREF) 이라 합니다. 을 보면 피벗 열과 자유 열이 한눈에 드러납니다. 행 연산이 무엇을 바꾸고 무엇을 지키는지 정확히 알면 계수의 뜻이 보입니다.
- A의 피벗 열이 열공간 의 기저다. 행 연산은 열들 사이의 선형 관계(의 해)를 바꾸지 않으므로, 에서 독립인 열의 위치가 에서도 독립인 열의 위치다. 단, 기저로 쓰는 것은 이 아니라 원래 의 열이다.
- R의 0이 아닌 행이 행공간 의 기저다. 행 연산은 행들의 결합만 만들므로 행공간을 바꾸지 않고, 0이 아닌 행들은 피벗 위치 때문에 독립이다.
- 따라서 . 독립인 열의 수와 독립인 행의 수는 언제나 같다.
- 행 2 − 2·행 1, 행 3 − 3·행 1, 그다음 행 3 − 행 2. 피벗은 1열과 3열에 있으므로 .
- 열공간의 기저: A의 1열과 3열 . 실제로 2열 = 2·(1열), 4열 = 1열 + 2·(3열)이다.
- 행공간의 기저: R의 두 행 . 실제로 A의 3행 = 1행 + 2행이다.
- 열 4개 중 독립은 2개, 행 3개 중 독립도 2개. 숫자 12개에 든 정보는 "벡터 2개 + 섞는 법"이다.
아래 계산기는 행렬을 RREF까지 소거하고 피벗 열, 행공간의 기저, 그리고 다음 절에서 다룰 두 영공간의 기저까지 모두 보여 줍니다. 칸을 고치면 바로 다시 계산합니다.
RREF와 네 부분공간 계산기
네 부분공간과 큰 그림
행렬 는 ℝⁿ의 벡터를 받아 ℝᵐ의 벡터를 내놓습니다. 입력 쪽에서는 "무엇이 0으로 사라지는가", 출력 쪽에서는 "무엇에 닿을 수 있는가"가 궁금합니다. 그리고 는 반대 방향으로 같은 질문을 합니다. 이 네 질문의 답은 서로 어떻게 엮여 있을까요?
증명. 첫째와 셋째는 정리 6.5다. 영공간은 자유 변수마다 하나씩 나오는 특수해(그 자유 변수만 1, 나머지 자유 변수는 0)가 기저다. 특수해들은 자유 변수 자리에서 서로 다른 칸에 1을 가지므로 독립이고, 모든 해는 자유 변수 값을 계수로 한 특수해들의 결합이다. 자유 변수는 개다. 넷째는 (크기 , 계수 )에 같은 논리를 쓰면 이다. ∎
영공간의 차원을 퇴화차수(nullity)라 한다. 말로 하면 "입력의 차원 = 살아남는 차원 + 사라지는 차원"이다. 피벗 변수 개와 자유 변수 개를 합하면 변수 개라는 사실을 다르게 쓴 것이지만, 기저나 소거를 언급하지 않는 형태라 어떤 선형 사상에도 그대로 쓸 수 있다.
차원만이 아닙니다. 네 공간은 둘씩 짝지어 직교합니다. 은 "의 모든 행과 의 내적이 0"이라는 뜻이므로, 영공간의 모든 벡터는 행공간의 모든 벡터와 수직입니다.
아래 시뮬레이터는 2×3 행렬로 이 그림을 실제로 보여 줍니다. 왼쪽은 입력 공간 ℝ³, 오른쪽은 출력 공간 ℝ²입니다. 를 움직이면 행공간 성분과 영공간 성분으로 쪼개지고, 영공간 방향으로 아무리 밀어도 출력 는 꿈쩍하지 않습니다.
큰 그림: 행공간 ⟂ 영공간, 그리고 Ax = Axᵣ
Ax = b의 네 가지 경우
미지수 1,000개, 식 1,200개인 연립방정식을 받았습니다. 해가 있을까요? 있다면 하나일까요, 무수히 많을까요? 식이 더 많으니 해가 없다고 단정해도 될까요? 계수 과 크기 만으로 상당 부분을 미리 말할 수 있습니다.
- 에 해가 있다.
- , 즉 는 의 열들의 결합이다.
- . (를 덧붙여도 피벗이 늘지 않는다)
- 왼쪽 영공간의 모든 에 대해 . (행들 사이의 관계를 도 지킨다)
해가 있으면 모든 해는 이다. 는 해 하나(자유 변수를 0으로 둔 특수해가 편하다), 은 영공간의 아무 벡터다. 해의 "개수"는 영공간의 차원 이 정한다.
| 경우 | 모양 | R의 모양 | Ax = b의 해 | 대표적인 상황 |
|---|---|---|---|---|
| 정사각, 가역 | 언제나 정확히 하나 | 회로·구조 해석의 잘 세운 방정식 | ||
| 세로로 긺, 열 완전 계수 | 0개 또는 1개 | 측정이 미지수보다 많은 데이터 적합 → 최소제곱(8장) | ||
| 가로로 긺, 행 완전 계수 | 언제나 무수히 (자유 변수 n − m개) | 여유 자유도가 있는 로봇 팔, 제약이 적은 설계 | ||
| 계수 부족 | 0개 또는 무수히 | 중복 센서, 연결 행렬, 특이 시스템 |
열 완전 계수()는 "영공간이 ", 즉 해가 있다면 유일하다는 뜻이고, 행 완전 계수()는 "열공간이 ℝᵐ 전체", 즉 어떤 든 해가 있다는 뜻입니다. 둘 다이면 정사각 가역 행렬입니다.
예제 6.3의 와 에 대해 를 풀어라.
- 왼쪽 영공간 로 검사: . 해가 있다. (이었다면 으로 해가 없다.)
- 를 소거하면 . 자유 변수 으로 두면 .
- 완전한 해: . 해 집합은 ℝ⁴ 안에서 원점을 지나지 않는 평면(차원 )이다.
해의 개수 판정기: rank A와 rank [A | b]
| r = m = n | 언제나 해 하나 |
| r = n < m | 해 0개 또는 1개 |
| r = m < n | 언제나 해가 무수히 |
| r < m, r < n | 해 0개 또는 무수히 |
계수 1 행렬과 수치 계수
1,000×1,000 행렬의 모든 행이 한 행벡터의 배수라면, 숫자 백만 개를 저장할 필요가 있을까요? 행벡터 하나(1,000개)와 각 행의 배수(1,000개)만 있으면 됩니다. 계수가 작은 행렬은 겉보기보다 훨씬 작습니다. 그런데 실제 측정값에는 잡음이 섞여 "정확히 배수"인 경우가 없습니다. 그럴 때 계수는 몇이라고 말해야 할까요?
계수 1인 행렬은 모든 열이 한 벡터 의 배수이고, 그 배수들을 모으면 행벡터 가 됩니다. 곧 열벡터와 행벡터의 곱, 외적(outer product)입니다(2장 3절).
계수 인 행렬은 계수 1 행렬 개의 합입니다. 사실 소거가 이미 그 분해를 줍니다. 예제 6.3의 피벗 열을 모은 와 RREF의 0이 아닌 행을 모은 을 곱하면 가 그대로 나옵니다.
수치 계수: 잡음 속에서 계수 세기
정확한 산수에서 계수는 정수이고 명확합니다. 하지만 부동소수점에서는 정확히 0인 피벗이 거의 나오지 않습니다. 세 번째 센서가 "거의" 앞 두 센서의 합이라면, 피벗은 0이 아니라 이나 같은 작은 수가 됩니다. 이것을 0으로 볼지는 허용 오차를 정해야 판단할 수 있습니다. 실무에서는 피벗보다 믿을 만한 지표로 특이값 을 씁니다. 행렬이 공간을 각 방향으로 늘이는 배율이며, 0에 가까운 특이값의 개수가 "거의 사라지는 방향"의 수입니다(14장).
거의 종속인 센서: 수치 계수는 허용 오차가 정한다
응용: 회로의 독립 루프 세기
마디 N개, 가지 E개인 회로에서 전류 법칙(KCL)과 전압 법칙(KVL)을 세우면 식이 몇 개 필요할까요? 고리는 셀 수 없이 많이 그릴 수 있지만, 그중 독립인 것은 몇 개일까요? 이 장의 도구로 답이 한 줄에 나옵니다.
회로를 그래프로 보고, 가지마다 임의로 방향을 정합니다. 가지 k가 마디 i에서 j로 가면 행렬의 k행에 i열은 −1, j열은 +1을 적습니다. 이것이 E×N 연결 행렬(incidence matrix) 입니다. 네 부분공간이 모두 물리적인 뜻을 가집니다.
| 부분공간 | 회로에서의 뜻 | 차원 (연결 그래프) |
|---|---|---|
| : | 는 각 가지의 전위차. 전위차가 모두 0이면 모든 마디의 전위가 같다. 영공간 = 상수 벡터 | 1 |
| 나머지 차원. 접지 하나를 정하면 남는 독립 전위의 수 | N − 1 | |
| : | 는 각 마디로 들어온 알짜 전류. 0이면 KCL을 만족하는 가지 전류 = 루프 전류 | E − N + 1 |
| 실현 가능한 전위차 패턴. 루프 전류와 수직 = 고리를 한 바퀴 돌면 전위차의 합이 0 (KVL) | N − 1 |
증명의 핵심. 이면 가지로 이어진 두 마디의 전위가 같으므로, 연결 성분마다 전위가 상수다. 따라서 이고, 계수–퇴화차수 정리로 . 왼쪽 영공간의 차원은 이다. ∎
그래프에서 고리를 하나도 만들지 않으면서 모든 마디를 잇는 가지 집합을 생성 나무(spanning tree)라 합니다. 나무에 들지 않은 가지 하나를 더할 때마다 정확히 하나의 고리가 생기고, 그렇게 얻은 개의 기본 고리가 루프 공간의 기저가 됩니다. 이것이 키르히호프가 1847년에 쓴 방법이고, 회로 시뮬레이터가 KVL 식을 고르는 방법입니다. 아래에서 가지를 눌러 켜고 끄며 확인해 보세요.
가지를 켜고 끄며 독립 루프 세기
이 도구가 쓰이는 곳
계수와 차원은 "얼마나 많은 정보가 있는가"를 묻는 모든 곳에 나옵니다. 이 책의 다음 장들과 시리즈의 다른 책에서 다시 만납니다.
열공간·영공간의 정의, RREF와 Ax = b의 완전한 해. LINEARBOOK · 8장직교성과 사영
열 완전 계수일 때 AᵀA가 가역이 되고 최소제곱 해가 유일해진다. LINEARBOOK · 14장특이값 분해
네 부분공간의 정규직교 기저를 한 번에 주고, 수치 계수와 저랭크 근사를 정확히 정의한다. MATHBOOK행렬은 변환이다
det = 0이면 공간이 납작해진다. 계수는 납작해진 뒤 남는 차원이다. 확률과 통계회귀 분석
설명 변수가 서로 거의 종속이면(다중공선성) 계수가 무너지고 회귀 계수가 불안정해진다. ANALOGBOOK아날로그 회로
노드·메시 해석에서 필요한 식의 수는 연결 행렬의 계수와 루프 공간의 차원이 정한다.
핵심 정리
- 열벡터들이 독립 ⟺ 의 해가 0뿐 ⟺ 모든 열에 피벗. ℝᵐ의 벡터가 m개를 넘으면 반드시 종속이다.
- 기저 = 생성 + 독립. 기저가 있으면 좌표는 하나뿐이고, 좌표를 구하는 일은 를 푸는 일이다. 한 공간에 기저는 무수히 많다.
- 한 공간의 모든 기저는 크기가 같고 그 수가 차원이다. 차원이 k인 공간에서 k개의 벡터는 독립이거나 생성하기만 하면 기저다.
- 계수 r = 피벗 수 = dim C(A) = dim C(Aᵀ). A의 피벗 열이 열공간의 기저, R의 0이 아닌 행이 행공간의 기저다. 행 계수 = 열 계수.
- 네 부분공간의 차원은 r, n − r, r, m − r. ℝⁿ에서 N(A) ⟂ C(Aᵀ), ℝᵐ에서 N(Aᵀ) ⟂ C(A). 계수–퇴화차수: rank A + dim N(A) = n.
- 는 일 때만 풀리고, 해는 . r = m = n: 하나, r = n < m: 0 또는 1, r = m < n: 무수히, 그 밖: 0 또는 무수히.
- 계수 1 행렬은 이고, 계수 r 행렬은 A = CR로 계수 1 행렬 r개의 합이다. 부동소수점에서는 허용 오차를 정한 수치 계수(특이값으로 센다)를 쓴다.
- 연결 행렬의 계수는 N − c, 독립 루프 수는 E − N + c. 키르히호프의 고리 방정식 수가 바로 왼쪽 영공간의 차원이다.
확인 퀴즈
Q1. ℝ⁴의 벡터 5개는?
Q2. 을 기저로 할 때 의 좌표는?
Q3. 5×7 행렬의 계수가 3이다. 영공간과 왼쪽 영공간의 차원은?
Q4. 열공간의 기저로 쓸 수 있는 것은?
Q5. 10×6 행렬 A의 계수가 6이다. 옳은 것은?
Q6. 이고 , 이다. 옳지 않은 것은?
Q7. 마디 6개, 가지 9개인 연결된 회로에서 독립인 KVL(고리) 방정식은 몇 개인가?
Q8. 측정 행렬의 특이값이 4.1, 0.9, 3×10⁻⁷이고 측정 잡음 수준이 약 10⁻³이다. 이 데이터의 실질적인 계수는?