62강에서 벡터공간의 공리 여덟 가지를 뽑았습니다. 그때 이렇게 물었어야 합니다.
에서는 다 자명한데 왜 굳이 공리로 적었습니까.
답은 이렇습니다. 공리만 써서 증명한 것은 그 공리를 만족하는 모든 대상에서 성립합니다. 그러니 밖에도 그런 대상이 있다면, 지금까지 한 일이 전부 그곳에서도 통합니다.
그런 대상이 있습니다. 다항식, 함수, 행렬, 수열이 모두 그렇습니다. 그리고 이미 만난 적이 있습니다.
그때는 "비유"처럼 말했습니다. 이 강의에서 그것이 비유가 아니라 같은 구조임을 밝힙니다.
그리고 68강에서 따로 나타난 것들을 하나로 묶습니다. 영공간, 해집합, 열들이 생성하는 집합이 모두 부분공간이라는 하나의 개념이 됩니다.
문제. 차수가 이하인 다항식 전체를 라 합니다.
(1) 두 원소를 더하고 상수배 해 보세요.
(2) 62강의 여덟 공리가 성립합니까?
(3) 와 의 관계를 말하세요.
생각의 실마리. (2)에서 공리를 하나씩 확인하는 대신, 계수를 나열하면 의 벡터가 된다는 점을 이용합니다. 덧셈과 상수배가 계수별로 일어나므로 성질이 그대로 옮겨 옵니다.
풀이. (1) 와 를 봅니다.
결과가 여전히 차수 이하의 다항식입니다.
(2) 성립합니다. 덧셈의 결합·교환법칙은 계수별 덧셈이 실수의 덧셈이므로 따라오고, 영벡터는 영다항식이며, 의 역원은 입니다. 상수배의 성질도 마찬가지입니다.
(3) 계수를 나열하면 대응이 생깁니다.
이 대응이 덧셈과 상수배를 보존합니다. 검산에서 의 계수가 이고 의 계수가 으로, 벡터로 계산한 것과 같습니다.
이 문제에서 배우는 것: 벡터공간은 집합이 아니라 구조입니다.
벡터공간. 집합 와 두 연산(덧셈, 스칼라배)이 62강의 여덟 공리를 만족하면 를 벡터공간이라 하고 그 원소를 벡터라 합니다.
공리를 다시 적어 둡니다.
| 덧셈 | 스칼라배 |
|---|---|
| 교환: \mathbf{u}+\mathbf{v}=\mathbf{v}+\mathbf | 분배: c(\mathbf{u}+\mathbf{v})=c\mathbf{u}+c\mathbf |
| 결합: | 분배: (c+d)\mathbf{v}=c\mathbf{v}+d\mathbf |
| 영원: \mathbf{v}+\mathbf{0}=\mathbf | 결합: c(d\mathbf{v})=(cd)\mathbf |
| 역원: \mathbf{v}+(-\mathbf{v})=\mathbf | 항등: 1\mathbf{v}=\mathbf |
"벡터"는 화살표를 뜻하지 않습니다. 이 여덟 규칙대로 더하고 곱할 수 있는 것이면 무엇이든 벡터입니다.
예를 모아 봅니다.
| 벡터공간 | 원소 | 영벡터 |
|---|---|---|
| \mathbb{R}^ | 실수 개 | |
| P_ | 차수 다항식 | 영다항식 |
| M_ | 행렬 | 영행렬 |
| 의 연속함수 | 영함수 | |
| 수열 | 실수열 | 모두 인 수열 |
넷째 줄이 이 과목에서 가장 중요합니다. 59강의 푸리에 급수가 일어난 곳이 바로 여기이며, 심화 2에서 다시 봅니다.
와 의 관계에도 이름이 있습니다. 연산을 보존하는 일대일 대응이 있으면 동형이라 하고, 두 공간은 이름만 다른 같은 것입니다. 75강에서 좌표를 다루며 이 관점을 정식화합니다.
바로 확인 1.
확인 1-1. 벡터공간의 정의를 한 문장으로 쓰세요.
답. 두 연산이 여덟 공리를 만족하는 집합입니다.
확인 1-2. 이 아닌 벡터공간의 예를 세 개 쓰세요.
답. 다항식 공간, 행렬 공간, 연속함수 공간입니다.
확인 1-3. 의 영벡터를 쓰세요.
답. 모든 계수가 인 영다항식입니다.
문제. 에서 을 봅니다.
(1) 의 원소 두 개를 더하면 에 있습니까?
(2) 상수배는 어떻습니까?
(3) 가 그 자체로 벡터공간입니까?
생각의 실마리. (3)에서 여덟 공리를 다시 확인할 필요는 없습니다. 에서 이미 성립하는 성질은 부분집합에서도 성립하므로, 확인할 것은 연산의 결과가 밖으로 나가지 않는지뿐입니다.
풀이. (1) 과 가 에 있습니다. 더하면 이고 성분의 합이 이므로 에 있습니다.
일반적으로 이고 이면
입니다.
(2) 이고 합이 입니다. 일반적으로 입니다.
(3) 그렇습니다. 영벡터 도 에 있고, 나머지 공리는 에서 물려받습니다.
검산에서 다섯 항목이 모두 True입니다.
이 문제에서 배우는 것: 부분공간.
부분공간. 벡터공간 의 부분집합 가 다음 셋을 만족하면 를 의 부분공간이라 합니다.
- 스칼라
이때 는 그 자체로 벡터공간입니다.
여덟 개가 세 개로 줄었습니다. 이것이 부분공간 개념의 실용적 가치입니다. 어떤 집합이 벡터공간인지 보이려면, 이미 아는 벡터공간 안에 있음을 보이고 세 조건만 확인하면 됩니다.
세 조건을 두 개로 줄일 수도 있습니다. 2와 3을 합치면 이렇게 됩니다.
일차결합에 대해 닫혀 있다는 한 문장입니다. 그리고 조건 1은 가 비어 있지 않다는 것만 확인하면 3에서 따라옵니다. 이면 이기 때문입니다.
그런데 조건 1을 따로 적는 편이 실용적입니다. 부분공간이 아닌 것을 판정할 때 가장 빨리 걸리는 것이 영벡터이기 때문입니다. 문제 3에서 봅니다.
가 무엇인지 기하로 보면, 에 수직인 원점을 지나는 평면입니다. 63강의 언어로 입니다.
바로 확인 2.
확인 2-1. 부분공간의 세 조건을 쓰세요.
답. 영벡터를 포함하고, 덧셈에 닫혀 있고, 스칼라배에 닫혀 있습니다.
확인 2-2. 세 조건을 한 문장으로 줄이세요.
답. 비어 있지 않고 일차결합에 대해 닫혀 있습니다.
확인 2-3. 부분공간임을 보일 때 여덟 공리를 다시 확인하지 않아도 되는 이유를 쓰세요.
답. 큰 공간에서 이미 성립하는 성질은 부분집합에서도 성립하기 때문입니다.
문제. 다음이 부분공간인지 판정하세요.
(1)
(2) (두 축의 합집합)
(3) (제1사분면)
생각의 실마리. 세 조건 중 가장 확인하기 쉬운 것부터 봅니다. 영벡터가 없으면 즉시 끝나고, 있으면 덧셈이나 상수배에서 밖으로 나가는 예를 찾습니다.
풀이. (1) 아닙니다. 의 성분 합이 이므로 영벡터가 없습니다.
덧셈에도 닫혀 있지 않습니다. 과 이 에 있지만 합 의 성분 합은 입니다. 검산에서 확인됩니다.
(2) 아닙니다. 영벡터는 있고 상수배에도 닫혀 있는데, 덧셈에서 나갑니다. 과 이 모두 에 있지만 합 은 입니다.
(3) 아닙니다. 영벡터도 있고 덧셈에도 닫혀 있는데, 음수배에서 나갑니다. 은 있지만 은 없습니다.
이 문제에서 배우는 것: 세 조건이 서로 독립입니다.
세 반례가 각기 다른 조건에서 걸렸습니다.
| 예 | 영벡터 | 덧셈 | 상수배 |
|---|---|---|---|
| (아핀평면) | 없음 | 아님 | 아님 |
| (두 축) | 있음 | 아님 | 됨 |
| (사분면) | 있음 | 됨 | 아님 |
어느 하나만 어겨도 부분공간이 아닙니다. 그래서 판정할 때 셋을 다 확인해야 합니다.
기하로 정리하면 이렇습니다.
부분공간은 원점을 지나는 평평한 집합입니다.
세 예가 각각 다른 방식으로 이 조건을 어깁니다. 는 평평하지만 원점을 지나지 않고, 는 원점을 지나지만 평평하지 않으며(꺾여 있습니다), 는 평평하고 원점을 지나지만 잘려 있습니다.
의 부분공간을 모두 적을 수도 있습니다.
| 차원 | 부분공간 |
|---|---|
| 원점을 지나는 직선 | |
| 원점을 지나는 평면 | |
| 전체 |
이것이 전부입니다. 73강에서 차원을 정의하면 이 목록이 완전함을 알 수 있습니다.
가 부분공간이 아니라는 사실은 68강과 이어집니다. 는 의 해집합이므로 비동차계의 해집합이고, 68강 심화 3에서 그것이 아핀 부분공간이라 했습니다. 부분공간을 평행이동한 것입니다.
가 문제 2의 부분공간이며, 특수해에 동차해 전체를 더한 구조 그대로입니다.
바로 확인 3.
확인 3-1. 이 부분공간입니까?
답. 아닙니다. 영벡터가 없습니다.
확인 3-2. 두 좌표축의 합집합이 부분공간이 아닌 이유를 쓰세요.
답. 덧셈에 닫혀 있지 않습니다. 이 밖에 있습니다.
확인 3-3. 부분공간을 기하로 한 문장으로 표현하세요.
답. 원점을 지나는 평평한 집합입니다.
문제. 과 을 봅니다.
(1) 두 벡터의 일차결합 전체를 라 할 때 가 부분공간입니까?
(2) 가 어떤 집합인지 방정식으로 쓰세요.
(3) 일반적으로 성립하는 사실을 진술하세요.
생각의 실마리. (1)에서 세 조건을 확인하는데, 일차결합의 일차결합이 다시 일차결합이라는 점만 보면 됩니다. (2)에서는 두 벡터가 만족하는 선형 관계를 찾습니다.
풀이. (1) 부분공간입니다.
영벡터는 입니다. 두 원소 와 를 더하면
로 여전히 일차결합입니다. 상수배도 마찬가지입니다.
(2) 을 봅니다.
가 일차식이므로 일차결합에 대해
입니다. 따라서
검산에서 네 가지 계수 조합 모두 이 나옵니다.
(3) 일반화합니다.
이 문제에서 배우는 것: 생성.
생성. 벡터 의 일차결합 전체
를 그들이 생성하는 부분공간이라 합니다. 언제나 부분공간입니다.
증명은 (1)과 같습니다. 일차결합끼리 더하거나 상수배 해도 일차결합이기 때문입니다.
이것이 부분공간을 만드는 가장 흔한 방법입니다. 벡터 몇 개를 던져 놓으면 그것들이 부분공간 하나를 결정합니다.
중요한 성질이 하나 더 있습니다.
는 그 벡터들을 모두 포함하는 가장 작은 부분공간입니다.
**"가장 작은"**의 뜻은 이렇습니다. 들을 모두 포함하는 부분공간 가 있다면, 는 닫혀 있으므로 그들의 일차결합을 모두 포함하고, 따라서 을 포함합니다.
부분공간을 기술하는 두 가지 방식이 여기서 대비됩니다.
| 방식 | 형태 | 예 |
|---|---|---|
| 생성 | 만드는 재료를 줍니다 | |
| 방정식 | 만족할 조건을 줍니다 |
두 기술이 같은 집합을 가리킵니다. 이 문제에서 그것을 확인한 셈이며, 74강에서 열공간과 영공간이라는 이름으로 정식화됩니다. 앞의 것은 만드는 쪽이고 뒤의 것은 거르는 쪽입니다.
전환도 가능합니다. 방정식에서 생성으로 가려면 68강의 소거로 해집합을 매개변수화하면 되고, 생성에서 방정식으로 가려면 그 벡터들에 수직인 것들을 찾으면 됩니다. 후자가 65강의 외적이 하던 일입니다. 이고, 그 성분이 정확히 방정식의 계수입니다.
바로 확인 4.
확인 4-1. 이 언제나 부분공간인 이유를 쓰세요.
답. 일차결합끼리 더하거나 상수배 해도 일차결합이기 때문입니다.
확인 4-2. 가 무엇인지 기하로 쓰세요.
답. 가 영벡터가 아니면 원점을 지나는 직선입니다.
확인 4-3. 부분공간을 기술하는 두 방식을 쓰세요.
답. 생성하는 벡터를 주거나 만족할 방정식을 줍니다.
문제. 행렬 을 봅니다.
(1) 이 부분공간입니까?
(2) 은 어떻습니까?
(3) 두 집합이 어디에 사는지 말하세요.
생각의 실마리. 두 경우 모두 가 일차결합을 보존한다는 사실만 쓰면 됩니다.
66강 문제 1의 분배법칙입니다.
풀이. (1) 부분공간입니다. 이고, , 이면
입니다. 검산에서 이 을 만족하고 도 마찬가지입니다.
(2) 부분공간입니다. 이고, 와 의 일차결합이
로 다시 그 집합에 있습니다.
66강 문제 1에서 가 열들의 일차결합이었으므로, 이 집합은 의 열들이 생성하는 부분공간입니다.
(3) 사는 곳이 다릅니다. 가 일 때
| 집합 | 사는 곳 |
|---|---|
| (입력 쪽) | |
| (출력 쪽) |
이 문제에서 배우는 것: 영공간과 열공간.
두 부분공간.
이름 정의 사는 곳 영공간 의 해집합 \mathbb{R}^ 열공간 열들이 생성하는 집합 \mathbb{R}^
68강에서 따로 나타난 것들이 하나로 묶였습니다.
| 68강에서 | 지금 |
|---|---|
| 동차계의 해집합 | 영공간, 부분공간 |
| 비동차계의 해집합 | 아핀 부분공간 (평행이동) |
| 가 열들로 만들어지는가 | 인가 |
셋째 줄이 특히 깔끔해집니다. 68강의 판정 정리가 이렇게 다시 쓰입니다.
존재는 열공간이 결정하고 유일성은 영공간이 결정합니다. 두 질문이 두 부분공간에 하나씩 대응합니다.
이 예에서 확인해 봅니다. 검산에서 이므로 열공간이 안의 평면이고, 영공간은 방향의 직선입니다. 68강 심화 6의 관계가 성립합니다.
74강에서 이 관계를 정리로 증명하고, 전치까지 포함한 네 가지 기본 부분공간을 다룹니다.
바로 확인 5.
확인 5-1. 영공간과 열공간이 각각 어디에 삽니까?
답. 가 일 때 영공간은 에, 열공간은 에 있습니다.
확인 5-2. 가 해를 가질 조건을 열공간으로 쓰세요.
답. 입니다.
확인 5-3. 해가 유일할 조건을 영공간으로 쓰세요.
답. 입니다.
| 개념 | 내용 |
|---|---|
| 벡터공간 | 두 연산이 여덟 공리를 만족하는 집합 |
| 부분공간 | 포함 + 덧셈 닫힘 + 상수배 닫힘 |
| 줄인 조건 | 비어 있지 않고 일차결합에 닫힘 |
| 생성 | 일차결합 전체, 언제나 부분공간 |
| 영공간 | 의 해집합 |
| 열공간 | 열들이 생성하는 집합 |
| 벡터공간의 예 | 원소 |
|---|---|
| \mathbb{R}^ | 실수 개 |
| P_ | 차수 다항식 |
| M_ | 행렬 |
| 연속함수 |
| 부분공간이 아닌 예 | 걸리는 조건 |
|---|---|
| 영벡터가 없습니다 | |
| 두 축의 합집합 | 덧셈에 닫히지 않습니다 |
| 제1사분면 | 음수배에서 나갑니다 |
| 자주 하는 실수 | 바로잡기 |
|---|---|
| 영벡터 확인을 건너뜁니다 | 가장 빨리 걸리는 조건입니다 |
| 상수배만 확인합니다 | 덧셈도 봐야 합니다 |
| 음수배를 잊습니다 | 모든 실수 에 대해입니다 |
| 벡터를 화살표로만 봅니다 | 함수도 다항식도 벡터입니다 |
문제 6. 벡터공간의 정의를 쓰세요.
답. 두 연산이 여덟 공리를 만족하는 집합입니다.
문제 7. 부분공간의 세 조건을 쓰세요.
답. 영벡터 포함, 덧셈 닫힘, 스칼라배 닫힘입니다.
문제 8. 가 부분공간입니까?
답. 맞습니다. 원점을 지나는 직선이며 세 조건을 만족합니다.
문제 9. 은 어떻습니까?
답. 아닙니다. 영벡터가 없습니다.
문제 10. 이 부분공간입니까?
답. 아닙니다. 이 밖에 있습니다.
문제 11. 를 기하로 설명하세요.
답. 원점을 지나고 방향인 직선입니다.
문제 12. 이 부분공간인 이유를 쓰세요.
답. 일차결합의 일차결합이 다시 일차결합이기 때문입니다.
문제 13. 가 "가장 작다"는 뜻을 쓰세요.
답. 두 벡터를 포함하는 어떤 부분공간도 이 집합을 포함합니다.
문제 14. 영공간과 열공간의 정의를 쓰세요.
답. 의 해집합과 열들이 생성하는 집합입니다.
문제 15. 가 일 때 두 공간이 사는 곳을 쓰세요.
답. 영공간은 에, 열공간은 에 있습니다.
문제 16. 의 존재와 유일성을 각각 어느 공간이 결정합니까?
답. 존재는 열공간이, 유일성은 영공간이 결정합니다.
문제 17. 가 과 어떤 관계입니까?
답. 계수를 나열하는 대응으로 동형입니다.
문제 18. 대각합이 인 행렬이 부분공간입니까?
답. 맞습니다. 대각합이 선형이므로 세 조건을 만족합니다.
심화 1. 공리에서 따라오는 기본 성질들을 증명하세요.
풀이. 공리에 명시되지 않았지만 당연해 보이는 것들이 있습니다. 정말로 따라오는지 확인합니다.
(가) 입니다.
두 번째 등호는 분배법칙입니다. 양변에 를 더하면
여기서 왼쪽의 은 스칼라이고 오른쪽 은 벡터입니다. 같은 기호를 쓰지만 다른 대상이며, 이 등식이 그 둘을 잇습니다.
(나) 입니다.
따라서 가 의 덧셈 역원입니다. 검산에서 에 대해 와 가 모두 영벡터입니다.
(다) 영벡터는 유일합니다.
과 가 모두 영원이면
입니다. 첫 등호는 가 영원이므로, 둘째는 이 영원이므로 성립합니다. 69강 문제 1의 역행렬 유일성 증명과 같은 구조입니다.
(라) 입니다.
이므로 (가)와 같은 방식으로 따라옵니다.
(마) 이면 이거나 입니다.
이라 하면 를 곱해
입니다.
(마)가 중요합니다. 66강 문제 3에서 행렬의 곱은 영인자를 가졌는데, 스칼라와 벡터의 곱은 그렇지 않습니다. 72강에서 일차독립을 정의할 때 이 성질을 씁니다.
이 증명들의 공통점은 오직 공리만 썼다는 것입니다. 따라서 뿐 아니라 다항식·함수·행렬 공간에서도 그대로 성립합니다. 공리로 적어 둔 이득이 여기서 실현됩니다.
심화 2. 함수 공간에서 59강의 푸리에 급수를 다시 읽으세요.
풀이. 를 봅니다. 함수를 더하고 상수배 할 수 있으므로 벡터공간입니다.
63강 심화 2에서 내적을 정의했습니다.
이것이 63강의 내적 세 조건을 만족합니다. 대칭성은 곱셈의 교환법칙에서, 선형성은 적분의 선형성에서, 양정치성은 이고 연속함수에서 등호가 일 때만 성립하는 데서 옵니다.
이제 59강의 계산이 무엇이었는지 봅니다.
검산에서 이고 이며 입니다. 서로 직교하고 길이가 입니다.
를 만들면
가 나옵니다. 계수를 로 나누면 과 로 원래 계수가 복원됩니다.
이것이 푸리에 계수 공식입니다.
64강 문제 1의 정사영 공식과 글자 하나까지 같습니다.
정리하면 이렇습니다.
| \mathbb{R}^ | 함수 공간 |
|---|---|
| 벡터 \mathbf | 함수 |
| 내적 \sum u_{i}v_ | |
| 정규직교기저 \mathbf{e}_ | 등 |
| 좌표 \mathbf{u}\cdot\mathbf{e}_ | 푸리에 계수 |
| 피타고라스 정리 | 파스발 항등식 |
| 정사영 | 푸리에 부분합 |
여섯 줄이 모두 대응합니다. 59강에서 "비슷하다"고 한 것이 실은 같은 정리를 다른 벡터공간에서 쓴 것이었습니다.
한 가지 차이가 있습니다. 함수 공간은 무한차원입니다. 가 무한히 많고 어느 유한 개로도 다 만들 수 없습니다. 그래서 유한합이 아니라 극한이 필요하고, 54강의 수렴 판정이 거기서 쓰였습니다. 심화 4에서 무한차원을 더 봅니다.
심화 3. 부분공간의 교집합과 합집합을 조사하고 합을 정의하세요.
풀이. 가 의 부분공간일 때 두 연산을 봅니다.
교집합은 부분공간입니다.
이 둘 다에 있으므로 교집합에 있습니다. 이면 각각이 과 에 있으므로 도 양쪽에 있습니다.
합집합은 대개 부분공간이 아닙니다.
검산의 예를 봅니다. 이고 일 때 이고 인데
은 어느 쪽에도 없습니다. 문제 3의 (2)가 정확히 이 상황이었습니다. 두 축의 합집합이 부분공간이 아니었던 것은 두 직선의 합집합이었기 때문입니다.
합집합이 부분공간이 되는 것은 한쪽이 다른 쪽을 포함할 때뿐입니다.
그러면 두 부분공간을 담는 부분공간이 필요할 때는 어떻게 합니까. 합집합 대신 합을 씁니다.
부분공간의 합.
이것은 부분공간이며, 를 포함하는 가장 작은 부분공간입니다. 실제로 입니다.
검산의 예에서 이고 는 축입니다.
차원 사이에 관계가 있습니다.
예에서 로 맞습니다. 포함-배제의 원리와 같은 모양이며 73강에서 증명합니다.
인 특별한 경우를 직합이라 하고 로 씁니다. 이때 각 원소의 분해가 유일하며, 64강의 정사영 분해가 정확히 이 구조였습니다.
80강에서 이 분해를 본격적으로 다룹니다.
심화 4. 무한차원 벡터공간의 예를 들고 유한차원과 무엇이 다른지 밝히세요.
풀이. 유한 개의 벡터로 생성되지 않는 벡터공간을 무한차원이라 합니다.
예를 봅니다.
| 공간 | 원소 |
|---|---|
| 모든 다항식 (차수 제한 없음) | |
| 연속함수 | |
| \ell^ | 제곱합이 유한한 수열 |
| L^ | 제곱적분 가능한 함수 |
가 무한차원인 이유를 봅니다. 다항식 개를 아무렇게나 골라도 그중 최대 차수 이 있고, 그것들의 일차결합은 차수가 을 넘지 않습니다. 그러면 을 만들 수 없습니다. 어떤 유한 집합도 전체를 생성하지 못합니다.
유한차원과 다른 점이 여럿입니다.
| 성질 | 유한차원 | 무한차원 |
|---|---|---|
| 기저 | 유한 개 | 무한 개 |
| 수렴 논의 | 필요 없습니다 | 필수입니다 |
| 모든 선형사상이 연속 | 예 | 아닙니다 |
| 예 (69강 심화 2) | 아닙니다 |
넷째 줄이 놀랍습니다. 수열 공간에서 오른쪽 이동 과 왼쪽 이동 을 보면
입니다. 은 첫 성분을 지웁니다. 69강 심화 2에서 정사각행렬이라는 조건이 결정적이라 했는데, 무한차원에서는 그 조건이 통하지 않습니다.
둘째 줄도 중요합니다. 무한합은 극한이므로 수렴하는지 물어야 합니다. 그래서 무한차원에서는 대개 노름이나 내적을 함께 갖춘 공간을 다루며, 완비성까지 요구하면 바나흐 공간과 힐베르트 공간이 됩니다.
가 힐베르트 공간이고, 59강의 푸리에 급수가 사는 곳입니다. 심화 2에서 대응표를 만들 때 그 배경이 이것입니다.
이 과목에서는 유한차원만 다룹니다. 다만 개념은 무한차원에서 왔고 응용도 거기 있다는 점을 알아 두면, 256강의 임베딩이나 306강의 어텐션에서 유한 근사를 다룰 때 무엇을 근사하는지가 보입니다.
심화 5. 해집합이 부분공간인 경우와 아닌 경우를 완전히 정리하세요.
풀이. 68강과 이 강의의 내용을 하나로 묶습니다.
동차계 의 해집합은 언제나 부분공간입니다. 문제 5에서 증명했습니다.
비동차계 의 해집합은 세 경우입니다.
| 경우 | 해집합 | 부분공간인가 |
|---|---|---|
| 공집합 | 아닙니다 (비어 있습니다) | |
| \mathbf{b}=\mathbf | 예 | |
| , \mathbf{b}\ne\mathbf | 아닙니다 (아핀) |
셋째 줄에서 왜 부분공간이 아닌지를 다시 확인합니다. 이 해라면 여야 하는데 이므로 모순입니다.
이 구조가 다른 곳에서도 나타납니다.
| 방정식 | 동차해 | 일반해 |
|---|---|---|
| A\mathbf{x}=\mathbf | ||
| 상수함수 | ||
| 특수해 그것 |
둘째 줄이 49강의 부정적분입니다. "미분하면 "인 함수들의 집합이 상수함수 전체이고, 그것이 함수 공간의 일차원 부분공간입니다. 그래서 가 붙습니다.
셋째 줄은 100강대의 미분방정식이며, 동차해가 이차원 부분공간입니다. 그래서 임의상수가 두 개 붙습니다.
공통 원리는 이렇습니다. 이 선형사상이면
이고, 은 언제나 부분공간입니다. 76강에서 선형사상을 정의하면 이 세 줄이 한 정리의 세 사례가 됩니다.
여기서 배울 태도가 있습니다. **"임의상수가 몇 개 붙는가"는 곧 "동차해 공간의 차원이 얼마인가"**입니다. 미분방정식에서 계수가 이면 상수가 개 붙는 이유가 그것이며, 우연이 아닙니다.
심화 6. 스칼라를 실수 아닌 것으로 바꾸면 무엇이 달라지는지 논하세요.
풀이. 공리에서 "스칼라"는 실수였습니다. 사칙연산이 되는 집합이면 무엇이든 쓸 수 있습니다. 그런 집합을 체라 합니다.
| 체 | 원소 | 쓰이는 곳 |
|---|---|---|
| \mathbb | 실수 | 이 과목의 기본 |
| \mathbb | 복소수 | 고유값, 신호처리 |
| \mathbb | 유리수 | 정수론, 정확 계산 |
| \mathbb{F}_ | \ | 부호, 암호 |
둘째 줄이 이 과목에서 곧 필요해집니다. 84강에서 고유값을 구할 때 실수 범위에서는 근이 없는 경우가 생깁니다. 회전행렬이 그 예이며, 실수 세계에서 보면 어떤 방향도 제자리로 오지 않습니다. 복소수로 넓히면 고유값이 로 나타나고, 30강의 복소수와 58강의 오일러 공식이 거기서 쓰입니다.
복소 벡터공간에서는 내적의 정의가 바뀝니다. 63강 심화 6에서 본 대로
로 한쪽에 켤레를 붙입니다. 그래야 이 실수이고 음이 아닙니다. 길이를 정의하려면 그 성질이 필요합니다.
넷째 줄도 실용적입니다. 에서는 이며, 이 위의 선형대수가 오류정정부호의 기반입니다. 생성행렬로 부호어를 만들고 검사행렬의 영공간으로 오류를 잡는데, 68강과 이 강의의 개념이 그대로 쓰입니다. 다만 직관은 다릅니다. 에는 크기나 각도가 없으므로 63강 이후의 기하는 옮겨 오지 않습니다.
무엇이 옮겨 가고 무엇이 안 가는지 정리합니다.
| 내용 | 임의의 체에서 |
|---|---|
| 부분공간, 생성, 일차독립 | 그대로 성립합니다 |
| 기저, 차원, 계수 | 그대로 성립합니다 |
| 가우스 소거, LU | 그대로 성립합니다 |
| 길이, 각도, 직교 | 체에 따라 다릅니다 |
| 고유값의 존재 | 대수적으로 닫힌 체에서 보장됩니다 |
앞의 세 줄이 이 단원의 내용이고 뒤의 두 줄이 05~06단원의 내용입니다. 이 단원이 가장 넓게 적용되는 부분이며, 그 이유는 계량 구조를 쓰지 않고 공리만 쓰기 때문입니다.
이 강의에서는 numpy만 씁니다. 다항식을 계수 벡터로 다루고, 부분공간 조건을 실제 벡터로 확인하며, 함수 공간의 내적을 수치적분으로 계산합니다. 부분공간이 아니라는 주장은 반례 하나로 끝나므로 코드가 특히 유효합니다.
import numpy as np
# --- 문제 1: 다항식을 계수 벡터로 -----------------------------------------
p = np.array([1.,-2.,3.]); q = np.array([0.,4.,-1.]) # 1-2x+3x^2, 4x-x^2
print((p+q).tolist(), (2*p).tolist())
# [1.0, 2.0, 2.0] [2.0, -4.0, 6.0]
xs = np.linspace(-1,1,5)
def ev(c,x): return sum(c[k]*x**k for k in range(len(c)))
print(np.allclose(ev(p+q,xs), ev(p,xs)+ev(q,xs)),
np.allclose(ev(2*p,xs), 2*ev(p,xs))) # True True
# --- 문제 2: x+y+z=0 은 부분공간입니다 ------------------------------------
def in_W1(v): return abs(v[0]+v[1]+v[2]) < 1e-12
u = np.array([1.,-1.,0.]); w = np.array([2.,0.,-2.])
print(in_W1(u), in_W1(w), in_W1(u+w), in_W1(-3*u), in_W1(np.zeros(3)))
# True True True True True
# --- 문제 3: 부분공간이 아닌 세 가지 --------------------------------------
def in_A(v): return abs(v[0]+v[1]+v[2]-1) < 1e-12 # x+y+z=1
a1 = np.array([1.,0.,0.]); a2 = np.array([0.,1.,0.])
print(in_A(a1), in_A(a2), in_A(a1+a2), in_A(np.zeros(3)))
# True True False False (덧셈에서 나가고 영벡터도 없습니다)
def in_C(v): return abs(v[0]*v[1]) < 1e-12 # 두 축의 합집합
c1 = np.array([1.,0.]); c2 = np.array([0.,1.])
print(in_C(c1), in_C(c2), in_C(c1+c2)) # True True False
def in_Q(v): return v[0] >= -1e-12 and v[1] >= -1e-12 # 제1사분면
print(in_Q(c1), in_Q(-1*c1)) # True False
# --- 문제 4: 생성은 방정식으로도 쓰입니다 ---------------------------------
v1 = np.array([1.,1.,0.]); v2 = np.array([0.,1.,1.])
def f(v): return v[0] - v[1] + v[2]
print(f(v1), f(v2)) # 0.0 0.0
for (a,b) in [(1.,0.),(0.,1.),(2.,-3.),(0.5,0.5)]:
print(a, b, float(np.round(f(a*v1 + b*v2), 12)))
# 1.0 0.0 0.0
# 0.0 1.0 0.0
# 2.0 -3.0 0.0
# 0.5 0.5 0.0
# --- 문제 5: 영공간과 열공간 ---------------------------------------------
A = np.array([[1.,2.,3.],[2.,4.,6.],[1.,1.,1.]])
n1 = np.array([1.,-2.,1.])
print(np.round(A@n1,12).tolist(), np.round(A@(3*n1),12).tolist())
# [0.0, 0.0, 0.0] [0.0, 0.0, 0.0]
print(int(np.linalg.matrix_rank(A))) # 2
b1 = A@np.array([1.,0.,0.]); b2 = A@np.array([0.,1.,0.])
print(bool(np.allclose(b1+b2, A@np.array([1.,1.,0.])))) # True
# --- 심화 1: 공리에서 따라오는 것 ----------------------------------------
v = np.array([3.,-1.,4.])
print((0*v + 0.0).tolist(), ((-1)*v).tolist(), (v + (-1)*v + 0.0).tolist())
# [0.0, 0.0, 0.0] [-3.0, 1.0, -4.0] [0.0, 0.0, 0.0]
# --- 심화 3: 교집합은 부분공간, 합집합은 아닙니다 -------------------------
def inW1(v): return abs(v[2]) < 1e-12 # z=0
def inW2(v): return abs(v[0]) < 1e-12 # x=0
e1 = np.array([1.,0.,0.]); e3 = np.array([0.,0.,1.])
print(inW1(e1), inW2(e3), inW1(e1+e3) or inW2(e1+e3)) # True True False
y = np.array([0.,5.,0.]); print(inW1(y) and inW2(y)) # True (교집합은 y축)
# --- 심화 2: 함수 공간에서 sin 들이 직교합니다 ---------------------------
t = np.linspace(0, 2*np.pi, 200001)
def ip(f,g): return float(np.trapezoid(f*g, t))
s1, s2 = np.sin(t), np.sin(2*t)
print("%.6f %.6f" % (ip(s1,s1), ip(s2,s2)), abs(ip(s1,s2)) < 1e-9)
# 3.141593 3.141593 True (둘 다 pi, 서로 직교)
comb = 3*s1 - 2*s2
print("%.6f %.6f" % (ip(comb,s1), ip(comb,s2)))
# 9.424778 -6.283185 (각각 3pi, -2pi)
실행하면 주석과 같은 값이 나옵니다. 다섯 곳을 짚어 둡니다.
첫째, 다항식을 계수 벡터로 다뤄도 값이 맞습니다. 계수끼리 더한 뒤 평가한 것과 각각 평가한 뒤 더한 것이 같습니다. 동형 대응이 연산을 보존한다는 뜻입니다.
둘째, 이 다섯 항목 모두 통과합니다.
셋째, 세 반례가 서로 다른 조건에서 걸립니다. 아핀평면은 덧셈과 영벡터에서, 두 축의 합집합은 덧셈에서만, 제1사분면은 음수배에서만 걸립니다. 마지막 두 줄이 특히 분명합니다. True True False와 True False가 각각 어느 조건이 깨졌는지 정확히 가리킵니다.
넷째, 생성이 방정식으로 표현됨을 확인합니다. 계수를 어떻게 잡아도 가 정확히 입니다. 만드는 쪽과 거르는 쪽이 같은 집합입니다.
다섯째가 이 강의의 사상적 핵심입니다. 함수 와 의 내적이 이고 각각의 제곱 내적이 입니다. 그러면 에 대해 내적이 와 가 나와 로 나누면 계수 과 가 복원됩니다. 59강의 푸리에 계수 공식이 정확히 이것이며, 64강의 정사영 공식과 형태가 같습니다.
코드로 할 수 없는 일도 분명히 해 둡니다. 어떤 집합이 부분공간임은 예로 확인되지 않습니다. 몇 개의 벡터에서 닫혀 있다고 모든 벡터에서 닫혀 있는 것은 아니므로, 문제 2와 4의 논증이 그 자리를 맡습니다. 반대로 부분공간이 아님은 반례 하나로 끝나므로 문제 3의 False 출력들은 완결된 반증입니다. 또 하나, 심화 2의 적분은 수치적분이므로 정확한 이 아니라 보다 작음만 확인했습니다. 직교성의 증명은 삼각함수의 곱을 합으로 바꾸는 항등식이며 59강에 있습니다.
정답.
| 기호 | 읽는 법 | 뜻 |
|---|---|---|
| 벡터공간 | 여덟 공리를 만족합니다 | |
| 부분공간 | 세 조건을 만족합니다 | |
| 생성 | 일차결합 전체입니다 | |
| 영공간 | 의 해집합입니다 | |
| 열공간 | 열들이 생성합니다 | |
| P_ | 다항식 공간 | 차수가 이하입니다 |
| 연속함수 공간 | 무한차원입니다 | |
| W_{1}+W_ | 합 | 각각에서 하나씩 더합니다 |
| W_{1}\oplus W_ | 직합 | 교집합이 입니다 |
다음 72강에서는 생성하는 벡터가 몇 개나 필요한지를 묻습니다. 문제 4에서 두 벡터로 평면을 만들었는데, 세 개를 던져도 같은 평면이 나올 수 있습니다. 그러면 하나는 군더더기입니다. 군더더기가 없는 상태를 일차독립이라 하고, 군더더기 없이 전체를 생성하는 집합을 기저라 합니다. 그것이 73강의 차원으로 이어집니다.