66강에서 행렬을 변환으로 읽기 시작했고, 75강에서 같은 변환이 기저에 따라 다른 행렬로 나타남을 보았습니다.
두 행렬은 성분이 완전히 다른데 같은 것입니다. 그러면 "같은 것"이 무엇인지 물어야 합니다. 성분이 아니라면 무엇이 그 변환의 정체입니까.
이 강의는 순서를 뒤집습니다. 행렬을 먼저 두고 변환을 설명하는 대신, 변환을 먼저 정의하고 행렬을 그 표현으로 봅니다.
그러면 세 가지가 정리됩니다.
첫째, "같은 변환"이 정확히 무엇인지 정의됩니다. 좌표를 잡기 전에 이미 존재하는 대상입니다.
둘째, 71강과 73강의 개념이 좌표 없이 다시 세워집니다. 영공간은 핵이 되고 열공간은 상이 되며, 계수-퇴화차수 정리가 소거 없이 증명됩니다.
셋째, 밖으로 나갑니다. 미분과 적분이 선형사상이므로, 이 단원의 결과가 함수 공간에서도 성립합니다.
문제. 다음 사상이 선형인지 판정하세요.
(1) 무엇을 확인해야 합니까?
(2) 각각 판정하세요.
(3) 에서 주의할 점을 찾으세요.
생각의 실마리. (3)이 이 문제의 함정입니다. 는 양수배에서는 통과합니다. 이기 때문입니다. 음수배를 시험해야 걸립니다.
풀이. (1) 두 가지를 확인합니다.
(2) 검산에서 판정합니다.
| 사상 | 덧셈 | T(\mathbf{0})=\mathbf | ||
|---|---|---|---|---|
| T_ | 예 | 예 | 예 | 예 |
| T_ | 아니오 | 아니오 | 아니오 | 아니오 |
| T_ | 아니오 | 아니오 | 아니오 | 예 |
| T_ | 아니오 | 예 | 아니오 | 예 |
만 선형입니다.
(3) 는 양수배에 대해서만 성립합니다.
에서 왼쪽은 이고 오른쪽은 입니다.
이 문제에서 배우는 것: 선형변환의 정의.
선형변환. 벡터공간 에서 로 가는 사상 가
를 만족하면 선형변환 또는 선형사상이라 합니다.
두 조건을 하나로 합칠 수 있습니다.
**"일차결합을 보존한다"**는 한 문장이며, 71강의 부분공간 조건과 같은 모양입니다.
즉시 따라오는 성질이 있습니다.
선형이면 영벡터를 영벡터로 보냅니다. 그래서 이면 즉시 비선형이며, 가 그 경우입니다.
주의할 것이 두 가지입니다.
첫째, 은 필요조건일 뿐입니다. 와 는 통과하지만 선형이 아닙니다.
둘째, 두 조건이 서로 독립입니다. 는 양수배 조건을 만족하지만 덧셈을 어깁니다. 반대의 예도 있습니다.
처럼 꼴을 아핀변환이라 합니다. 68강 심화 3에서 아핀 부분공간을 다뤘는데 같은 접두사입니다. 원점을 지키지 않는 것이 공통점입니다.
신경망의 층이 인 것도 아핀입니다. 224강에서 편향이 왜 필요한지 다룹니다.
바로 확인 1.
확인 1-1. 선형변환의 두 조건을 하나로 쓰세요.
답. 입니다.
확인 1-2. 이면 무엇을 알 수 있습니까?
답. 선형이 아닙니다.
확인 1-3. 이면 선형입니까?
답. 아닙니다. 필요조건일 뿐입니다.
문제. 를 봅니다.
(1) 과 를 구하세요.
(2) 임의의 에 대한 을 그 둘로 나타내세요.
(3) 일반적으로 무엇이 변환을 결정합니까?
생각의 실마리. (2)에서 로 쓰고 선형성을 씁니다.
풀이. (1) 이고 입니다.
(2) 선형성에서
기저의 상만 알면 나머지가 따라옵니다.
이것을 행렬로 적으면 열이 기저의 상입니다.
검산에서 세 벡터 모두 입니다.
(3) 일반화합니다.
이 문제에서 배우는 것: 기저가 변환을 결정합니다.
정리. 의 기저 에 대해 상 를 자유롭게 정하면 선형변환 가 유일하게 결정됩니다.
존재. 에 대해 로 정의하면 됩니다. 72강의 좌표가 유일하므로 이 정의가 잘 정의됩니다.
유일성. 두 선형변환이 기저에서 같으면 모든 벡터에서 같습니다. 일차결합을 보존하기 때문입니다.
이 정리가 66강 문제 5의 관찰에 근거를 줍니다. **행렬의 번째 열이 **라고 했는데, 그것이 "기저의 상이 변환을 결정한다"의 특별한 경우입니다.
가 유한차원이면 모든 선형변환이 행렬로 표현됩니다. 기저를 잡으면 되기 때문입니다. 다만 기저를 바꾸면 행렬이 바뀝니다. 77강에서 그 관계를 다룹니다.
여기서 관점이 갈립니다.
| 관점 | 대상 |
|---|---|
| 좌표 없음 | 선형변환 |
| 좌표 있음 | 표현행렬 [T]_ |
왼쪽이 정의이고 오른쪽이 계산 도구입니다. 75강 심화 6에서 말한 구별입니다.
바로 확인 2.
확인 2-1. 선형변환을 결정하는 것이 무엇입니까?
답. 기저의 상입니다.
확인 2-2. 행렬의 번째 열이 무엇입니까?
답. 번째 기저벡터의 상 입니다.
확인 2-3. 기저의 상을 아무렇게나 정해도 됩니까?
답. 됩니다. 그러면 선형변환이 유일하게 결정됩니다.
문제. 이고 입니다.
(1) 인 것들의 집합이 부분공간입니까?
(2) 의 값들이 이루는 집합은 어떻습니까?
(3) 두 집합의 차원 관계를 쓰세요.
생각의 실마리. 71강 문제 5에서 이미 확인한 것인데, 이번에는 행렬을 쓰지 않고 선형성만으로 증명합니다.
풀이. (1) 부분공간입니다. 이고, 이면
검산에서 과 이 모두 으로 갑니다.
(2) 부분공간입니다. 이고
로 다시 값의 집합에 있습니다.
(3) 검산에서 이고 핵의 차원이 이며 합이 입니다.
이 문제에서 배우는 것: 핵과 상.
핵과 상.
둘 다 부분공간입니다.
71강의 개념과 대응합니다.
| 좌표 없음 | 행렬로 |
|---|---|
증명에 행렬이 쓰이지 않았다는 점이 중요합니다. 선형성만 썼으므로 미분이나 적분 같은 사상에서도 그대로 성립합니다. 문제 5에서 확인합니다.
73강의 정리도 좌표 없이 다시 세워집니다.
차원 정리. 가 유한차원이면
증명이 소거를 쓰지 않습니다. 의 기저 를 잡고, 72강 심화 3으로 의 기저 으로 확장합니다. 그러면
임을 보이면 됩니다.
생성. 임의의 에서 를 기저로 전개하면 부분은 으로 가므로 들의 결합입니다.
독립. 이면 이므로 입니다. 그러면 그것이 들의 결합인데, 전체가 기저이므로 모든 계수가 입니다.
따라서 이고 이며 입니다.
73강의 증명과 비교하면 차이가 분명합니다. 거기서는 자유변수를 세었고 여기서는 기저를 확장했습니다. 후자가 좌표에 의존하지 않으므로 더 넓게 적용됩니다.
바로 확인 3.
확인 3-1. 핵과 상의 정의를 쓰세요.
답. 각각 으로 가는 것들과 상으로 나타나는 것들의 집합입니다.
확인 3-2. 차원 정리를 쓰세요.
답. 입니다.
확인 3-3. 이 정리의 증명이 73강과 어떻게 다릅니까?
답. 소거 대신 핵의 기저를 확장하며, 좌표에 의존하지 않습니다.
문제. 네 변환을 봅니다.
(1) 각각이 단사인지 판정하세요.
(2) 전사인지 판정하세요.
(3) 차원으로 규칙을 세우세요.
생각의 실마리. 단사는 "서로 다른 것이 서로 다른 곳으로"입니다. 선형이면 이것이 핵으로 판정됩니다.
풀이. (1) 핵을 봅니다. 검산에서 계수가 이므로
| 변환 | \operatorname | 단사 | ||
|---|---|---|---|---|
| 정사영 | 아니오 | |||
| 끼워넣기 | 예 | |||
| 버리기 | 아니오 | |||
| 회전 | 예 |
(2) 상이 전체인지 봅니다.
| 변환 | \operatorname | 전사 | |
|---|---|---|---|
| 아니오 | |||
| 아니오 | |||
| 예 | |||
| 예 |
(3) 규칙을 세웁니다.
이 문제에서 배우는 것: 단사와 전사의 판정.
판정. 가 선형일 때
성질 조건 단사 , 즉 전사 , 즉 동형 둘 다
단사가 핵으로 판정되는 이유를 확인합니다.
따라서 핵이 인 것과 단사가 같습니다. 72강 문제 2, 73강 문제 5, 74강 문제 4와 같은 논법이 네 번째로 나왔습니다.
차원 정리와 합치면 크기에 따른 제약이 나옵니다.
| 크기 | 가능한 것 |
|---|---|
| 단사 불가능 | |
| 전사 불가능 | |
| 단사와 전사가 같은 뜻 |
셋째 줄이 중요합니다. 이면
이므로 하나만 확인하면 됩니다. 69강 심화 2에서 정사각행렬에 대해 이면 라 한 것이 이 사실의 다른 표현입니다.
와 이 둘 다 인데 성격이 다른 것도 이 표로 설명됩니다. 은 계수가 라 동형이고 는 이라 둘 다 실패합니다.
바로 확인 4.
확인 4-1. 단사를 핵으로 판정하는 근거를 쓰세요.
답. 가 와 같기 때문입니다.
확인 4-2. 이면 단사가 가능합니까?
답. 불가능합니다. 핵의 차원이 최소 입니다.
확인 4-3. 일 때 무엇이 성립합니까?
답. 단사와 전사가 같은 뜻이 됩니다.
문제. (차수 이하 다항식)에서 미분 을 봅니다.
(1) 선형입니까?
(2) 기저 에 대한 행렬을 구하세요.
(3) 핵과 상을 구하고 차원 정리를 확인하세요.
생각의 실마리. (2)에서 문제 2의 규칙을 씁니다. 각 기저원소를 미분해 좌표로 적으면 그것이 열입니다.
풀이. (1) 선형입니다. 미분의 성질에서
검산에서 확인됩니다. 38강에서 배운 미분의 선형성이 이 사실입니다.
(2) 기저를 미분합니다.
좌표로 적어 열로 놓으면
검산에서 의 좌표 에 곱하면 이고, 이것이 입니다.
(3) 핵은 미분하면 인 것, 즉 상수함수입니다. 차원이 입니다.
상은 미분의 결과로 나오는 것들이며 차수 이하의 다항식 전체입니다. 차원이 입니다.
검산에서 계수가 이고 핵의 차원이 입니다.
이 문제에서 배우는 것: 함수 공간의 선형사상.
미분은 선형사상입니다. 이고 는 상수함수 전체입니다.
49강의 부정적분 가 여기서 완전히 설명됩니다.
에서 는 의 원소입니다. 68강 문제 3에서 일반해 특수해 동차해라 했는데, 지금 보면 의 해집합이
입니다. 71강 심화 5에서 표로 정리한 것이 이제 정리 하나의 사례가 되었습니다.
미분방정식의 임의상수 개수도 설명됩니다. 계 선형미분방정식은 핵의 차원이 이므로 상수가 개 붙습니다.
의 다른 성질도 봅니다. 검산에서 입니다. **네 번 미분하면 차수 이하는 모두 **이 되기 때문이며, 66강 문제 3의 멱영행렬입니다. 그때 인위적으로 만든 예처럼 보였는데, 미분이 자연스러운 멱영 사상입니다.
적분도 봅니다. 을 상수항 인 원시함수라 하면 검산에서
입니다. 한쪽만 항등이 됩니다. 미분한 뒤 적분하면 상수항이 사라지기 때문입니다.
69강 심화 2의 예와 같은 구조입니다. 거기서 크기가 다른 행렬로 만든 예가 여기서는 미적분학의 기본정리로 나타납니다. 적분은 미분의 오른쪽 역이지만 왼쪽 역은 아닙니다.
바로 확인 5.
확인 5-1. 미분이 선형인 근거를 쓰세요.
답. 이고 입니다.
확인 5-2. 에서 가 무엇입니까?
답. 상수함수 전체이며 차원이 입니다.
확인 5-3. 부정적분의 를 이 강의의 언어로 설명하세요.
답. 의 원소를 더하는 것입니다.
| 개념 | 내용 |
|---|---|
| 선형변환 | |
| 결정 | 기저의 상이 정하면 유일합니다 |
| 표현행렬 | 열이 |
| 핵 | 인 것들 |
| 상 | 의 값들 |
| 차원 정리 |
| 판정 | 조건 |
|---|---|
| 단사 | |
| 전사 | |
| 동형 | 둘 다 |
| 일 때 | 단사 전사 |
| 예 | 선형인가 |
|---|---|
| A\mathbf | 예 |
| A\mathbf{x}+\mathbf | 아핀 (선형 아님) |
| 미분, 적분 | 예 |
| 절댓값, 제곱 | 아닙니다 |
| 자주 하는 실수 | 바로잡기 |
|---|---|
| 이면 선형이라 봅니다 | 필요조건일 뿐입니다 |
| 양수배만 확인합니다 | 음수배도 봐야 합니다 |
| 아핀을 선형이라 합니다 | 원점을 지켜야 선형입니다 |
| 차원 정리의 를 정의역이 아닌 것으로 봅니다 | 출발 공간의 차원입니다 |
문제 6. 선형변환의 조건을 하나의 식으로 쓰세요.
답. 입니다.
문제 7. 가 선형입니까?
답. 아닙니다. 입니다.
문제 8. 가 선형입니까?
답. 아닙니다. 이고 입니다.
문제 9. , 일 때 행렬을 쓰세요.
답. 입니다.
문제 10. 문제 9의 을 구하세요.
답. 입니다.
문제 11. 핵과 상이 부분공간인 이유를 한 문장으로 쓰세요.
답. 가 일차결합을 보존하기 때문입니다.
문제 12. 차원 정리를 쓰세요.
답. 입니다.
문제 13. 단사의 판정 조건을 쓰세요.
답. 입니다.
문제 14. 이 단사일 수 있습니까?
답. 없습니다. 핵의 차원이 최소 입니다.
문제 15. 가 전사일 수 있습니까?
답. 없습니다. 상의 차원이 최대 입니다.
문제 16. 일 때 단사와 전사의 관계를 쓰세요.
답. 서로 같은 뜻입니다.
문제 17. 에서 미분의 핵과 그 차원을 쓰세요.
답. 상수함수 전체이며 차원이 입니다.
문제 18. 부정적분의 를 핵으로 설명하세요.
답. 의 원소를 더하는 것입니다.
심화 1. 선형변환들의 합성과 역을 다루고 행렬 연산과의 대응을 정리하세요.
풀이. 선형변환에도 연산이 있습니다.
합성. , 일 때 입니다. 선형입니다.
표현행렬은 곱입니다.
66강 문제 2에서 곱셈을 합성으로 정의했으므로 당연합니다. 그때는 곱셈이 왜 그 모양인지 설명하려고 합성을 썼고, 지금은 합성이 먼저이고 곱셈이 그 표현입니다.
검산에서 회전 과 확대 를 봅니다. 와 가 둘 다 이고, 순서를 바꾼 는 으로 다릅니다.
역. 가 동형이면 역사상 이 있고 역시 선형입니다.
증명은 를 씌워 보면 됩니다. 양변에 를 적용하면 의 선형성에서 같아집니다.
검산에서 입니다. 회전의 역이 반대 방향 회전이며 전치와 같습니다.
덧셈과 상수배. 두 선형변환의 합과 상수배도 선형이므로, 선형변환 전체가 벡터공간을 이룹니다.
, 이면 표현행렬이 이므로
입니다. 71강의 행렬 공간 과 동형입니다.
대응을 정리합니다.
| 변환 쪽 | 행렬 쪽 |
|---|---|
| 합성 | 곱 |
| 역 T^ | 역행렬 [T]^ |
| 합 | 합 |
| 상수배 | 상수배 |
| 항등 \operatorname | 단위행렬 |
| M_ |
행렬 대수 전체가 선형변환의 언어로 다시 읽힙니다. 그리고 66강에서 곱셈이 교환적이지 않았던 이유가 여기서 자명합니다. 합성은 순서를 바꾸면 다른 것이기 때문입니다.
심화 2. 동형사상을 정의하고 유한차원 벡터공간의 분류를 논하세요.
풀이. 문제 4에서 단사이면서 전사인 것을 동형이라 했습니다. 정확히 정의합니다.
동형사상. 선형이고 전단사인 를 동형사상이라 하고, 그런 가 있으면 로 씁니다.
동형이면 구조가 완전히 같습니다. 71강 문제 1에서 이라 한 것이 이 뜻입니다.
분류 정리를 얻습니다.
정리. 유한차원 벡터공간에 대해
() 동형사상은 기저를 기저로 보냅니다. 가 단사이므로 독립을 보존하고, 전사이므로 생성을 보존합니다.
() 양쪽 기저를 하나씩 잡고 로 정의하면 문제 2의 정리에서 선형변환이 결정되고, 기저를 기저로 보내므로 동형입니다.
따라오는 결론이 강합니다.
차원이 같으면 다 같은 공간이며, 차원이 유한차원 벡터공간의 완전한 불변량입니다.
| 공간 | 차원 | 동형인 것 |
|---|---|---|
| P_ | \mathbb{R}^ | |
| M_ | \mathbb{R}^ | |
| 대칭 | \mathbb{R}^ | |
| (실 벡터공간) | \mathbb{R}^ |
둘째와 셋째가 서로 동형인 것이 흥미롭습니다. 겉보기에 전혀 다른 대상인데 벡터공간으로서는 구별되지 않습니다.
그런데 이 사실을 오해하면 안 됩니다. 동형은 벡터공간 구조만 보존합니다. 행렬에는 곱셈이 있고 다항식에는 곱셈과 합성이 있는데, 그런 구조는 옮겨 가지 않습니다.
| 구조 | 동형이 보존하는가 |
|---|---|
| 덧셈과 상수배 | 예 |
| 곱셈 | 아닙니다 |
| 내적, 길이 | 아닙니다 |
| 순서 | 아닙니다 |
셋째 줄이 중요합니다. 길이까지 보존하려면 직교사상이어야 하며, 75강 문제 3의 직교행렬이 그것입니다. 80강에서 다룹니다.
심화 3. 표현행렬이 기저에 의존하는 방식을 정리하고 77강을 예고하세요.
풀이. 문제 2에서 표준기저를 썼습니다. 다른 기저를 쓰면 행렬이 달라집니다.
이고 의 기저가 일 때, 표현행렬 는
로 정의됩니다. 열은 입니다.
기저를 로 바꾸면 75강 문제 2의 변환행렬 에 대해
입니다. 유도는 이렇습니다.
75강 문제 4의 닮음이 여기서 정확한 뜻을 얻습니다.
75강에서는 "같은 변환을 다른 기저에서 본 것"이라고 말했지만, "변환"이 무엇인지는 정의하지 않았습니다. 이 강의에서 정의했으므로 이제 그 진술이 정확합니다.
정의역과 공역이 다르면 기저가 둘 필요합니다. 에 대해 를 쓰고
입니다. 양쪽에서 서로 다른 행렬이 곱해지므로 닮음이 아니고 동치라 부릅니다.
| 관계 | 형태 | 언제 |
|---|---|---|
| 닮음 | P A P^ | , 기저 하나 |
| 동치 | , 기저 둘 | |
| 직교 닮음 | 길이 구조 보존 |
동치는 훨씬 헐겁습니다. 실제로 임의의 에 대해 적절한 를 잡으면
로 만들 수 있습니다. 74강 문제 4의 그림을 행렬로 적은 것이며, 동치류의 완전한 불변량이 계수 하나입니다.
닮음은 그렇게 단순하지 않습니다. 고유값이 관여하며 77강과 85강에서 다룹니다.
심화 4. 무한차원에서 선형사상이 어떻게 달라지는지 논하세요.
풀이. 71강 심화 4와 73강 심화 6에서 무한차원을 언급했습니다. 선형사상에 대해 정리합니다.
첫째, 차원 정리가 그대로 쓰이지 않습니다. 무한 무한이 정의되지 않으므로, 대신 지표를 봅니다.
둘째, 단사와 전사가 분리됩니다. 유한차원에서 이면 둘이 같은 뜻이었는데, 무한차원에서는 아닙니다.
이 오른쪽 이동은 단사인데 전사가 아닙니다. 왼쪽 이동은 반대입니다. 두 사상 모두 같은 공간에서 같은 공간으로 갑니다.
셋째, 연속성이 추가 조건이 됩니다. 유한차원에서는 모든 선형사상이 연속인데, 무한차원에서는 아닙니다.
미분이 그 예입니다. 에서 을 봅니다. 이면
입력이 에 가까워지는데 출력이 폭발합니다. 미분은 유계 연산자가 아닙니다.
이 사실의 실용적 의미가 큽니다.
| 현상 | 결과 |
|---|---|
| 미분이 유계가 아닙니다 | 잡음이 증폭됩니다 |
| 적분은 유계입니다 | 잡음이 평활됩니다 |
데이터를 수치 미분하면 잡음이 커지는 이유가 이것입니다. 47강에서 중심차분의 절단오차를 다뤘는데, 거기에 반올림 오차까지 겹치면 를 줄여도 정확도가 좋아지지 않습니다.
역문제에서도 같은 구조가 나옵니다. 적분 방향은 안정하고 그 역방향(디컨볼루션, CT 재구성)은 불안정합니다. 69강 심화 5의 정칙화가 그 대응입니다.
넷째, 스펙트럼이 고유값보다 넓습니다. 유한차원에서 고유값은 의 근이지만, 무한차원에서는 역이 존재하지 않는 가 고유값이 아니면서도 있을 수 있습니다. 84강에서 유한차원의 경우를 다루며, 그 확장은 함수해석의 주제입니다.
심화 5. 선형성이 실무에서 왜 그렇게 자주 가정되는지 논하세요.
풀이. 현실의 관계는 대개 비선형인데도 선형 모형이 널리 쓰입니다. 이유가 여럿입니다.
첫째, 풀 수 있습니다. 선형 문제는 이 과목의 도구로 완전히 해결됩니다. 해의 존재, 유일성, 계산법, 안정성이 모두 정리로 정해집니다. 비선형은 그런 보장이 없습니다.
둘째, 국소적으로 옳습니다. 미분 가능한 사상은 각 점 근처에서 선형사상으로 근사됩니다.
39강의 접선 근사를 다변수로 옮긴 것이며, 93강 이후 다변수 미적분의 출발점입니다. 그러면 비선형 문제를 선형 문제의 연속으로 다룰 수 있고, 그것이 뉴턴법(47강)과 경사하강법(208강)입니다.
셋째, 중첩이 성립합니다. 선형이면 입력을 쪼개 각각 처리하고 결과를 더할 수 있습니다.
59강의 푸리에 분석이 이것에 전적으로 의존합니다. 신호를 주파수 성분으로 쪼개고, 각각이 선형 시스템을 어떻게 통과하는지 보고, 다시 더합니다. 비선형이면 이 방법이 무너집니다.
넷째, 통계적으로 안전합니다. 선형 모형은 파라미터가 적어 과적합이 덜하고, 계수의 해석이 명확합니다. 데이터가 적을 때 특히 유리합니다.
한계도 분명합니다.
| 한계 | 예 |
|---|---|
| 포화가 표현되지 않습니다 | 자극이 커도 반응이 무한히 커집니다 |
| 상호작용이 없습니다 | 변수 곱의 효과를 담지 못합니다 |
| 임계 현상이 없습니다 | 갑자기 바뀌는 거동을 못 냅니다 |
신경망이 비선형 활성화를 쓰는 이유가 여기 있습니다. 선형층만 쌓으면 심화 1에서 본 대로 합성이 다시 선형이므로 한 층과 표현력이 같습니다.
깊이가 의미를 가지려면 사이에 비선형이 필요합니다. 224강에서 다시 봅니다.
실무의 태도는 이렇습니다. 선형으로 먼저 풀어 보고, 부족하면 어디가 부족한지 확인한 뒤 필요한 만큼만 비선형을 넣습니다. 선형 모형은 기준선이자 출발점입니다.
심화 6. 선형사상의 관점이 이 과목 뒤에서 어떻게 쓰이는지 미리 정리하세요.
풀이. 이 강의에서 세운 관점이 남은 단원에서 어떻게 쓰이는지 봅니다.
04단원: 행렬식. 78강에서 행렬식을 정의하고 79강에서 그것이 부피 배율임을 봅니다. 부피 배율은 좌표와 무관한 양이므로 선형변환의 성질이며, 심화 3의 닮음 불변성이 그것을 보장합니다.
05단원: 직교성. 80강에서 길이를 보존하는 사상을 다룹니다. 심화 2에서 동형이 길이를 보존하지 않는다고 했는데, 길이까지 보존하는 것이 직교사상입니다. 그것이 특별한 이유는 82강의 최소제곱에서 드러납니다.
06단원: 고유값. 84강에서 인 방향을 찾습니다. 좌표에 의존하지 않는 정의입니다. 그런 방향으로 기저를 잡으면 표현행렬이 대각이 되고, 그것이 85강의 대각화입니다.
86강의 스펙트럼 정리는 자기수반 사상, 즉 인 것에 대한 정리입니다. 66강 문제 4에서 전치가 그 성질을 준다고 했는데, 좌표 없이 말하면 자기수반입니다.
88강의 특이값 분해는 정의역과 공역에서 각각 정규직교기저를 잡아 사상이 대각이 되게 하는 것입니다. 74강 문제 4의 그림에 길이 구조를 더한 결과입니다.
정리합니다.
| 강의 | 좌표 없는 진술 | 좌표로 옮기면 |
|---|---|---|
| 78 | 부피 배율 | 행렬식 |
| 80 | 길이를 보존하는 사상 | 직교행렬 |
| 84 | 방향이 안 바뀌는 벡터 | 고유벡터 |
| 86 | 자기수반 사상 | 대칭행렬 |
| 88 | 두 정규직교기저 사이의 늘임 | U\Sigma V^ |
왼쪽 열이 정의이고 오른쪽 열이 계산법입니다. 이 구별을 유지하면 왜 그 공식이 나오는지 설명할 수 있고, 기저를 바꿔도 흔들리지 않습니다.
이 강의에서는 numpy만 씁니다. 선형성 조건을 직접 시험하고, 표현행렬을 기저의 상으로 만들며, 미분과 적분을 행렬로 다룹니다. 선형이 아님은 반례 하나로 끝나므로 코드가 완결된 증거를 줍니다.
import numpy as np
# --- 문제 1: 선형성 판정 -------------------------------------------------
def T1(v): return np.array([v[0]+2*v[1], 3*v[0]-v[1]])
def T2(v): return np.array([v[0]+1, v[1]]) # 평행이동
def T3(v): return np.array([v[0]**2, v[1]]) # 제곱
def T4(v): return np.array([abs(v[0]), v[1]]) # 절댓값
u = np.array([1.,2.]); w = np.array([-3.,1.])
for T, name in [(T1,"T1"), (T2,"T2"), (T3,"T3"), (T4,"T4")]:
add = bool(np.allclose(T(u+w), T(u)+T(w)))
pos = bool(np.allclose(T( 2.0*u), 2.0*T(u)))
neg = bool(np.allclose(T(-2.0*u), -2.0*T(u)))
zero = bool(np.allclose(T(np.zeros(2)), np.zeros(2)))
print(name, add, pos, neg, zero)
# T1 True True True True
# T2 False False False False
# T3 False False False True
# T4 False True False True <- 양수배만 통과합니다
# --- 문제 2: 기저의 상이 변환을 결정합니다 -------------------------------
e1 = np.array([1.,0.]); e2 = np.array([0.,1.])
A = np.column_stack([T1(e1), T1(e2)])
print(A.tolist()) # [[1.0, 2.0], [3.0, -1.0]]
for v in [np.array([1.,2.]), np.array([-3.,1.]), np.array([0.5,-0.5])]:
print(np.round(T1(v),10).tolist(), np.round(A@v,10).tolist())
# [5.0, 1.0] [5.0, 1.0]
# [-1.0, -10.0] [-1.0, -10.0]
# [-0.5, 2.0] [-0.5, 2.0]
# --- 문제 3: 핵과 상 -----------------------------------------------------
B = np.array([[1.,2.,3.],[2.,4.,6.]])
def S(v): return B@v
n = np.array([1.,1.,-1.])
print(np.round(S(n),12).tolist(), np.round(S(3*n),12).tolist())
# [0.0, 0.0] [0.0, 0.0]
r = int(np.linalg.matrix_rank(B))
print(r, B.shape[1]-r, r + (B.shape[1]-r) == B.shape[1]) # 1 2 True
print(np.round(S(np.array([1.,0.,0.])),10).tolist(),
np.round(S(np.array([0.,1.,0.])),10).tolist())
# [1.0, 2.0] [2.0, 4.0] (상은 (1,2) 방향 직선)
# --- 문제 4: 단사와 전사 -------------------------------------------------
cases = {
"정사영": np.array([[1.,0.],[0.,0.]]),
"끼워넣기": np.array([[1.,0.],[0.,1.],[0.,0.]]),
"버리기": np.array([[1.,0.,0.],[0.,1.,0.]]),
"회전": np.array([[0.,-1.],[1.,0.]]),
}
for name, M in cases.items():
m_, n_ = M.shape; rr = int(np.linalg.matrix_rank(M))
print(name, m_, n_, rr, rr == n_, rr == m_) # 이름 m n rank 단사 전사
# 정사영 2 2 1 False False
# 끼워넣기 3 2 2 True False
# 버리기 2 3 2 False True
# 회전 2 2 2 True True
# --- 문제 5: 미분은 선형사상입니다 ---------------------------------------
D = np.array([[0.,1.,0.,0.],[0.,0.,2.,0.],[0.,0.,0.,3.],[0.,0.,0.,0.]])
p = np.array([5.,-2.,4.,1.]) # 5 - 2x + 4x^2 + x^3
print((D@p).tolist()) # [-2.0, 8.0, 3.0, 0.0]
q = np.array([1.,1.,1.,1.]); a = 3.0
print(np.allclose(D@(p + a*q), D@p + a*(D@q))) # True
print(int(np.linalg.matrix_rank(D)), 4-int(np.linalg.matrix_rank(D))) # 3 1
print((D@np.array([1.,0.,0.,0.])).tolist()) # [0.0, 0.0, 0.0, 0.0]
print(np.round(np.linalg.matrix_power(D,4),10).tolist())
# [[0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0]]
# --- 심화 1: 합성이 곱, 역이 역행렬 --------------------------------------
R = np.array([[0.,-1.],[1.,0.]]); Sc = np.array([[2.,0.],[0.,3.]])
v = np.array([1.,2.])
print(np.round(R@(Sc@v),10).tolist(), np.round((R@Sc)@v,10).tolist())
# [-6.0, 2.0] [-6.0, 2.0]
print(np.round(Sc@(R@v),10).tolist()) # [-4.0, 3.0] (순서가 다릅니다)
print((np.round(np.linalg.inv(R),10)+0.0).tolist(), np.round(R.T,10).tolist())
# [[0.0, 1.0], [-1.0, 0.0]] [[0.0, 1.0], [-1.0, 0.0]]
# --- 문제 5: 적분은 미분의 오른쪽 역일 뿐입니다 -------------------------
I = np.array([[0.,0.,0.],[1.,0.,0.],[0.,0.5,0.],[0.,0.,1/3]]) # P2 -> P3
D32 = np.array([[0.,1.,0.,0.],[0.,0.,2.,0.],[0.,0.,0.,3.]]) # P3 -> P2
print(np.round(D32@I,10).tolist())
# [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] (항등)
print(np.round(I@D32,10).tolist())
# [[0.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0], [0.0, 0.0, 0.0, 1.0]]
# 상수항 자리만 0 입니다: 미분하면 상수가 사라지기 때문입니다
실행하면 주석과 같은 값이 나옵니다. 다섯 곳을 짚어 둡니다.
첫째가 이 강의에서 가장 조심할 지점입니다. 는 양수배에서 통과하고 음수배에서 걸립니다. True False가 나란히 나오는 줄이 그것입니다. 스칼라배 조건을 로만 시험하면 비선형 사상을 선형이라 판정하게 됩니다.
둘째, 표현행렬을 기저의 상만으로 만들었는데 세 벡터 모두에서 가 성립합니다.
셋째, 핵과 상이 각각 부분공간임이 확인됩니다. 과 이 모두 으로 가고, 두 기저의 상 와 가 평행해 상이 직선입니다. 차원 합이 입니다.
넷째, 네 변환의 성격이 계수 하나로 갈립니다. 정사영은 둘 다 실패하고 회전은 둘 다 성공하며, 끼워넣기와 버리기가 하나씩만 성립합니다.
다섯째, 미분의 표현행렬이 의 좌표를 의 좌표로 옮깁니다. 인 것은 네 번 미분하면 이 통째로 사라지기 때문이며, 66강의 멱영행렬이 여기서 자연스럽게 나타납니다. 그리고 인데 입니다. **상수항 자리만 **이며, 그것이 바로 부정적분의 가 있는 이유입니다.
코드로 할 수 없는 일도 분명히 해 둡니다. 선형임은 몇 개의 벡터로 확인되지 않습니다. 모든 에 대한 주장이므로 문제 1의 이 선형이라는 결론은 식을 보고 판단한 것입니다. 반면 비선형임은 반례 하나로 끝나므로 False 출력들은 완결된 반증입니다. 이 비대칭이 71강 문제 3에서 부분공간을 다룰 때와 같습니다.
정답.
| 기호 | 읽는 법 | 뜻 |
|---|---|---|
| 선형변환 | 일차결합을 보존합니다 | |
| 핵 | 으로 가는 것들입니다 | |
| 상 | 값들의 집합입니다 | |
| [T]_ | 표현행렬 | 기저 에 대한 행렬입니다 |
| 합성 | 표현행렬은 곱입니다 | |
| 동형 | 전단사 선형사상이 있습니다 | |
| 사상 공간 | 차원이 입니다 | |
| 아핀 | affine | 꼴입니다 |
다음 77강에서는 표현행렬과 닮음을 정식으로 다룹니다. 심화 3에서 예고한 대로 기저를 바꾸면 이 되며, 그러면 "어떤 기저를 잡아야 표현이 가장 단순해지는가"라는 질문이 자연스럽게 나옵니다. 그 답이 06단원의 대각화입니다.