13강 / 20강

벡터공간과 부분공간 — 규칙을 지키는 자리들

왜 반드시 원점을 지나야 하는가

벡터공간과 부분공간 — 규칙을 지키는 자리들
부분공간은 더하고 늘여도 밖으로 나가지 않는 영역입니다.

2강에서 벡터로 할 수 있는 일은 더하기와 늘이기 둘뿐이라고 했습니다. 그럼 질문을 뒤집어 봅시다 — 더하기와 늘이기가 잘 정의된 것이면 무엇이든 벡터로 볼 수 있을까요?

답은 "그렇다" 입니다. 그것이 벡터공간(vector space)이라는 생각이에요. 화살표든, 다항식이든, 함수든, 심지어 소리 신호든 — 2강 마지막에서 확인했던 여덟 가지 규칙만 지키면 전부 벡터입니다.

🏹
Rⁿ
화살표들
📈
다항식
x² + 3x − 1 …
🎵
함수·신호
더하고 키울 수 있다

이것이 추상화의 힘입니다. Rⁿ 에서 증명한 정리가 다항식에도, 함수에도 공짜로 적용돼요. 한 번 증명하고 여러 곳에서 씁니다.

계수를 적으면 다항식이 곧 벡터가 됩니다.
Python 브라우저에서 실행

🎮 이것은 부분공간일까

부분공간(subspace)은 벡터공간 안의, 그 자체로도 벡터공간인 부분입니다. 확인할 것은 세 가지뿐이에요. 아래에서 판정 연습을 해 보세요.

부분공간 판정 — 세 조건 중 무엇이 깨지는지 확인합니다
불러오는 중…

왜 원점을 지나야 할까

스칼라배에 닫혀 있어야 하는데, 0을 곱하는 것도 스칼라배입니다. 집합 안에 벡터 v 가 하나라도 있으면 0·v = 0 도 반드시 있어야 해요.

이 조건이 까다로워 보이지만, 덕분에 모든 것이 단순해집니다. 부분공간은 언제나 원점을 지나므로, "어디에 있는가"가 아니라 "어느 방향으로 얼마나 펼쳐졌는가"만 물으면 됩니다. 그 답이 차원이에요.

그럼 Ax = b (b ≠ 0) 의 해집합은요? 원점을 안 지나니 부분공간이 아닙니다. 대신 부분공간을 옆으로 밀어 놓은 것이에요 — 이런 걸 아핀 부분공간이라 부릅니다. 10강에서 본 "특수해 + 영공간"이 정확히 그 모양이었습니다.

0을 곱해 보는 것이 가장 빠른 반례 찾기입니다.
Python 브라우저에서 실행

행렬이 만드는 네 개의 부분공간

행렬 A 하나만 있으면 부분공간이 네 개 생깁니다. 15강에서 앞의 둘을 자세히 볼 텐데, 여기서 이름만 미리 봐 둡시다.

이름정의어디에 사나
열공간 C(A)Ax 로 만들 수 있는 것 전부Rᵐ
영공간 N(A)Ax = 0 인 x 전부Rⁿ
행공간 C(Aᵀ)행들의 선형결합 전부Rⁿ
좌영공간 N(Aᵀ)Aᵀy = 0 인 y 전부Rᵐ

이 넷의 관계가 선형대수학의 뼈대입니다. 특히 행공간과 영공간이 서로 직교하고, 열공간과 좌영공간이 서로 직교해요. 16강 정사영과 17강 최소제곱법이 이 직교 관계 위에 세워집니다.

Ax = 0 은 사실 '모든 행과 직교하라'는 조건이었습니다.
Python 브라우저에서 실행
🤔 확인 문제
다음 중 R² 의 부분공간이 아닌 것은?
🤔 확인 문제
부분공간임을 보이려면 확인해야 할 것은?
🤔 확인 문제
2차 이하 다항식 전체 {ax² + bx + c} 의 차원은?