Ch.3 §3.1 심화 — Spaces of Vectors

행렬 공간 · 다항식 공간 · 함수 공간 · 부분공간의 교집합과 합 — R^n을 넘어선 벡터 공간

R^n 이외의 벡터 공간(행렬 공간 M, 다항식 공간 P_n, 함수 공간 F)을 상세히 다루고, 부분공간의 교집합과 합이 가지는 성질, 열공간의 핵심 성질들을 직관과 수식으로 정리한다. mit-03-1의 기초 정의 위에서 벡터 공간 개념을 추상적으로 확장한다.

Math
Linear Algebra
저자

Kwangmin Kim

공개

2026년 04월 09일

1 이전 포스트와의 연결

mit-03-1에서 다음을 다루었다.

  • 벡터 공간의 8가지 공리
  • \(\mathbb{R}^n\), 행렬 공간 \(M\), 함수 공간 \(F\), 영공간 \(Z\) 소개
  • 부분공간의 두 조건 (덧셈 닫힘, 스칼라 곱 닫힘)
  • 열공간 \(C(A)\) 기초

이번 포스트에서는 추상 벡터 공간을 구체적으로 탐구하고, 부분공간들이 서로 만나고 결합하는 방식을 다룬다.


2 추상 벡터 공간 — \(\mathbb{R}^n\) 을 넘어서

2.1 왜 추상화가 필요한가

\(\mathbb{R}^n\) 만으로도 많은 것을 할 수 있지만, 실제 문제에서는 “벡터”가 행렬이거나 함수이거나 다항식인 경우가 빈번하다.

예컨대: - 선형 미분방정식의 해집합은 함수들의 집합이다 - 이미지 처리에서 하나의 이미지는 픽셀 행렬로 표현된다 - 통계에서 공분산 행렬들의 집합에 연산을 정의한다

이 모든 경우에서 “덧셈과 스칼라 곱이 잘 작동하는 집합”이라는 구조가 공통으로 등장한다. 벡터 공간의 정의는 이 공통 구조를 추상화한 것이다.


3 행렬 공간 \(M\)

3.1 정의

\(m \times n\) 실수 행렬 전체의 집합을 \(M_{m,n}\) 이라 한다.

\[M_{m,n} = \{ \mathbf{A} \mid \mathbf{A} \text{ is an } m \times n \text{ real matrix} \}\]

  • “벡터”는 행렬이다
  • 덧셈: 성분별 덧셈 \((\mathbf{A} + \mathbf{B})_{ij} = a_{ij} + b_{ij}\)
  • 스칼라 곱: \((c\mathbf{A})_{ij} = c \cdot a_{ij}\)
  • 영벡터: 영행렬 \(\mathbf{0}\) (모든 성분이 0)

8가지 공리를 모두 만족하므로 \(M_{m,n}\) 은 벡터 공간이다.

직관: \(2 \times 2\) 행렬 공간 \(M_{2,2}\) 는 4개의 “자리”가 있다. 각 자리의 숫자 하나씩이 성분이므로, 실제로는 \(\mathbb{R}^4\) 와 동형(isomorphic)이다. “행렬로 포장된 4차원 공간”이라고 볼 수 있다.

\[\begin{bmatrix} a & b \\ c & d \end{bmatrix} \longleftrightarrow \begin{bmatrix} a \\ b \\ c \\ d \end{bmatrix} \in \mathbb{R}^4\]

3.2 \(M_{2,2}\) 의 부분공간들

\(2 \times 2\) 행렬 공간 안에는 자연스러운 부분공간들이 여럿 있다.

