1 개요: Ch.8 을 한 줄로 — 모든 응용은 두 개의 뼈대로 환원된다
Strang Ch.8은 선형대수가 실제로 어떻게 쓰이는지를 7개의 분야 — 공학, 그래프·네트워크, 마르코프 모형, 선형계획법, 푸리에 급수, 통계와 PCA, 컴퓨터 그래픽 — 로 보여준다 (Strang, 2009, Ch.8). 분량이 많아 보이지만 실제로 관통하는 아이디어는 두 개뿐이다.
뼈대 A — 차분-물성-균형의 3단계 프레임워크 (\(K = A^\top C A\))
물리적 시스템은 거의 항상 다음 세 단계로 분해된다.
- 차분 \(\mathbf{e} = A \mathbf{u}\) — 입력 변수의 차이(공간적·구조적 변화)를 뽑아낸다.
- 물성 \(\mathbf{y} = C \mathbf{e}\) — 차이에 물리적 비례 상수(스프링 강성, 도선 컨덕턴스, 측정 신뢰도)를 곱한다.
- 균형 \(\mathbf{f} = A^\top \mathbf{y}\) — 결과를 다시 합쳐 보존 법칙(힘, 전류, 정규방정식)을 강제한다.
세 단계가 합쳐지면 항상 같은 형태가 나온다.
\[ A^\top C A \, \mathbf{u} = \mathbf{f} \]
\(C\) 가 양수 대각이고 \(A\) 의 열이 독립이면 \(K = A^\top C A\) 는 자동으로 대칭 양정치다. 이 한 줄이 §8.1(공학), §8.2(전기 회로), §8.6(가중 최소제곱)을 동일한 프레임으로 묶는다.
뼈대 B — 고유값·직교성으로 시간/공간을 분해한다
장기 거동, 정상상태, 함수 공간, 데이터의 주성분은 모두 고유값·고유벡터 또는 직교 기저로 풀린다.
- §8.3 마르코프: \(A^k \mathbf{u}_0 \to\) 고유값 \(\lambda = 1\) 에 대응하는 고유벡터(정상분포).
- §8.5 푸리에: 함수를 \(\sin, \cos\) 의 무한 직교 기저로 분해.
- §8.6 PCA: 데이터 행렬의 SVD \(A = U\Sigma V^\top\), \(A^\top A\) 의 고유벡터가 주성분.
이 두 뼈대를 머릿속에 박고 7개 절을 차례로 본다. 각 절은 같은 음악의 다른 악기 편성이다.
2 §8.1 공학에서의 행렬: \(K = A^\top C A\) 와 스프링의 직관
2.1 직관: 왜 자연은 \(A\) 와 \(A^\top\) 을 함께 쓰는가
스프링 시스템은 선형대수가 응용 수학에 진입하는 가장 깨끗한 통로다. 그림으로 그릴 수 있고, 손으로 풀 수 있고, 모든 단계가 행렬로 정확히 매핑된다.
Strang의 핵심 통찰: 변위 \(\mathbf{u}\) 와 외력 \(\mathbf{f}\) 를 직접 잇지 말고 중간에 신장 \(\mathbf{e}\) 와 내력 \(\mathbf{y}\) 를 끼워라. 그러면 자연스럽게 \(A\) 와 그 전치 \(A^\top\) 이 동시에 등장한다.
\[ \mathbf{u} \xrightarrow{\;A\;} \mathbf{e} \xrightarrow{\;C\;} \mathbf{y} \xrightarrow{\;A^\top\;} \mathbf{f} \]
| 단계 | 식 | 물리적 의미 | 수학적 정체 |
|---|---|---|---|
| 1. 운동학 | \(\mathbf{e} = A\mathbf{u}\) | 인접 질량의 변위 차 = 스프링 신장량 | 차분 행렬 (이산 미분) |
| 2. 구성식 | \(\mathbf{y} = C\mathbf{e}\) | 후크 법칙 \(y_i = c_i e_i\) | 대각 양수 행렬 |
| 3. 평형 | \(\mathbf{f} = A^\top \mathbf{y}\) | 각 질량에 작용하는 내력의 합 = 외력 | 차분의 전치 (이산 음의 미분) |
세 식을 결합하면 단일 행렬 방정식이 떨어진다.
\[ A^\top C A \, \mathbf{u} = \mathbf{f}, \qquad K \equiv A^\top C A \]
2.2 고정-고정 4 스프링 3 질량 예제
질량 \(m_1, m_2, m_3\) 가 위·아래가 고정된 4개의 스프링 사이에 매달려 있다고 하자. 신장 \(e_i = u_i - u_{i-1}\) 의 4개 식(\(u_0 = u_4 = 0\))을 행렬로 쓰면 \(4 \times 3\) 차분 행렬이 나온다.
\[ A_0 = \begin{bmatrix} 1 & 0 & 0 \\ -1 & 1 & 0 \\ 0 & -1 & 1 \\ 0 & 0 & -1 \end{bmatrix} \]
모든 스프링 상수가 \(c_i = 1\) 이면 \(C = I\) 이고
\[ K_0 = A_0^\top A_0 = \begin{bmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \end{bmatrix}. \]
이 -1, 2, -1 삼대각 행렬은 책 전체에 반복 등장하는 “주인공”이다 (Strang, 2009, Ch.8.1). 모든 모든 질량과 외력이 같다면 \(\mathbf{f} = (mg, mg, mg)\) 이고
\[ \mathbf{u} = K_0^{-1} \mathbf{f} = \frac{mg}{c}\begin{bmatrix} 3/2 \\ 2 \\ 3/2 \end{bmatrix}. \]
가운데 질량이 가장 많이 내려간다. 그 직관은 명확하다 — 양 끝이 잡혀있으니 가운데가 가장 자유롭다. 손으로 푸는 결과가 일상적 직관과 정확히 맞아떨어진다. 이것이 Strang이 이 예제를 책의 응용 첫머리에 두는 이유다.
2.3 왜 \(K\) 는 자동으로 양정치인가
\(\mathbf{u}^\top K \mathbf{u} = \mathbf{u}^\top A^\top C A \mathbf{u} = (A\mathbf{u})^\top C (A\mathbf{u}) = \mathbf{e}^\top C \mathbf{e} = \sum c_i e_i^2 \geq 0\).
이 식이 0이 되려면 모든 \(e_i = 0\), 즉 모든 스프링이 늘어나지 않은 상태여야 한다. 양 끝이 고정되어 있다면 그 유일한 해는 \(\mathbf{u} = \mathbf{0}\) — 따라서 \(K\) 는 양정치다. 물리적으로는 “에너지는 음수가 될 수 없다”가 곧 양정치성의 의미이다. \(\frac{1}{2}\mathbf{u}^\top K \mathbf{u}\) 는 시스템의 변형 에너지(strain energy)이고, 그 값은 정의상 0 이상이다.
자유단(free end)이 있으면 어떻게 되는가? 이 경우 \(A_1\) 은 정사각이고 가역적이며, 양정치성이 유지된다. 양 끝이 모두 자유롭다면 \(A\) 가 직사각으로 짧아져 \(\mathbf{u} = (1, 1, 1)\) 이 영공간에 들어가고, \(K\) 는 양반정치(positive semidefinite) 가 된다. 물리적 의미: “계 전체가 통째로 평행이동해도 어떤 스프링도 늘어나지 않으므로 에너지가 0이다.” 강체 운동(rigid-body motion)이 영공간에 살아있는 것이다.
2.4 연속 극한 — 미분방정식으로의 다리
질량을 무한히 많이 만들고 간격을 0으로 보내면 \(A \to d/dx\), \(A^\top \to -d/dx\) 가 되고
\[ A^\top C A \, \mathbf{u} = \mathbf{f} \quad\longrightarrow\quad -\frac{d}{dx}\!\left(c(x)\frac{du}{dx}\right) = f(x). \]
이산 차분 방정식이 곧 탄성 막대(elastic bar) 방정식이다 (Strang, 2009, Ch.8.1). 행렬 방정식과 미분방정식이 같은 구조의 두 얼굴이라는 것 — Ch.8.1이 보내는 핵심 메시지다.
2.5 데이터 사이언스 연결
이 \(K = A^\top C A\) 구조는 모든 가중 정규방정식의 모태다. §8.6에서 볼 가중 최소제곱 \(A^\top \Sigma^{-1} A \hat{\mathbf{x}} = A^\top \Sigma^{-1} \mathbf{b}\) 는 \(C = \Sigma^{-1}\) 인 같은 골격이고, 그래프 라플라시안(graph Laplacian) \(L = D - W\) 도 정점·에지에 대해 \(A^\top C A\) 구조를 가진다 — 스펙트럴 클러스터링, GNN의 메시지 패싱, 확산 모형의 출발점이다.
3 §8.2 그래프와 네트워크: 접속 행렬과 키르히호프 법칙
3.1 그래프를 행렬로
방향 그래프(directed graph)는 \(n\) 개의 노드와 \(m\) 개의 에지로 이루어진다. 접속 행렬(incidence matrix) \(A\) 는 \(m \times n\) 크기이며, 에지 \(k\) 가 노드 \(i\) 에서 노드 \(j\) 로 가면 \(k\) 행은 \(i\) 열에 -1, \(j\) 열에 +1 을 가진다.
예: 노드 1, 2, 3, 4 와 6개의 에지로 이루어진 완전 그래프의 접속 행렬은
\[ A = \begin{bmatrix} -1 & 1 & 0 & 0 \\ -1 & 0 & 1 & 0 \\ 0 & -1 & 1 & 0 \\ -1 & 0 & 0 & 1 \\ 0 & -1 & 0 & 1 \\ 0 & 0 & -1 & 1 \end{bmatrix}. \]
3.2 네 부분공간이 회로 법칙으로 번역된다
이것이 §8.2 의 백미다. 네 개의 근본 부분공간(four fundamental subspaces)이 그대로 키르히호프 법칙(Kirchhoff’s laws)으로 번역된다 (Strang, 2009, Ch.8.2). 네 부분공간 자체에 대한 상세한 다이어그램과 차원 관계는 Ch.3 §3.6 — 네 부분공간 을 참조한다.
| 부분공간 | 회로 해석 | 직관 |
|---|---|---|
| \(N(A)\) — 영공간 | 모든 노드 전위가 같으면 어떤 에지에도 전류가 흐르지 않음 | \(\mathbf{x} = (1, 1, \ldots, 1)\) 이 항상 영공간에 있음 — 절대 기준점 자유 |
| \(C(A^\top)\) — 행공간 | 트리(tree)에 해당하는 에지들의 전위차 | 차원 \(r = n - 1\) |
| \(C(A)\) — 열공간 | “균형 잡힌” 전류 분포 (각 노드에서 in = out) | 차원 \(r = n - 1\) |
| \(N(A^\top)\) — 좌영공간 | 루프(loop) 주위 전위차의 합 = 0, 즉 키르히호프 전압법칙(KVL) | 차원 \(m - n + 1\) = 독립 루프 수 |
마지막 줄이 가장 강력하다. 선형대수의 차원 정리 \(m = r + (m-r)\) 가 그래프 이론에서는 오일러 공식 \(\text{nodes} - \text{edges} + \text{loops} = 1\) 로 변신한다. 책의 어떤 응용도 이만큼 두 분야가 정확히 일치하지는 않는다.
3.3 \(A^\top C A\) 가 다시 등장한다
전기 회로에서 \(C\) 는 각 도선의 컨덕턴스(conductance, 1/저항) 를 대각에 가진다. 그러면
- \(\mathbf{e} = A\mathbf{u}\): 전위차 = 두 노드 전위의 차
- \(\mathbf{y} = C\mathbf{e}\): 옴의 법칙 (\(y_i = e_i / R_i\), 즉 전류 = 전위차 × 컨덕턴스)
- \(\mathbf{f} = A^\top \mathbf{y}\): 키르히호프 전류법칙(KCL) — 각 노드에서 들어오는 전류의 합 = 외부 전류
세 단계를 결합하면 회로의 노드 방정식 이 나온다.
\[ A^\top C A \, \mathbf{u} = \mathbf{f}. \]
스프링과 회로가 같은 행렬 방정식이다. Strang의 표현대로, “선형대수의 가장 정직한 응용은 어떤 회로 책에서도 풀리지 않는 노드 방정식을 단 한 줄로 적게 해주는 것” 이다.
세부 도해와 4 부분공간 해석은 MIT Lecture 12 — 그래프, 네트워크, 근접 행렬 에서 확장된다.
3.4 데이터 사이언스 연결
접속 행렬 \(A\) 의 변형인 그래프 라플라시안 \(L = A^\top A\) (가중 버전은 \(A^\top C A\)) 는
- 스펙트럴 클러스터링 — \(L\) 의 작은 고유값에 대응하는 고유벡터로 그래프를 자른다.
- GNN(Graph Neural Network) — 메시지 패싱이 \(L\) 의 다항식 적용과 등가.
- PageRank — 다음 §8.3 마르코프와 직접 연결된다.
4 §8.3 마르코프 행렬: 정상상태와 Perron-Frobenius
4.1 마르코프 행렬의 정의와 직관
\(A\) 가 마르코프 행렬(Markov matrix)이라는 것은 두 조건을 만족한다는 뜻이다.
- 모든 원소 \(a_{ij} \geq 0\).
- 각 열의 합이 1.
직관: 열은 “현재 상태에서 다음 상태로 가는 확률 분포” 다. 두 번째 조건은 “확률은 사라지지 않는다” — 어딘가로는 무조건 가야 한다는 보존 법칙이다.
4.2 왜 \(\lambda = 1\) 이 항상 고유값인가
\(A - I\) 의 각 열의 합은 \(1 - 1 = 0\) 이다. 즉 행벡터 \((1, 1, \ldots, 1)\) 을 곱하면 0 행이 나오므로 \(A - I\) 의 행들은 선형종속이고 \(\det(A - I) = 0\). 따라서 \(\lambda = 1\) 이 고유값이다.
또한 어떤 고유값도 \(|\lambda| > 1\) 이 될 수 없다 — 그렇다면 \(A^k\) 의 원소가 무한정 커져야 하는데, \(A^k\) 도 마르코프 행렬이므로 모든 원소는 0과 1 사이에 머물러야 하기 때문이다.
4.3 정상분포와 장기 거동
대각화 \(A = S\Lambda S^{-1}\) 와 \(A^k = S\Lambda^k S^{-1}\) 을 쓰면
\[ \mathbf{u}_k = A^k \mathbf{u}_0 = c_1 \mathbf{x}_1 + c_2 \lambda_2^k \mathbf{x}_2 + \cdots + c_n \lambda_n^k \mathbf{x}_n. \]
다른 모든 고유값이 \(|\lambda_i| < 1\) 이라면 첫 항만 살아남고
\[ \mathbf{u}_\infty = c_1 \mathbf{x}_1 \]
이 정상분포(steady-state)다. 수렴 속도를 결정하는 것은 두 번째로 큰 고유값 \(|\lambda_2|\) 의 크기다 — 이를 스펙트럴 갭(spectral gap)이라 부르고, MCMC 샘플러의 burn-in 길이, 무작위 그래프 알고리즘의 mixing time, GNN의 메시지 전파 거리 모두를 지배한다.
4.4 렌터카 예제 — 손으로 풀 수 있는 사례
Strang의 예제: 덴버의 렌터카 비율이 처음 0.02, 외부가 0.98. 매월 덴버 차의 80%가 머물고 20%가 떠난다. 외부 차의 5%가 들어오고 95%가 머문다.
\[ A = \begin{bmatrix} 0.80 & 0.05 \\ 0.20 & 0.95 \end{bmatrix} \]
고유값은 1과 0.75 (트레이스 1.75 = 1 + 0.75). \(\lambda = 1\) 의 고유벡터를 구하면 \((0.2, 0.8)\). 즉 장기적으로 차의 20%는 덴버에, 80%는 외부에 있게 된다. 초기 분포 0.02 vs 0.98 가 무엇이었든, 시간이 충분히 흐르면 무조건 같은 비율로 수렴한다.
4.5 Perron-Frobenius 정리 — 이론적 보증
\(A > 0\) (모든 원소 양수)이면 \(A\) 의 가장 큰 고유값 \(\lambda_{\max}\) 는
- 양의 실수이고,
- 그 고유벡터를 양수로 잡을 수 있고,
- 단순 고유값(중복도 1)이다.
이 정리가 마르코프 사슬, Leslie 인구 모형, Leontief 경제 모형의 모든 장기 분석을 떠받친다.
4.6 Leslie 행렬과 인구 모형
연령별 인구 \(\mathbf{n} = (n_1, n_2, n_3)\) 가 20년마다 어떻게 변하는가? 출산률 \(F_1, F_2, F_3\) 와 생존률 \(P_1, P_2\) 로 Leslie 행렬을 쓴다.
\[ \begin{bmatrix} n_1^{\text{new}} \\ n_2^{\text{new}} \\ n_3^{\text{new}} \end{bmatrix} = \begin{bmatrix} F_1 & F_2 & F_3 \\ P_1 & 0 & 0 \\ 0 & P_2 & 0 \end{bmatrix} \begin{bmatrix} n_1 \\ n_2 \\ n_3 \end{bmatrix}. \]
가장 큰 고유값 \(\lambda_{\max}\) 가 1보다 크면 인구 성장, 1이면 안정, 1보다 작으면 멸종이다. 이 때 \(\lambda_{\max}\) 는 마르코프와 달리 1이 아니다 — Leslie 행렬은 열합이 1이 아니기 때문이다. 그러나 Perron-Frobenius는 여전히 적용된다 (\(A^k > 0\) 이면 충분).
4.7 Leontief 경제 모형: \((I - A)^{-1}\)
소비 행렬 \(A\) 의 \((i, j)\) 원소 = 산업 \(j\) 의 산출 1단위를 만들기 위해 산업 \(i\) 가 투입해야 하는 양. 외부 수요 \(\mathbf{y}\) 를 만족시키려면 총 생산 \(\mathbf{p}\) 가
\[ \mathbf{p} - A\mathbf{p} = \mathbf{y} \;\Longleftrightarrow\; \mathbf{p} = (I - A)^{-1} \mathbf{y}. \]
여기서 핵심 질문: \((I - A)^{-1}\) 이 음수 원소를 가지면 안 된다. 왜냐하면 음의 생산량은 의미가 없기 때문이다. Strang은 이 문제를 우아하게 풀어낸다.
\[ (I - A)^{-1} = I + A + A^2 + A^3 + \cdots \]
이 기하급수가 수렴하려면 \(A\) 의 모든 고유값이 \(|\lambda| < 1\) 이어야 한다. 즉 \(\lambda_{\max}(A) < 1\) 이 “경제가 생산적(productive)” 이라는 조건이다 (Strang, 2009, Ch.8.3). 산업이 자기 산출보다 더 많이 소비하면 (\(\lambda_{\max} > 1\)), 외부 수요를 절대 만족시킬 수 없다.
4.8 데이터 사이언스 연결
Google PageRank는 마르코프 행렬의 정상 분포다 — 웹 그래프에서 무작위로 링크를 따라가는 사람이 각 페이지에 머무를 확률. Markov Chain Monte Carlo(MCMC)로 사후분포를 샘플링할 때, 정상분포가 곧 목표 분포다. Hidden Markov Model(HMM), 강화학습의 정책 평가(Bellman 방정식), 음성·자연어 모델링 모두 이 절의 직계 후손이다.
5 §8.4 선형계획법: 코너에서 답이 나오는 이유
5.1 문제 설정
선형계획(linear programming, LP)은 선형대수에 두 가지를 더한다 — 부등식과 최소화.
\[ \min_{\mathbf{x}} \; \mathbf{c}^\top \mathbf{x} \quad \text{subject to} \quad A\mathbf{x} = \mathbf{b}, \quad \mathbf{x} \geq \mathbf{0}. \]
\(A\) 는 보통 \(n > m\) 인 직사각으로, 열이 더 많다. 즉 해가 무한히 많고, 그 중 비용 \(\mathbf{c}^\top \mathbf{x}\) 가 최소인 것을 고른다.
5.2 직관: 가능 영역은 다면체, 최적해는 코너에 있다
Strang의 예제: 한 식 \(x_1 + x_2 + 2x_3 = 4\), \(\mathbf{x} \geq \mathbf{0}\), 비용 \(5x_1 + 3x_2 + 8x_3\) 최소화.
- \(A\mathbf{x} = \mathbf{b}\) 는 3차원 공간의 한 평면.
- \(\mathbf{x} \geq \mathbf{0}\) 는 그 평면을 1사분면 안의 삼각형 \(PQR\) 로 자른다.
- \(P = (4, 0, 0)\), 비용 20
- \(Q = (0, 4, 0)\), 비용 12
- \(R = (0, 0, 2)\), 비용 16
비용 평면 \(5x_1 + 3x_2 + 8x_3 = C\) 는 \(C\) 가 커질수록 원점에서 멀어지면서 평행 이동한다. 처음 삼각형에 닿는 순간이 최소 비용이고, 그 첫 접점은 반드시 코너다. 이유는 단순하다 — 평행 평면이 다면체의 내부에 닿기 전에 반드시 꼭짓점부터 만난다.
따라서 최적해는 코너에서 찾으면 된다. 이것이 LP의 가장 강력한 단순화다.
5.3 코너의 대수적 특성
\(m\) 개의 등식과 \(n\) 개의 변수가 있을 때, 코너에서는 \(n - m\) 개의 변수가 0 이고 나머지 \(m\) 개만 양수이다. 즉 코너 개수 \(\leq \binom{n}{m}\). \(n = 20, m = 8\) 만 되어도 50억 개가 넘는다 — 그래서 단순한 전수조사는 불가능하고 단체법이 필요하다.
5.4 Simplex 방법 (단체법)
단체법(simplex method)은 한 코너에서 인접 코너로 비용이 줄어드는 방향으로 이동하는 알고리즘이다. 대수적으로는 피벗 교환 — 영인 변수 하나를 양수로 만들고, 양수였던 변수 하나를 영으로 만든다. 가우스 소거의 사촌이라고 보면 된다.
Strang의 비유: “소거법이 선형 방정식의 일꾼이라면, 단체법은 선형 부등식의 일꾼이다.” 두 알고리즘 모두 한 단계씩 행렬을 변형해가며 답에 다가간다.
5.5 쌍대성: Min = Max
LP의 가장 깊은 정리는 쌍대성 정리(duality theorem) 다. 모든 최소화 LP에는 대응하는 최대화 LP가 있고, 둘의 최적값은 같다.
| 원문제 (Primal) | 쌍대문제 (Dual) |
|---|---|
| \(\min \; \mathbf{c}^\top \mathbf{x}\) | \(\max \; \mathbf{b}^\top \mathbf{y}\) |
| s.t. \(A\mathbf{x} = \mathbf{b}\) | s.t. \(A^\top \mathbf{y} \leq \mathbf{c}\) |
| \(\mathbf{x} \geq \mathbf{0}\) | \(\mathbf{y}\) 자유 |
약쌍대성(weak duality)은 한 줄로 증명된다.
\[ \mathbf{b}^\top \mathbf{y} = (A\mathbf{x})^\top \mathbf{y} = \mathbf{x}^\top (A^\top \mathbf{y}) \leq \mathbf{x}^\top \mathbf{c}. \]
여기서 \(A^\top \mathbf{y} \leq \mathbf{c}\) 와 \(\mathbf{x} \geq \mathbf{0}\) 을 썼다. 강쌍대성(strong duality)은 부등호가 등호가 되는 \(\mathbf{x}^*, \mathbf{y}^*\) 가 존재한다는 주장이고, 이것이 LP 이론의 핵심이다.
5.6 데이터 사이언스 연결
LP의 직계 응용은 운송·할당·생산 계획이지만, 머신러닝에서도 자주 등장한다.
- L1 정규화 회귀(LASSO) 의 쌍대 문제는 LP 또는 QP.
- SVM 의 쌍대 형태 도 같은 코너 최적화 구조.
- 공정 분배(fair allocation), 최적 운송(optimal transport) 의 LP 완화.
- 강화학습의 policy iteration 도 LP로 표현 가능.
6 §8.5 푸리에 급수: 함수 공간에서의 직교성
6.1 무한차원으로 가는 길
§8.5는 선형대수의 모든 직관을 무한차원으로 끌어올린다. 벡터를 함수로, 합을 적분으로 바꾸기만 하면 모든 정리가 거의 그대로 살아남는다 — 이것이 함수해석학(functional analysis) 의 출발점이다.
| 유한차원 \(\mathbb{R}^n\) | 무한차원 \(L^2[0, 2\pi]\) |
|---|---|
| 벡터 \(\mathbf{v} = (v_1, \ldots, v_n)\) | 함수 \(f(x)\) |
| 내적 \(\mathbf{v}^\top \mathbf{w} = \sum v_i w_i\) | \((f, g) = \int_0^{2\pi} f(x) g(x) \, dx\) |
| 길이 \(\| \mathbf{v} \|^2 = \sum v_i^2\) | \(\| f \|^2 = \int_0^{2\pi} f(x)^2 \, dx\) |
| 직교 \(\mathbf{v}^\top \mathbf{w} = 0\) | \(\int f(x) g(x) \, dx = 0\) |
| 정규직교 기저 \(Q\), \(Q^\top Q = I\) | \(\{1, \cos x, \sin x, \cos 2x, \sin 2x, \ldots\}\) |
힐베르트 공간(Hilbert space)은 “길이가 유한한 함수들의 집합” 이다. 무한 합 \(1 + 1 + 1 + \cdots\) 처럼 길이가 발산하는 벡터는 자동으로 배제된다.
6.2 푸리에 급수의 직교성
핵심 관찰: \(\sin nx\) 와 \(\cos mx\) 는 \([0, 2\pi]\) 에서 서로 직교한다.
\[ \int_0^{2\pi} \sin nx \cos mx \, dx = 0, \quad \int_0^{2\pi} \cos nx \cos mx \, dx = 0 \;(n \neq m). \]
이 직교성 덕분에 임의의 함수 \(f(x)\) 를
\[ f(x) = a_0 + \sum_{k=1}^{\infty} \big(a_k \cos kx + b_k \sin kx\big) \]
로 분해할 수 있고, 각 계수는 그저 내적을 취하는 것 으로 계산된다.
\[ a_k = \frac{1}{\pi}\int_0^{2\pi} f(x) \cos kx \, dx, \qquad b_k = \frac{1}{\pi}\int_0^{2\pi} f(x) \sin kx \, dx. \]
이는 정확히 유한차원의 정사영 공식 \(c_k = \mathbf{v}_k^\top \mathbf{b} / \mathbf{v}_k^\top \mathbf{v}_k\) 의 무한차원 형태다. 직교 기저에 대한 분해 = 좌표 = 내적의 일반론. Ch.4 §4.4의 Gram-Schmidt와 정규직교 기저 가 무한차원으로 그대로 확장된다.
6.3 사각파 예제와 길이 보존(Parseval)
사각파 \(f(x) = +1\) (\(0 \leq x < \pi\)), \(-1\) (\(\pi \leq x < 2\pi\)) 의 푸리에 급수는
\[ f(x) = \frac{4}{\pi}\!\left[\frac{\sin x}{1} + \frac{\sin 3x}{3} + \frac{\sin 5x}{5} + \cdots\right]. \]
홀수 사인만 등장하는 것은 \(f\) 가 홀함수이기 때문이다. \(x = \pi/2\) 를 대입하면
\[ 1 = \frac{4}{\pi}\!\left(1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \cdots\right) \;\Longrightarrow\; \frac{\pi}{4} = 1 - \frac{1}{3} + \frac{1}{5} - \cdots \]
라이프니츠 급수가 푸리에 급수로부터 자연스럽게 떨어진다 — 무한차원 직교성의 멋진 부산물이다.
길이 보존(Parseval 정리)은
\[ \| f \|^2 = 2\pi a_0^2 + \pi \sum_{k=1}^{\infty} (a_k^2 + b_k^2). \]
이는 정규직교 행렬 \(Q\) 에 대해 \(\| Q\mathbf{c} \| = \| \mathbf{c} \|\) 인 것의 무한차원 버전이다. 함수의 길이는 푸리에 좌표의 길이와 같다 — 함수 공간 \(L^2\) 와 좌표 공간 \(\ell^2\) 가 정확히 일대일 대응한다.
6.4 데이터 사이언스 연결
푸리에 급수와 그 친척들은 신호처리·딥러닝 어디에서나 등장한다.
- CNN의 대안 — Fourier Neural Operator (PDE 학습).
- Transformer의 위치 인코딩 — sin/cos 기반 직교 기저.
- Wavelet 변환 — 시간-주파수 국소화 직교 기저.
- JPEG 압축 — DCT(Discrete Cosine Transform).
- TCN, WaveNet 의 다이레이션 컨볼루션도 푸리에 관점에서 해석 가능.
7 §8.6 통계와 확률을 위한 선형대수: 가중 최소제곱과 PCA
7.1 다시 등장한 \(A^\top C A\)
§8.6 의 첫 메시지: 가중 최소제곱(weighted least squares) 도 \(A^\top C A\) 다. 측정 \(b_i\) 의 분산이 \(\sigma_i^2\) 로 다 다를 때, 신뢰도가 높은(분산이 작은) 측정에 더 큰 가중치를 줘야 한다. 그 가중치는 정확히 \(w_i = 1/\sigma_i\) 이고, \(C = W^\top W = \text{diag}(1/\sigma_1^2, \ldots, 1/\sigma_m^2)\) 이다.
오차들이 상관되어 있다면 \(C\) 는 대각이 아니라 공분산 행렬의 역행렬 \(\Sigma^{-1}\) 이다. 가중 정규방정식은
\[ A^\top \Sigma^{-1} A \, \hat{\mathbf{x}} = A^\top \Sigma^{-1} \mathbf{b}. \]
이것이 가우스가 발견한 최우 선형 불편 추정량(Best Linear Unbiased Estimator, BLUE) 이다 (Strang, 2009, Ch.8.6).
7.2 왜 이 식이 BLUE 인가 — 직관
세 가지가 동시에 성립한다.
- 선형(Linear) — \(\hat{\mathbf{x}} = L \mathbf{b}\), 즉 데이터의 선형 함수.
- 불편(Unbiased) — \(\mathbb{E}[\hat{\mathbf{x}}] = \mathbf{x}_{\text{true}}\).
- 분산 최소(Best) — 같은 조건의 모든 추정량 중 분산이 가장 작다.
Gauss-Markov 정리: 위 세 조건을 만족하는 추정량은 정확히 \(A^\top \Sigma^{-1} A \hat{\mathbf{x}} = A^\top \Sigma^{-1} \mathbf{b}\) 의 해이다. 통계학과 선형대수가 같은 행렬 방정식에서 만나는 지점이다.
추정치의 공분산은
\[ P = \mathbb{E}[(\hat{\mathbf{x}} - \mathbf{x})(\hat{\mathbf{x}} - \mathbf{x})^\top] = (A^\top \Sigma^{-1} A)^{-1}. \]
데이터 분산 \(\Sigma\) 가 작을수록 추정치 분산 \(P\) 도 작다 — 좋은 측정이 좋은 추정을 낳는다는 직관이 행렬 한 줄로 정량화된다.
7.3 PCA — 데이터의 주성분은 SVD 에서 나온다
데이터 행렬 \(A\) (\(m\) 특성 × \(n\) 샘플, 행 평균은 0으로 정렬됨) 의 주성분 분석(PCA)은 공분산 행렬 \(A A^\top / (n-1)\) 의 고유분해 와 같고, 다시 \(A\) 의 SVD 와 같다.
\[ A = U \Sigma V^\top, \qquad A A^\top = U \Sigma^2 U^\top. \]
- \(U\) 의 열 = 특성 공간의 주방향 (eigenfeature, 또는 eigencourse).
- \(V\) 의 열 = 샘플 공간의 주방향 (eigensample).
- 특이값 \(\sigma_i\) 의 제곱이 그 방향의 분산.
“가장 많은 정보를 담는 한 방향” 은 \(\sigma_1\) 에 대응하는 첫 좌특이벡터 \(\mathbf{u}_1\). 데이터의 분산을 최대로 잡는 직선이고, 그 다음으로 큰 분산은 \(\mathbf{u}_2\) 에 직교한 채로 잡힌다.
상세한 SVD 구조와 응용은 Ch.6 §6.7 — SVD 와 Ch.4 §4.3 — 최소제곱 에서 다룬다. 이 절의 메시지는 “통계의 BLUE 와 PCA 는 모두 \(A^\top A\) 의 분광 분해에서 나온다” 는 단 하나의 통합 원리다.
7.4 데이터 사이언스 연결
- 선형회귀 의 정규방정식이 \(A^\top A \hat{\mathbf{x}} = A^\top \mathbf{b}\).
- GLS, FGLS, WLS — 모두 \(\Sigma\) 만 다를 뿐 같은 식.
- 칼만 필터 — 시간에 따라 \(\Sigma\) 와 \(A^\top \Sigma^{-1} A\) 를 점진적으로 갱신.
- PCA, ICA, Factor Analysis — 모두 분광 분해.
- LSI/LSA, Word2Vec 의 GloVe — 단어 공기 행렬의 SVD.
8 §8.7 컴퓨터 그래픽: 동차 좌표가 4×4 행렬을 강요하는 이유
8.1 평행이동은 선형이 아니다
3D 공간의 핵심 변환은 네 가지다 — 평행이동(translation), 스케일링(scaling), 회전(rotation), 투영(projection). 그런데 평행이동은 선형 변환이 아니다. 어떤 \(3 \times 3\) 행렬도 원점을 다른 점으로 옮길 수 없다. \(T(\mathbf{0}) = M\mathbf{0} = \mathbf{0}\) 이기 때문이다.
해결책: 점 \((x, y, z)\) 를 4차원 동차 좌표(homogeneous coordinates) \((x, y, z, 1)\) 로 표현하고, \(4 \times 4\) 행렬을 사용한다. 그러면 평행이동도 행렬로 표현된다.
\[ T = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ x_0 & y_0 & z_0 & 1 \end{bmatrix}, \quad \begin{bmatrix} x & y & z & 1 \end{bmatrix} T = \begin{bmatrix} x + x_0 & y + y_0 & z + z_0 & 1 \end{bmatrix}. \]
(컴퓨터 그래픽 관습은 행벡터 × 행렬이다 — 메모리 레이아웃과 캐시 효율 때문.)
8.2 직관: 한 차원을 더 만들어 비선형을 선형으로 강제한다
이 트릭은 사실 매우 일반적이다. “비선형 변환을 한 차원 위에서 선형으로 본다” 는 아이디어는 SVM의 커널 트릭, 신경망의 활성화 후 잔차 연결, 사영 기하학(projective geometry) 의 핵심이기도 하다. Strang은 이 비유를 직접 쓰진 않지만, 동차 좌표를 보고 나면 그 공통점이 자연스럽게 보인다.
8.3 네 가지 변환의 통일된 형태
\[ \text{스케일링: } S = \begin{bmatrix} c_1 & 0 & 0 & 0 \\ 0 & c_2 & 0 & 0 \\ 0 & 0 & c_3 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}, \quad \text{회전: } R = \begin{bmatrix} Q_{3 \times 3} & \mathbf{0} \\ \mathbf{0}^\top & 1 \end{bmatrix}. \]
여기서 \(Q\) 는 \(3 \times 3\) 정규직교 회전 행렬이다. 마지막 열·행에 0과 1을 끼워넣는 것 외에는 평소의 선형대수와 같다.
투영(projection)은 더 흥미롭다. 단위 법선 \(\mathbf{n}\) 을 가진 평면 위로의 정사영은
\[ P = I - \mathbf{n}\mathbf{n}^\top. \]
이는 Ch.4 §4.2 — 정사영 에서 본 정사영 행렬의 특수 형태다. 동차 좌표에서는 \(4 \times 4\) 로 확장된다.
8.4 임의 점 주위 회전 — 동차 좌표의 진가
점 \((4, 5)\) 주위로 평면을 회전시키려면? 일반적인 \(2 \times 2\) 회전은 원점 주위만 가능하다. 동차 좌표에서는 세 단계로 푼다.
\[ v \cdot T_{-} \cdot R \cdot T_{+} \]
- \(T_{-}\): \((4, 5)\) 를 원점으로 옮긴다.
- \(R\): 원점 주위로 회전.
- \(T_{+}\): 원점을 다시 \((4, 5)\) 로 옮긴다.
\(3 \times 3\) 행렬의 곱셈 한 번으로 끝난다. 이 결합 방식이 OpenGL, DirectX, 게임 엔진의 모든 변환의 표준이다.
8.5 데이터 사이언스 연결
- 이미지 변환·증강(image augmentation) — 회전, 스케일, 시프트 모두 \(4 \times 4\) 행렬.
- 3D 비전, SLAM, NeRF — 카메라 외부·내부 파라미터 행렬.
- 로봇 운동학 — 동차 변환 행렬의 곱.
- 딥러닝 affine layer — 동차 좌표의 가장 작은 형태 (\(\mathbf{Wx} + \mathbf{b}\) 를 \([\mathbf{W}\;\mathbf{b}]\begin{bmatrix}\mathbf{x}\\1\end{bmatrix}\) 로 보는 것).
9 통합 관점: 7개 절을 묶어서 다시 보기
9.1 같은 골격이 반복되는 표
| 절 | 핵심 행렬 | 직관 |
|---|---|---|
| §8.1 공학 | \(K = A^\top C A\) | 차분 → 강성 → 균형, 에너지 ≥ 0 |
| §8.2 그래프·네트워크 | \(A^\top C A\) | 전위차 → 옴 법칙 → KCL |
| §8.3 마르코프 | \(A\) (열합 = 1) | 정상상태 = \(\lambda = 1\) 고유벡터 |
| §8.4 LP | \(A\mathbf{x} = \mathbf{b}, \mathbf{x} \geq \mathbf{0}\) | 코너 = 답, 쌍대성 |
| §8.5 푸리에 | 무한 직교 기저 \(\{\sin nx, \cos nx\}\) | 함수의 분광 분해 |
| §8.6 통계·PCA | \(A^\top \Sigma^{-1} A\), \(A = U\Sigma V^\top\) | BLUE, 공분산의 분광 분해 |
| §8.7 그래픽 | \(4 \times 4\) 동차 행렬 | 비선형(평행이동)을 +1 차원에서 선형화 |
§8.1·8.2·8.6 은 \(A^\top C A\) 의 변주, §8.3·8.6 은 고유값 분해, §8.5·8.6 은 직교 기저, §8.4·8.7 은 기하학적 단순화(다면체의 코너, 동차 차원 추가)다. 7개 절이 서로 다른 분야로 보이지만 실제로는 4개의 도구가 돌아가며 무대에 오른다.
9.2 이 장이 책 전체에서 차지하는 위치
Ch.1~7 까지가 “선형대수의 도구를 만든다” 였다면 Ch.8 은 “그 도구가 왜 만들 가치가 있었는지 보여준다” 다. 모든 절이 앞 장의 직접적 응용이다.
| 응용 | 의존하는 앞 장 |
|---|---|
| §8.1, §8.2 | Ch.2(소거), Ch.3(영공간), Ch.4(직교성), Ch.6(양정치) |
| §8.3 | Ch.6(고유값, 대각화) |
| §8.4 | Ch.3(rank·자유 변수), 새로운 도구 — 부등식 |
| §8.5 | Ch.4(직교 기저), 무한차원으로 확장 |
| §8.6 | Ch.4(최소제곱), Ch.6(SVD), Ch.7(의사역행렬) |
| §8.7 | Ch.7(선형변환), Ch.4(정사영) |
Ch.8 을 읽고 나면 앞 장에서 외우듯 푼 정리들이 어떤 실제 문제를 풀기 위해 필요했는지 보인다.
10 코드 예시: \(K = A^\top C A\) 와 정상분포
다음은 본 절의 두 핵심 — 강성 행렬과 마르코프 정상분포 — 를 NumPy로 직접 확인하는 코드다.
import numpy as np
# §8.1 — 고정-고정 4 스프링 3 질량 시스템
A = np.array([
[ 1, 0, 0],
[-1, 1, 0],
[ 0, -1, 1],
[ 0, 0, -1],
], dtype=float)
C = np.diag([1.0, 1.0, 1.0, 1.0]) # 모든 c_i = 1
K = A.T @ C @ A # 자동으로 -1, 2, -1 행렬
print("K =\n", K)
# K = [[ 2. -1. 0.]
# [-1. 2. -1.]
# [ 0. -1. 2.]]
# K 가 양정치인지 확인 — 모든 고유값이 양수여야 한다
eigvals = np.linalg.eigvalsh(K)
print("eigenvalues of K:", eigvals) # 모두 > 0
# 모든 질량에 같은 외력 (mg = 1)
f = np.array([1.0, 1.0, 1.0])
u = np.linalg.solve(K, f)
print("displacements u:", u) # [1.5, 2.0, 1.5]
# 가운데 질량이 가장 많이 내려간다 — 손계산과 일치# §8.3 — Strang 의 렌터카 마르코프 행렬
A = np.array([
[0.80, 0.05],
[0.20, 0.95],
])
# 고유값 분해
eigvals, eigvecs = np.linalg.eig(A)
print("eigenvalues:", eigvals) # [1.0, 0.75]
# lambda = 1 에 대응하는 고유벡터 = 정상분포 (정규화 후)
idx = np.argmax(eigvals.real)
v = eigvecs[:, idx].real
steady = v / v.sum()
print("steady-state distribution:", steady) # [0.2, 0.8]
# 시뮬레이션으로 검증
u = np.array([0.02, 0.98]) # 초기 분포
for k in range(100):
u = A @ u
print("after 100 steps:", u) # [0.2, 0.8] 에 매우 가까움# §8.6 — 가중 최소제곱 (BLUE)
np.random.seed(0)
m, n = 50, 2
A = np.column_stack([np.ones(m), np.linspace(0, 1, m)])
x_true = np.array([1.0, 2.0])
# 측정 신뢰도가 다른 경우: 첫 25개는 분산 1, 나머지는 분산 9
sigma = np.concatenate([np.ones(25), 3 * np.ones(25)])
noise = np.random.randn(m) * sigma
b = A @ x_true + noise
# 일반 최소제곱 (모든 측정 동등 대우)
x_ols = np.linalg.lstsq(A, b, rcond=None)[0]
# 가중 최소제곱 — Sigma^{-1} 가중
Sigma_inv = np.diag(1.0 / sigma**2)
x_wls = np.linalg.solve(A.T @ Sigma_inv @ A, A.T @ Sigma_inv @ b)
print("x_true:", x_true)
print("OLS :", x_ols)
print("WLS :", x_wls)
# WLS 가 일반적으로 x_true 에 더 가까움 — 신뢰도 차이를 반영했기 때문세 코드는 모두 같은 메시지를 다르게 말한다 — 행렬 곱 한두 줄에 한 분야의 핵심 정리가 압축되어 있다. 이것이 Ch.8 이 보여주려는 선형대수의 위력이다.
11 관련 주제
선행 지식
- Ch.4 §4.2 — 정사영 — §8.7 그래픽 투영의 토대
- Ch.4 §4.3 — 최소제곱 — §8.6 가중 최소제곱의 토대
- Ch.4 §4.4 — 정규직교 기저와 Gram-Schmidt — §8.5 푸리에의 토대
- Ch.6 §6.5 — 양정치 행렬 — §8.1, §8.2 의 \(K = A^\top C A\) 가 양정치인 이유
- Ch.6 §6.7 — SVD — §8.6 PCA의 토대
- Ch.3 §3.6 — 네 부분공간 — §8.2 그래프 부분공간 해석의 토대
- Ch.7 §7.1 — 선형 변환 개요 — §8.7 그래픽 변환의 추상화
관련 (병렬) 포스트
다른 카테고리 연결
- 마르코프 → 통계의 시계열·MCMC
- LP → 최적화 (계획됨, Math index 의 Optimization 섹션)
- PCA → 머신러닝의 차원 축소
- 푸리에 → 신호처리·CNN의 주파수 해석