열두 편이 지났다. 소거를 배웠고, 분해를 배웠고, 부분공간을 정의했고, 네 부분공간의 지도까지 그렸다. 그런데 실제로 행렬 하나를 받았을 때 무엇부터 봐야 하는가.
이번 강의에서는 새 개념을 들여오지 않는다. 대신 지금까지 흩어져 있던 결과들이 사실은 소거에서 나온 하나의 수 에서 갈라져 나온 것임을 보인다. 그 과정에서 를 이라는 두 조각으로 쪼개는 방법을 얻는데, 이 등식 하나에 L7부터 L11까지의 이야기가 전부 들어 있다. 마지막으로 앞으로 계속 꺼내 쓸 절차 하나를 만들어 둔다.
1. 피벗 하나가 동시에 세는 세 가지¶
소거를 하면 피벗이 개 나온다. 이 하나의 수가 왜 그렇게 많은 것을 결정하는가. 피벗이 서로 다른 세 가지를 동시에 세기 때문이다. 하나씩 확인하자.
(1) 독립인 행의 개수¶
소거는 행공간을 바꾸지 않는다. 행에 하는 연산이 전부 행들의 결합이고, 되돌릴 수도 있기 때문이다(L10의 (5)). 그러니 의 행공간을 보려면 의 행을 보면 된다.
의 0이 아닌 행은 개이고, 이들은 독립이다. 그 결합이 영벡터라고 하자.
번째 행의 피벗이 있는 열을 보자. RREF에서는 그 열이 피벗 자리에만 1이고 나머지는 전부 0이다. 따라서 (1)의 그 자리는 뿐이고, 이것이 0이므로 이다. 모든 에 대해 같으므로 독립이다.
(2) 독립인 열의 개수¶
소거는 열 사이의 종속 관계를 바꾸지 않는다. 과 의 해가 정확히 같기 때문이다(L10의 (13)). 열의 결합이 0이 되는 계수의 모임이 곧 영공간이므로, 의 열들이 만드는 종속 관계와 의 열들이 만드는 종속 관계가 같다.
에서 피벗열은 서로 다른 자리에 1을 하나씩 가진 표준기저벡터이므로 독립이고, 자유열은 L9의 (15)에서 보았듯 피벗열의 결합이다. 그러므로 독립인 열은 개이다.
여기서 주의할 것이 하나 있다. 차원이 이라는 것만 옮겨 오고, 기저는 에서 가져와야 한다. 소거는 열공간 자체를 옮겨 버리기 때문이다(L10의 (12)).
(3) 정해지는 변수의 개수¶
개의 열에 피벗이 있으므로 피벗 변수가 개, 자유 변수가 개이다. 자유 변수 하나에 1을 주고 나머지에 0을 주면 특수해가 하나씩 나오고, 그것들이 영공간의 기저였다(L7의 (31)).
같은 논리를 에 적용하면 된다. 는 이고 랭크는 L10의 Theorem 1에 의해 역시 이므로
이다. 네 개가 모두 에서 나왔다.
Figure 1:행렬을 받으면 크기를 보고, 소거해서 을 세고, 그 로 나머지를 전부 읽는다.
2. 세 가지 세기를 하나의 등식으로 : ¶
1절의 세 가지는 따로따로 증명되었다. 그런데 이것들을 등식 하나로 묶을 수 있다. 행렬 두 개를 만들자.
— 의 피벗열을 순서대로 모은 행렬
— 의 기약 사다리꼴에서 0이 아닌 행을 모은 행렬
이름이 겹치니 주의하자. 여기서의 은 기약 사다리꼴 전체가 아니라 0인 행을 잘라 낸 조각이다.
증명. 의 번째 열이 곱하기 의 번째 열과 같음을 보이면 된다. 행렬 곱을 열별로 보는 L3의 방식((6))에서 의 열은 이기 때문이다. 두 경우로 나눈다.
가 번째 피벗열인 경우. 기약 사다리꼴에서 번째 피벗열은 행에만 1이고 나머지는 0이므로, 0인 행을 잘라 낸 에서도 그 열은 이다. 그러면
이다. 의 열이 곧 의 열이기 때문이다.
가 자유열인 경우. 소거는 열 사이의 종속 관계를 바꾸지 않으므로, 의 열이 피벗열들의 어떤 결합인지는 기약 사다리꼴의 열을 그대로 읽으면 된다 (L9의 (15)). 그 열의 성분을 이라 하면
인데, 오른쪽의 열벡터가 바로 의 열이다. 두 경우 모두 성립하므로 이다.
L7의 예로 확인해 보자. 피벗열은 1열과 3열이었다.
Figure 2: 는 에서 그대로 떼어 온 피벗열이고, 은 기약 사다리꼴에서 0인 행을 잘라 낸 것이다.
이 등식 하나가 말해 주는 것¶
첫째, 열공간의 기저가 의 열이다. 열별 곱셈에 의해 의 모든 열이 의 열의 결합이므로 이고, 의 열은 원래 의 열이었으므로 이다. 두 공간이 같다.
둘째, 행공간의 기저가 의 행이다. 같은 등식을 L3의 행별 곱셈으로 읽으면 ((8)) 의 각 행은 의 행들을 의 그 행 성분으로 결합한 것이다. 그러므로 의 행공간은 의 행공간에 들어 있고, 의 행은 소거로 얻어진 것이라 반대 포함도 성립한다.
셋째, 두 랭크가 같다는 것이 등식의 모양에서 바로 나온다. 의 열이 개이고 의 행이 개이다. 같은 이다. L10의 Theorem 1에서는 소거를 따라가며 증명했는데, 로 쓰면 한 줄로 끝난다.
넷째, 가 랭크 1 행렬 개의 합이다. 곱셈을 L3의 바깥곱으로 보면 ((12))
이다. 여기서 는 의 열, 는 의 행이다. L11에서 랭크 1 행렬이 벽돌이라고 한 것이 이것이다. 벽돌은 정확히 개 필요하다.
3. 네 가지 경우¶
L7에서 피벗열을 앞으로 모으면 기약 사다리꼴이 이 된다고 했다((25)). 여기서 는 언제나 있고 와 0인 행은 있을 수도 없을 수도 있다. 이 , 과 같은지에 따라 네 가지가 나온다.
Figure 3: 이면 가 사라지고, 이면 0인 행이 사라진다.
해의 개수는 L8의 두 결과에서 바로 읽힌다. 해집합은 이므로 (L8의 (14)), 개수는 두 가지 질문으로 정해진다. 존재하는가, 그리고 영공간이 얼마나 큰가.
두 조건을 곱하면 네 칸이 채워진다.
| 경우 | 기약 사다리꼴 | 모든 에 해가 있는가 | 해의 개수 | |
|---|---|---|---|---|
| 있다 | 언제나 1개 | |||
| 아니다 | 0개 또는 1개 | |||
| 크다 | 있다 | 언제나 무한히 | ||
| 크다 | 아니다 | 0개 또는 무한히 |
첫 줄이 가역행렬이다. 이면 도 없고 0인 행도 없으므로 열을 옮길 것도 없이 기약 사다리꼴이 이다. 이것이 L3에서 가우스-조르당으로 을 구할 때 쓴 조건이었다((28)). 로 보면 , 인 셈이라 쪼갤 것이 없다.
Figure 4:같은 , 같은 특수해인데 왼쪽은 해가 직선 전체이고 오른쪽은 점 하나이다. 차이는 의 크기뿐이다.
4. 헷갈리기 쉬운 다섯 쌍¶
열공간 vs 행공간¶
차원이 둘 다 이라는 것(L10의 Theorem 1)이 오히려 혼동을 만든다. 차원이 같을 뿐 사는 공간이 다르다. 는 의 부분공간이고 는 의 부분공간이다. 이면 두 공간의 원소는 길이부터 다르므로 비교할 수도 없다.
영공간 vs 좌영공간¶
는 의 해이고 는 의 해이다. 전자는 입력 쪽 , 후자는 출력 쪽 에 산다. 좌영공간을 전치 없이 쓰면 뜻이 분명해진다.
오른쪽은 " 의 행들을 로 결합했더니 0이 되었다"는 뜻이다. 소거에서 0인 행이 생기는 과정이 곧 이 결합을 찾아내는 과정이었다.
독립 vs 생성¶
독립은 너무 많지 않다는 조건이고 생성은 너무 적지 않다는 조건이다. 기저는 두 조건을 동시에 만족하는 자리이다. 안의 벡터 개에 대해
이므로 기저가 되려면 이어야 한다. 이것이 차원이 유일한 이유였다(L9의 Theorem 1).
vs ¶
는 피벗 아래만 0으로 만든 사다리꼴, 은 피벗 위까지 0으로 만들고 피벗을 1로 맞춘 기약 사다리꼴이다. 랭크를 세거나 분해를 할 때는 로 충분하다. L7의 (28)에 나온 영공간 행렬처럼 특수해를 바로 읽어 내거나 2절처럼 을 떼어 쓰려면 기약 사다리꼴이 필요하다.
부분공간 vs 해집합¶
는 부분공간이지만 의 해집합은 이면 부분공간이 아니다. 원점이 들어 있지 않고, 덧셈에 대해 닫혀 있지도 않다.
Figure 4의 왼쪽 그림에서 두 직선이 나란한 것이 이 사정을 보여 준다. 해집합은 부분공간을 평행이동한 것이지 부분공간 자체가 아니다.
5. 자주 하는 실수¶
| 실수 | 왜 틀렸는가 | 되돌아갈 곳 |
|---|---|---|
| 열공간의 기저를 에서 가져오기 | 소거는 열공간을 옮긴다. 피벗의 위치만 옮겨 오고 열 자체는 에서 | L10 |
| 원점을 지나지 않는 집합을 부분공간이라 부르기 | 부분공간은 인 결합도 담아야 하므로 원점을 반드시 지난다 | L5 |
| 순서가 뒤집힌다. | L3 | |
| 특수해가 유일하다고 생각하기 | 자유 변수에 무엇을 넣느냐에 따라 달라진다. 0을 넣는 것은 관례일 뿐이고 해집합은 같다 | L8 |
| 부등식이지 등식이 아니다. | L11 |
마지막 것을 확인해 보자. , 이면 인데 이라 이다.
6. 해부 절차¶
지금까지의 것을 순서로 적으면 다음과 같다.
크기를 적는다. 는 .
소거해서 을 얻고 피벗을 센다. 그 개수가 .
네 부분공간의 차원을 적는다. .
기저를 구한다. 앞의 둘은 의 두 조각이 그대로 답이다.
행공간 — 의 행
열공간 — 의 열, 곧 의 피벗열
영공간 — L7의 (28)에 나온 영공간 행렬 의 열
좌영공간 — 를 같은 방법으로 처리
가 주어졌으면 를 소거해 인지 보고, 맞으면 특수해를 구해 로 답한다.
3번까지만 해도 해의 개수는 판정된다. 4번과 5번은 그 답을 구체적으로 쓰는 단계이다.
실습 파트에서 이 절차를 행렬해부(A, b) 함수 하나로 만들어 두고, 이후 강의에서 계속 쓴다.
7. 여기까지 심은 것과 회수한 것¶
| 어디서 심었나 | 무엇을 | 어디서 회수했나 |
|---|---|---|
| L1 | 행렬 곱을 열의 결합으로 보기 | L6 열공간의 정의 |
| L2 | 피벗의 개수 | L7 랭크 |
| L3 | 곱을 바깥곱의 합으로 보기 | L13 을 벽돌로 쪼개기 |
| L3 | 가우스-조르당이 끝나는 조건 | L13 |
| L4 | 소거를 행렬 로 적기 | L10 좌영공간의 기저 |
| L5 | 은 언제나 대칭 | L12 |
| L7 | 특수해와 영공간 행렬 | L8 완전해, L13 해부 절차 |
| L9 | 차원은 유일하다 | L10 네 부분공간의 차원 |
| L10 | 행랭크 열랭크 | L13 로 한 줄 증명 |
| L10 | 두 쌍이 직각으로 마주 본다 | 아직 회수하지 않았다 |
| L11 | 랭크 1 행렬이 벽돌이다 | L13 벽돌이 정확히 개 |
하나가 남아 있다. L10에서 네 부분공간의 지도를 그리면서 행공간과 영공간을, 열공간과 좌영공간을 직각으로 놓아 두고는 왜 직각인지 설명하지 않았다. 그때는 직각이라는 말 자체를 쓸 수단이 없었다.
마치며...¶
이번 강의에서 다룬 것을 정리하면 다음과 같다.
| 대상 | 내용 |
|---|---|
| 랭크 | 독립인 행, 독립인 열, 피벗 변수를 동시에 센다 |
| 네 차원 | — 전부 에서 나온다 |
| 는 열공간의 기저, 은 행공간의 기저 | |
| 행랭크 열랭크가 등식의 모양에서 바로 나온다 | |
| 랭크 1 벽돌 개의 합으로 쪼개진다 | |
| 해의 개수 | 0, 1, 무한 셋뿐이다 |
| 네 경우 | 과 , 의 대소로 갈린다 |
| 해부 절차 | 크기 → 랭크 → 네 차원 → 네 기저 → 완전해 |
여기서 한 번 돌아보자. 우리는 지금까지 길이도 각도도 한 번도 쓰지 않았다. 두 벡터가 얼마나 긴지, 사이각이 몇 도인지 물은 적이 없다. 오직 덧셈과 스칼라배, 그리고 거기서 나온 개념들만으로 여기까지 왔다. 부분공간을 정의했고, 차원을 셌고, 해의 개수를 판정했고, 네 부분공간의 지도를 그렸다.
다음 강의에서 내적을 도입한다. 그러면 두 벡터가 직각인지 물을 수 있게 되고, L10에서 미뤄 둔 것 — 두 쌍의 부분공간이 왜 직각으로 마주 보는지 — 을 마침내 확인할 수 있다. 지금까지 그린 모든 그림에 직각이 나타난다.
이번 강의의 내용을 파이썬으로 확인해 보려면 L13 실습 노트북으로 넘어가면 된다.
을 직접 만들어 보고, 그것을 써서 행렬해부(A, b) 함수를 조립하며,
무작위 행렬로 네 경우가 모두 나오는지 시험해 볼 수 있다.