부분공간 집합 설명
상삼각 행렬 \(U\) \(\left\{ \begin{bmatrix} a & b \\ 0 & d \end{bmatrix} \right\}\) 두 상삼각 행렬의 합도 상삼각
하삼각 행렬 \(L\) \(\left\{ \begin{bmatrix} a & 0 \\ c & d \end{bmatrix} \right\}\) 두 하삼각 행렬의 합도 하삼각
대각 행렬 \(D\) \(\left\{ \begin{bmatrix} a & 0 \\ 0 & d \end{bmatrix} \right\}\) \(D \subset U\) 이고 \(D \subset L\) 이다
대칭 행렬 \(S\) \(\{ \mathbf{A} \mid \mathbf{A}^\top = \mathbf{A} \}\) 두 대칭 행렬의 합도 대칭
교대 대칭 행렬 \(K\) \(\{ \mathbf{A} \mid \mathbf{A}^\top = -\mathbf{A} \}\) 두 교대 대칭 행렬의 합도 교대 대칭
단위행렬 배수 \(cI\) \(\{ c\mathbf{I} \mid c \in \mathbb{R} \}\) \(D\) 안의 1차원 직선
역행렬 가능 행렬의 집합은 부분공간이 아니다

역행렬 가능 행렬들의 집합을 \(\text{GL}_2\) 라 하면:

\[\mathbf{I} \in \text{GL}_2,\; -\mathbf{I} \in \text{GL}_2 \quad \text{이지만} \quad \mathbf{I} + (-\mathbf{I}) = \mathbf{0} \notin \text{GL}_2\]

합이 영행렬이 되어 역행렬이 없어진다. 덧셈에 닫혀 있지 않으므로 부분공간이 아니다.

마찬가지로 특이행렬(singular matrix) 집합도 부분공간이 아니다.


4 다항식 공간 \(\mathbb{P}_n\)

4.1 정의

차수가 \(n\) 이하인 모든 실수 다항식의 집합을 \(\mathbb{P}_n\) 이라 한다.

\[\mathbb{P}_n = \{ p(x) = a_0 + a_1 x + a_2 x^2 + \cdots + a_n x^n \mid a_i \in \mathbb{R} \}\]

  • “벡터”는 다항식이다
  • 덧셈: \((p + q)(x) = p(x) + q(x)\) — 차수 \(n\) 이하 보존
  • 스칼라 곱: \((cp)(x) = c \cdot p(x)\) — 차수 변화 없음
  • 영벡터: 상수 다항식 \(p(x) = 0\)

\(\mathbb{P}_n\)\((n+1)\) 차원 벡터 공간이다.

직관: \(\mathbb{P}_n\)\((n+1)\) 개의 성분 \((a_0, a_1, \ldots, a_n)\) 으로 좌표를 매길 수 있으므로 \(\mathbb{R}^{n+1}\) 과 동형이다.

\[p(x) = 3 + 2x - x^2 \longleftrightarrow \begin{bmatrix} 3 \\ 2 \\ -1 \end{bmatrix} \in \mathbb{R}^3\]

4.2 \(\mathbb{P}_n\) 의 부분공간

부분공간 집합 차원
\(\mathbb{P}_{n-1}\) 차수 \(n-1\) 이하인 다항식 \(n\)
짝수 다항식 \(a_1 = a_3 = \cdots = 0\) \(\lfloor n/2 \rfloor + 1\)
홀수 다항식 \(a_0 = a_2 = \cdots = 0\) \(\lfloor (n+1)/2 \rfloor\)

주의:\(p(x)\) 의 모든 근이 양수인 다항식”은 부분공간이 아니다. \((x-1)(x-2) = x^2 - 3x + 2\)\(-(x-1)(x-2) = -x^2 + 3x - 2\) 를 더하면 \(0\) 이 되고, 영다항식의 근은 정의되지 않거나 모든 수가 근이 되어버린다.

4.3 왜 다항식 공간이 중요한가

다항식 공간은 회귀 분석과 직결된다.

  • 최소제곱 다항식 피팅(polynomial regression)은 \(\mathbb{P}_n\) 에서 데이터에 가장 가까운 다항식을 찾는 문제다
  • 데이터 벡터 \(\mathbf{y}\)\(\mathbb{P}_n\) 의 “기저 행렬” (Vandermonde 행렬) \(V\) 의 열공간 \(C(V)\) 위로 사영하는 문제다

\[V = \begin{bmatrix} 1 & x_1 & x_1^2 & \cdots & x_1^n \\ 1 & x_2 & x_2^2 & \cdots & x_2^n \\ \vdots & & & & \vdots \\ 1 & x_m & x_m^2 & \cdots & x_m^n \end{bmatrix}, \quad \hat{\mathbf{y}} = V(V^\top V)^{-1} V^\top \mathbf{y}\]


5 함수 공간 \(F\)

5.1 정의

모든 실수 함수 \(f : \mathbb{R} \to \mathbb{R}\) 의 집합 \(F\) 도 벡터 공간이다.

  • “벡터”는 함수다
  • 덧셈: \((f + g)(x) = f(x) + g(x)\)
  • 스칼라 곱: \((cf)(x) = c \cdot f(x)\)
  • 영벡터: \(f(x) = 0\) (모든 \(x\) 에서 0인 함수)

\(F\)무한 차원 벡터 공간이다. \(\sin x, \cos x, e^x, x^2, \ldots\) 모두 서로 독립인 벡터들이고, 이런 독립 벡터가 무한히 많다.

5.2 미분방정식의 해공간

선형 미분방정식의 해는 부분공간을 이룬다

미분방정식 \(\frac{d^2 y}{dx^2} + y = 0\) 의 해집합을 \(S\) 라 하자.

\(f, g \in S\) 이면 \(f'' + f = 0\) 이고 \(g'' + g = 0\) 이다. 그러면:

\[(f + g)'' + (f + g) = f'' + g'' + f + g = 0 + 0 = 0\]

\[(cf)'' + cf = c(f'' + f) = c \cdot 0 = 0\]

따라서 \(S\) 는 덧셈과 스칼라 곱에 닫혀 있다. \(S\)\(F\)부분공간이다.

이 방정식의 일반해는 \(y = c_1 \sin x + c_2 \cos x\) 이므로 \(S\) 는 2차원 공간이다.

직관: 선형(linear)이 붙은 미분방정식의 해집합은 항상 부분공간을 이룬다. “선형성” = “중첩의 원리(superposition)” = 두 해를 더해도 해가 됨. 비선형 미분방정식(\(y'' + y^2 = 0\) 등)의 해집합은 일반적으로 부분공간이 아니다.


6 부분공간의 교집합과 합

6.1 교집합은 부분공간이다

정리: 교집합 (Intersection)

\(S\)\(T\) 가 벡터 공간 \(V\) 의 부분공간이면, \(S \cap T\)\(V\) 의 부분공간이다.

증명: \(\mathbf{v}, \mathbf{w} \in S \cap T\) 이면 \(\mathbf{v}, \mathbf{w} \in S\) 이고 \(\mathbf{v}, \mathbf{w} \in T\) 이다.

  • \(S\) 는 부분공간이므로: \(\mathbf{v} + \mathbf{w} \in S\) 이고 \(c\mathbf{v} \in S\)
  • \(T\) 는 부분공간이므로: \(\mathbf{v} + \mathbf{w} \in T\) 이고 \(c\mathbf{v} \in T\)

따라서 \(\mathbf{v} + \mathbf{w} \in S \cap T\) 이고 \(c\mathbf{v} \in S \cap T\). \(\blacksquare\)

예시: \(\mathbb{R}^3\) 에서 두 평면(원점 통과)의 교집합은 직선(또는 평면 전체, 또는 원점)이다. 어느 경우든 부분공간이다.

6.2 합집합은 일반적으로 부분공간이 아니다

합집합 (Union) ≠ 부분공간

\(S\)\(T\) 의 합집합 \(S \cup T\)일반적으로 부분공간이 아니다.

반례: \(\mathbb{R}^2\) 에서 \(x\)-축 \(S\)\(y\)-축 \(T\) 를 생각하자.

  • \((1, 0) \in S \subset S \cup T\)
  • \((0, 1) \in T \subset S \cup T\)
  • 하지만 \((1, 0) + (0, 1) = (1, 1) \notin S \cup T\)

덧셈에 닫혀 있지 않으므로 \(S \cup T\) 는 부분공간이 아니다.

직관: 합집합은 두 집합의 원소를 각자 담는 것이고, 합은 두 집합의 원소를 섞어서 결합하는 것이다. 부분공간이 되려면 “섞는” 연산에 닫혀야 한다.

6.3 부분공간의 합 \(S + T\)

두 부분공간 \(S\), \(T\) 에서 원소를 하나씩 골라 더한 모든 벡터의 집합을 합 (sum)이라 한다.

\[S + T = \{ \mathbf{s} + \mathbf{t} \mid \mathbf{s} \in S,\; \mathbf{t} \in T \}\]

정리: 합 \(S + T\) 는 부분공간이다

\(S + T\)\(S \cup T\) 를 포함하는 가장 작은 부분공간이다.

\(S \cup T\) 의 span이 \(S + T\) 이다.

직관: \(x\)-축과 \(y\)-축의 합은 모든 \((x, y)\) 벡터이므로 \(\mathbb{R}^2\) 전체다. \(x\)-축 위 벡터 + \(y\)-축 위 벡터 = 임의의 2차원 벡터.

연산 결과 부분공간 여부
\(S \cap T\) (교집합) “두 공간이 겹치는 부분” 항상 부분공간
\(S \cup T\) (합집합) “두 공간의 원소만” 일반적으로 아님
\(S + T\) (합) \(S\)\(T\) 의 원소를 더한 모든 것” 항상 부분공간

7 열공간의 핵심 성질들

7.1 행 연산은 열공간을 바꿀 수 있다

\(A\) 에 행 연산(row operation)을 가하면 일반적으로 열공간이 바뀐다.

\[A = \begin{bmatrix} 1 & 2 \\ 2 & 4 \end{bmatrix} \xrightarrow{R_2 - 2R_1} B = \begin{bmatrix} 1 & 2 \\ 0 & 0 \end{bmatrix}\]

  • \(C(A)\): \((1,2)^\top\) 방향의 직선 \(\{(c, 2c)\}\)
  • \(C(B)\): \((1,0)^\top\) 방향의 직선 \(\{(c, 0)\}\)

두 열공간이 다르다. 그러나 행공간(row space)은 행 연산에 의해 보존된다.

why does this matter? 소거법은 \(Ax = b\)해를 구하기 위한 도구이지, 열공간을 “단순화”하는 도구가 아니다. 열공간을 다룰 때는 소거 전의 행렬을 기준으로 해야 한다.

7.2 \(C(AB) \subseteq C(A)\)

정리: 곱 행렬의 열공간

\(A\)\(m \times n\) 행렬이고 \(B\)\(n \times k\) 행렬이면:

\[C(AB) \subseteq C(A)\]

증명: \(AB\) 의 임의의 열 \((AB)\mathbf{e}_j = A(B\mathbf{e}_j)\)\(A\) 에 벡터 \(B\mathbf{e}_j\) 를 곱한 결과이므로, \(A\) 의 열들의 선형결합이다. 따라서 \(A(B\mathbf{e}_j) \in C(A)\). \(\blacksquare\)

직관: \(AB\) 는 먼저 \(B\) 로 입력을 변환한 후 \(A\) 로 다시 변환하는 합성이다. 최종 출력은 항상 \(A\) 가 만들 수 있는 범위(열공간) 안에 있다. \(B\) 는 “사전 처리” 역할을 할 뿐, \(A\) 의 출력 범위를 넓힐 수 없다.

7.3 \(9 \times 12\) 행렬의 열공간

\(9 \times 12\) 행렬 \(A\) 에 대해 “\(Ax = b\) 가 모든 \(b \in \mathbb{R}^9\) 에 대해 풀린다”면 \(C(A) = \mathbb{R}^9\) 이다. 열이 12개인데 \(\mathbb{R}^9\) 를 채우려면 최소한 9개의 열이 독립이면 된다.

역행렬 가능 행렬: \(A\)\(n \times n\) 가역 행렬이면 \(C(A) = \mathbb{R}^n\) 이다. 역행렬 \(A^{-1}\) 이 존재한다는 말은 “어떤 \(b\)\(Ax = b\) 를 풀 수 있다”는 말이고, 이는 열공간이 \(\mathbb{R}^n\) 전체임을 뜻한다.


8 부분공간 판별 — 경계 사례 분석

\(\mathbb{R}^3\) 에서 다음 집합이 부분공간인지 판별한다.

8.1 예시 1: \(b_1 = b_2\) 평면

\[S_1 = \{ (b_1, b_2, b_3) \mid b_1 = b_2 \}\]

두 벡터 \(\mathbf{v} = (1, 1, 5)\), \(\mathbf{w} = (2, 2, 3)\) 을 확인한다.

  • \(\mathbf{v} + \mathbf{w} = (3, 3, 8)\): \(3 = 3\)
  • \(c \cdot \mathbf{v} = (c, c, 5c)\): \(c = c\)
  • 영벡터 \((0,0,0)\): \(0 = 0\)

\(S_1\) 은 부분공간이다.\(b_1 - b_2 = 0\) 이라는 선형 방정식의 해집합.

8.2 예시 2: \(b_1 = 1\) 평면

\[S_2 = \{ (b_1, b_2, b_3) \mid b_1 = 1 \}\]

  • 영벡터 \((0, 0, 0)\): \(0 \neq 1\)

\(S_2\) 는 부분공간이 아니다. — 원점을 지나지 않는 평면.

8.3 예시 3: \(b_1 b_2 b_3 = 0\) (좌표축 평면들의 합집합)

\[S_3 = \{ (b_1, b_2, b_3) \mid b_1 b_2 b_3 = 0 \}\]

적어도 하나의 성분이 0인 벡터의 집합이다 (\(xy\)-평면 \(\cup\) \(yz\)-평면 \(\cup\) \(xz\)-평면).

  • \((1, 0, 1) \in S_3\): \(1 \cdot 0 \cdot 1 = 0\)
  • \((0, 1, 1) \in S_3\): \(0 \cdot 1 \cdot 1 = 0\)
  • \((1, 0, 1) + (0, 1, 1) = (1, 1, 2)\): \(1 \cdot 1 \cdot 2 = 2 \neq 0\)

\(S_3\) 은 부분공간이 아니다. — 합집합은 덧셈에 닫혀 있지 않다.

8.4 예시 4: \(b_1 + b_2 + b_3 = 0\) 평면

\[S_4 = \{ (b_1, b_2, b_3) \mid b_1 + b_2 + b_3 = 0 \}\]

  • 덧셈: \((b_1 + c_1) + (b_2 + c_2) + (b_3 + c_3) = (b_1+b_2+b_3) + (c_1+c_2+c_3) = 0 + 0 = 0\)
  • 스칼라 곱: \(k b_1 + k b_2 + k b_3 = k(b_1+b_2+b_3) = 0\)

\(S_4\) 는 부분공간이다. — 원점을 지나는 평면.

패턴: 선형 방정식의 해집합은 부분공간이다

\(a_1 b_1 + a_2 b_2 + \cdots + a_n b_n = 0\) (우변이 0)의 해집합은 항상 부분공간이다.

일반화: \(A\mathbf{x} = \mathbf{0}\) 의 해집합 \(N(A)\) (영공간)은 부분공간이다.

반면 \(A\mathbf{x} = \mathbf{b}\) (\(\mathbf{b} \neq \mathbf{0}\))의 해집합은 부분공간이 아니다. 영벡터가 포함되지 않기 때문.

8.5 예시 5: \(b_1 \leq b_2 \leq b_3\)

\[S_5 = \{ (b_1, b_2, b_3) \mid b_1 \leq b_2 \leq b_3 \}\]

  • \((1, 2, 3) \in S_5\) 이지만 \((-1) \cdot (1, 2, 3) = (-1, -2, -3)\): \(-1 \geq -2 \geq -3\) 이므로 부등호 방향 역전 ✗

\(S_5\) 는 부분공간이 아니다. — 음수 스칼라 곱에 닫혀 있지 않다.


9 응용 분야 심화

9.1 행렬 공간과 데이터 사이언스

응용 벡터 공간 부분공간
공분산 행렬 모델링 \(n \times n\) 대칭 행렬 공간 양반정치(PSD) 행렬의 집합 (부분공간 아님, 콘)
저랭크 근사 (SVD) \(M_{m,n}\) 랭크 \(\leq k\) 행렬의 집합 (부분공간 아님)
주성분분석 (PCA) \(\mathbb{R}^n\) 주성분이 생성하는 부분공간 위로 사영
신경망 레이어 \(\mathbb{R}^n\) 선형 레이어의 출력은 가중치 행렬의 열공간
다항식 회귀 \(\mathbb{P}_n\) Vandermonde 행렬의 열공간 위로 사영

9.2 함수 공간과 푸리에 분석

푸리에 급수는 함수 공간 \(F\) 에서의 직교 분해이다. \(\{1, \cos x, \sin x, \cos 2x, \sin 2x, \ldots\}\) 가 기저(직교 기저)를 이루고, 임의의 주기 함수를 이 기저들의 (무한) 선형결합으로 표현한다.

\[f(x) = \frac{a_0}{2} + \sum_{k=1}^\infty \left( a_k \cos(kx) + b_k \sin(kx) \right)\]

이것이 바로 “함수를 벡터로 보고, 직교 기저로 분해한다”는 개념이다.


10 코드 예시

10.1 Step 1: 부분공간 교집합과 합 계산 (NumPy)

import numpy as np

def subspace_intersection_basis(A, B):
    """
    A, B: 각 부분공간의 기저 행렬 (열이 기저 벡터)
    반환: 교집합의 기저
    방법: A의 열공간과 B의 열공간의 교집합
          → [A | -B] 의 영공간의 A-부분으로 얻는다
    """
    m = A.shape[0]
    n_A = A.shape[1]
    # [A | -B] 행렬
    AB = np.hstack([A, -B])
    # 영공간 계산 (Ax = 0의 해 기저)
    _, _, Vt = np.linalg.svd(AB)
    null_mask = np.abs(np.linalg.svd(AB, compute_uv=False)) < 1e-9
    # null_mask에 해당하는 우특이벡터가 영공간 기저
    null = Vt[null_mask]
    if len(null) == 0:
        return np.zeros((m, 1))  # 교집합이 영공간만
    # A-부분으로 교집합의 기저 벡터 계산
    intersection = A @ null[:, :n_A].T
    return intersection

# 예시: R^3에서 두 평면의 교집합 (직선)
# 평면 1: span{(1,0,0), (0,1,0)} - xy 평면
A = np.array([[1, 0], [0, 1], [0, 0]], dtype=float)
# 평면 2: span{(1,0,0), (0,0,1)} - xz 평면
B = np.array([[1, 0], [0, 0], [0, 1]], dtype=float)

intersect = subspace_intersection_basis(A, B)
print("교집합 기저 (x-축 방향):")
print(intersect)
# 결과: x-축 방향 벡터 (1, 0, 0)

10.2 Step 2: 행렬 공간의 대칭·반대칭 분해

import numpy as np

def symmetric_antisymmetric_decompose(A):
    """
    임의의 정방행렬 A를 대칭 성분 S와 반대칭 성분 K로 분해한다
    A = S + K, S = (A + A^T)/2, K = (A - A^T)/2
    S는 대칭 행렬 부분공간, K는 반대칭 행렬 부분공간
    """
    S = (A + A.T) / 2
    K = (A - A.T) / 2
    return S, K

A = np.array([[1, 3],
              [7, 4]], dtype=float)

S, K = symmetric_antisymmetric_decompose(A)

print("원래 행렬 A:")
print(A)
print("\n대칭 성분 S (= S^T):")
print(S)
print("\n반대칭 성분 K (= -K^T):")
print(K)
print("\nS + K = A?", np.allclose(S + K, A))
print("S^T = S?", np.allclose(S.T, S))
print("K^T = -K?", np.allclose(K.T, -K))

10.3 Step 3: 다항식 공간에서 최소제곱 피팅

import numpy as np
import matplotlib.pyplot as plt

# 데이터 생성
np.random.seed(42)
x = np.linspace(-2, 2, 20)
y = 1 + 2*x - x**2 + 0.5 * np.random.randn(20)

# 차수 n인 다항식 공간 P_n에서 최소제곱 피팅
# Vandermonde 행렬 = P_n의 "기저 행렬"
def poly_fit_via_column_space(x, y, n):
    """
    다항식 공간 P_n의 열공간(Vandermonde) 위로 y를 사영
    = 최소제곱 다항식 피팅
    """
    # Vandermonde 행렬 (P_n의 기저: 1, x, x^2, ..., x^n)
    V = np.column_stack([x**i for i in range(n + 1)])
    # 정규방정식: (V^T V) c = V^T y
    c = np.linalg.solve(V.T @ V, V.T @ y)
    y_hat = V @ c  # y를 C(V) 위로 사영한 결과
    return c, y_hat

c2, y2 = poly_fit_via_column_space(x, y, n=2)
c5, y5 = poly_fit_via_column_space(x, y, n=5)

x_plot = np.linspace(-2, 2, 200)
V2 = np.column_stack([x_plot**i for i in range(3)])
V5 = np.column_stack([x_plot**i for i in range(6)])

fig, axes = plt.subplots(1, 2, figsize=(12, 4))

for ax, c, V, deg in zip(axes, [c2, c5], [V2, V5], [2, 5]):
    ax.scatter(x, y, color='black', zorder=5, label='data')
    ax.plot(x_plot, V @ c, color='blue', lw=2, label=f'P_{deg} fit')
    ax.set_title(f'P_{deg} 공간에서 열공간 사영 (n={deg})')
    ax.legend()
    ax.grid(True, alpha=0.3)

plt.suptitle('다항식 공간 P_n의 열공간 위로의 최소제곱 사영', fontsize=12)
plt.tight_layout()
plt.show()

print(f"P_2 계수 (a0, a1, a2): {c2.round(3)}")  # ≈ [1, 2, -1]

11 핵심 요약

  1. \(\mathbb{R}^n\) 외에도 행렬 공간 \(M_{m,n}\), 다항식 공간 \(\mathbb{P}_n\), 함수 공간 \(F\) 등이 벡터 공간이다. 이들은 각각 \(\mathbb{R}^{mn}\), \(\mathbb{R}^{n+1}\), 무한 차원 공간과 동형이다.
  2. 부분공간의 교집합 \(S \cap T\) 은 항상 부분공간이다. 합집합 \(S \cup T\) 는 일반적으로 부분공간이 아니다. \(S + T\) 는 항상 부분공간이다.
  3. 행 연산은 열공간을 바꿀 수 있다. 소거 후 행렬의 열공간은 원래 열공간과 다를 수 있다.
  4. \(C(AB) \subseteq C(A)\): 곱 행렬의 열공간은 좌측 행렬의 열공간에 포함된다.
  5. \(A\mathbf{x} = \mathbf{0}\) 의 해집합(영공간)은 항상 부분공간이다. \(A\mathbf{x} = \mathbf{b}\) (\(\mathbf{b} \neq \mathbf{0}\))의 해집합은 부분공간이 아니다.

(Strang, 2009, Ch.3)


12 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

Subscribe

Enjoy this blog? Get notified of new posts by email: