Linearism › 선형대수 › LA.31

31장. 응용

선형대수 · 4부. 심화

심화 · 약 60분 · 연습문제 16 · 그림 4

요약

마르코프 연쇄와 페이지랭크, 주성분 분석과 저랭크 근사, 그래프 라플라시안과 키르히호프 법칙, 해밍 부호, 동차좌표와 컴퓨터 그래픽스, 행렬 지수함수와 미분방정식, 선형 점화식

지금까지의 도구를 실제 문제에 적용합니다. 마르코프 체인과 페이지랭크, 주성분 분석(PCA), 그래프의 연결 구조(라플라시안), 오류 정정 부호, 컴퓨터 그래픽의 좌표 변환, 미분방정식의 행렬 지수함수를 차례로 봅니다. 각 절은 앞 장의 어떤 정리를 쓰는지 밝혀 두었으므로, 관심 있는 응용부터 읽어도 됩니다.

31.1 선형대수가 쓰이는 곳

질문. 지금까지 배운 정리들은 실제 세계의 어떤 문제를 풀까요? 검색 엔진, 자료 분석, 전기 회로, 통신, 컴퓨터 그래픽스, 미분방정식은 겉보기에 전혀 다릅니다. 이것들이 모두 같은 몇 개의 정리로 풀린다면, 그 정리들은 무엇일까요?

이 장은 응용 여덟 가지를 다룹니다. 각 절은 독립적이므로 관심 있는 것부터 읽어도 됩니다. 절마다 “어느 정리가 일을 하는가”를 표시해 두었습니다. 미분방정식 절(†)은 미적분을 씁니다.

응용 핵심 도구 장
마르코프 연쇄, 페이지랭크 고윳값 1, 거듭제곱법 16, 27, 30
주성분 분석, 저랭크 근사 대칭행렬의 스펙트럴 정리, SVD 17, 18
그래프 라플라시안, 회로 ATCAA^TCA, 4대 부분공간 12, 13, 17
해밍 부호 F2\mathbb{F}_2 위의 영공간 20, 21
컴퓨터 그래픽스 행렬의 곱, 동차좌표 5
미분방정식, 점화식 대각화, 조르당 형식 16, 27

31.2 마르코프 연쇄

어떤 도시의 날씨가 맑음 또는 비이고, 오늘 맑으면 내일 맑을 확률이 0.9, 오늘 비가 오면 내일 맑을 확률이 0.5라 합시다. 오늘 맑을 확률과 비 올 확률을 xk=(pk,qk)\mathbf{x}_k = (p_k, q_k)라 하면

xk+1=Axk,A=[0.90.50.10.5].\mathbf{x}_{k+1} = A\mathbf{x}_k, \qquad A = \begin{bmatrix} 0.9 & 0.5 \\ 0.1 & 0.5 \end{bmatrix}.

AA의 jj열은 “오늘 상태 jj에서 내일 각 상태로 갈 확률”입니다.

정의 31.1 (마르코프 행렬). 성분이 모두 0 이상이고 각 열의 합이 1인 정사각행렬을 마르코프 행렬(Markov matrix)이라 합니다. Ax=xA\mathbf{x} = \mathbf{x}이고 x≥0\mathbf{x} \ge 0, 성분의 합이 1인 x\mathbf{x}를 정상 상태(steady state)라 합니다.

정리 31.2 (마르코프 행렬의 고윳값). AA가 마르코프 행렬이면

  1. 1은 AA의 고윳값이고, 모든 고윳값은 ∣λ∣≤1\lvert \lambda \rvert \le 1입니다.
  2. 성분이 모두 양수이면, λ≠1\lambda \ne 1인 고윳값은 ∣λ∣<1\lvert \lambda \rvert < 1이고 1의 일반화 고유공간은 1차원입니다. 따라서 정상 상태 x∞\mathbf{x}_\infty가 유일하고 성분이 모두 양수이며, 성분의 합이 1인 모든 x0≥0\mathbf{x}_0 \ge 0에 대해 Akx0→x∞A^k\mathbf{x}_0 \to \mathbf{x}_\infty입니다.

증명. (1) 열의 합이 1이므로 AT(1,…,1)=(1,…,1)A^T(1, \ldots, 1) = (1, \ldots, 1), 즉 1은 ATA^T의 고윳값이고 AA의 고윳값이기도 합니다(특성다항식이 같습니다). 또 ∥A∥1=1\lVert A \rVert_1 = 1이므로 ∣λ∣≤∥A∥1=1\lvert \lambda \rvert \le \lVert A \rVert_1 = 1 (문제 30.14).

(2) ATy=λyA^T\mathbf{y} = \lambda\mathbf{y}, ∣λ∣=1\lvert \lambda \rvert = 1이라 하고 ∣yi∣\lvert y_i \rvert가 최대인 ii를 잡읍시다.

∣yi∣=∣λyi∣=∣∑jajiyj∣≤∑jaji∣yj∣≤∑jaji∣yi∣=∣yi∣.\lvert y_i \rvert = \lvert \lambda y_i \rvert = \Big\lvert \sum_j a_{ji}y_j \Big\rvert \le \sum_j a_{ji}\lvert y_j \rvert \le \sum_j a_{ji}\lvert y_i \rvert = \lvert y_i \rvert.

등호가 성립하려면 aji>0a_{ji} > 0이므로 모든 ∣yj∣=∣yi∣\lvert y_j \rvert = \lvert y_i \rvert이고 모든 yjy_j의 방향(복소수의 편각)이 같아야 합니다. 따라서 y\mathbf{y}는 상수 벡터이고 λ=1\lambda = 1. 즉 ∣λ∣=1\lvert \lambda \rvert = 1인 고윳값은 1뿐이고, 그 고유공간은 1차원입니다. 1에 크기 2 이상의 조르당 블록이 있으면 AkA^k에 kk에 비례하는 성분이 생기는데(27.7절), AkA^k도 마르코프 행렬이라 ∥Ak∥1=1\lVert A^k \rVert_1 = 1이므로 불가능합니다. 나머지 블록은 ∣λ∣<1\lvert \lambda \rvert < 1이므로 0으로 갑니다(정리 30.17). 따라서 Akx0A^k\mathbf{x}_0는 고윳값 1의 고유벡터 방향 성분으로 수렴합니다. Akx0≥0A^k\mathbf{x}_0 \ge 0이고 성분의 합이 1로 유지되므로 극한도 그렇습니다. 마지막으로 x∞=Ax∞\mathbf{x}_\infty = A\mathbf{x}_\infty의 각 성분은 양수 aija_{ij}와 0이 아닌 x∞≥0\mathbf{x}_\infty \ge 0의 결합이므로 양수입니다. ■

예제 31.3. 위의 날씨에서 (A−I)x=0(A - I)\mathbf{x} = \mathbf{0}은 −0.1p+0.5q=0-0.1p + 0.5q = 0, 정상 상태는 (5/6,1/6)(5/6, 1/6). 둘째 고윳값은 tr⁡A−1=0.4\operatorname{tr} A - 1 = 0.4이므로 오늘 날씨의 영향은 하루에 0.4배씩 사라집니다. 일주일 뒤면 0.47≈0.0020.4^7 \approx 0.002입니다.

아래 위젯은 7장의 것을 다시 씁니다. 첫 행렬 [0.80.30.20.7]\begin{bmatrix} 0.8 & 0.3 \\ 0.2 & 0.7 \end{bmatrix}은 마르코프 행렬입니다(문제 31.1).

마르코프 행렬을 거듭 곱하면 고윳값 0.5의 성분은 사라지고 정상 상태만 남습니다. 다른 행렬과 비교해 봅니다

이 위젯은 JavaScript가 필요합니다

31.2.1 페이지랭크

웹 페이지 nn개가 서로 링크합니다. 무작위로 링크를 따라가는 사람이 각 페이지에 머무는 비율이 그 페이지의 중요도라고 합시다. 페이지 jj가 mjm_j개의 링크를 가지면 PP의 (i,j)(i, j) 성분을 (j→ij \to i 링크가 있으면) 1/mj1/m_j로 둡니다. PP는 마르코프 행렬이고 중요도는 정상 상태입니다.

예제 31.4. 페이지 1이 2, 3에, 2가 3에, 3이 1에 링크합니다.

P=[00112001210],Px=x⇒x2=12x1, x3=x1,x=(25,15,25).P = \begin{bmatrix} 0 & 0 & 1 \\ \frac12 & 0 & 0 \\ \frac12 & 1 & 0 \end{bmatrix}, \qquad P\mathbf{x} = \mathbf{x} \Rightarrow x_2 = \tfrac12x_1,\ x_3 = x_1, \qquad \mathbf{x} = \left(\tfrac25, \tfrac15, \tfrac25\right).

페이지 3은 링크를 둘 받고 1은 하나만 받지만 중요도가 같습니다. 1이 받는 링크가 “중요한 페이지 3이 몰아 주는” 링크이기 때문입니다.

PP에는 0이 많아 정리 31.2(2)를 쓸 수 없습니다. 그래서 확률 1−α1 - \alpha로 아무 페이지로나 순간이동한다고 고칩니다.

G=αP+1−αnJ(J는 성분이 모두 1인 행렬, α≈0.85).G = \alpha P + \frac{1 - \alpha}{n}J \qquad (J\text{는 성분이 모두 1인 행렬, } \alpha \approx 0.85).

GG는 성분이 모두 양수인 마르코프 행렬이므로 정상 상태가 유일합니다. nn이 수십억이므로 고유벡터는 거듭제곱법으로 구합니다. 둘째 고윳값이 α\alpha 이하임이 알려져 있어서 수렴이 빠릅니다.

▶ 문제 31.1–31.3

31.3 주성분 분석과 저랭크 근사

자료 NN개가 각각 pp개의 측정값을 가집니다. 각 측정값에서 평균을 빼서, 행이 자료 하나인 N×pN \times p 행렬 XX를 만듭니다(열의 합이 0). 공분산 행렬(covariance matrix)은

S=1N−1XTXS = \frac{1}{N - 1}X^TX

입니다. 대칭이고 양의 준정부호입니다. 단위벡터 u\mathbf{u} 방향으로 자료를 사영하면 그 값들의 분산은

1N−1∥Xu∥2=uTSu.\frac{1}{N - 1}\lVert X\mathbf{u} \rVert^2 = \mathbf{u}^TS\mathbf{u}.

정리 31.5 (주성분). SS의 고윳값을 λ1≥⋯≥λp\lambda_1 \ge \cdots \ge \lambda_p, 정규직교 고유벡터를 q1,…,qp\mathbf{q}_1, \ldots, \mathbf{q}_p라 합시다. 분산 uTSu\mathbf{u}^TS\mathbf{u}를 최대로 하는 단위벡터는 q1\mathbf{q}_1이고 최댓값은 λ1\lambda_1입니다. q1,…,qk−1\mathbf{q}_1, \ldots, \mathbf{q}_{k-1}에 수직인 단위벡터 중에서는 qk\mathbf{q}_k가 최대이고 값은 λk\lambda_k입니다.

증명. u=∑ciqi\mathbf{u} = \sum c_i\mathbf{q}_i이면 uTSu=∑λici2≤λ1∑ci2=λ1\mathbf{u}^TS\mathbf{u} = \sum \lambda_ic_i^2 \le \lambda_1\sum c_i^2 = \lambda_1이고 등호는 u=q1\mathbf{u} = \mathbf{q}_1. q1,…,qk−1\mathbf{q}_1, \ldots, \mathbf{q}_{k-1}에 수직이면 c1=⋯=ck−1=0c_1 = \cdots = c_{k-1} = 0이므로 같은 논리로 λk\lambda_k. ■

qk\mathbf{q}_k를 kk번째 주성분(principal component)이라 합니다. 고윳값들의 합 tr⁡S\operatorname{tr} S가 전체 분산이고, 처음 kk개 주성분이 그중 (λ1+⋯+λk)/tr⁡S(\lambda_1 + \cdots + \lambda_k)/\operatorname{tr} S를 설명합니다. SS의 고유벡터는 XX의 오른쪽 특이벡터이고 λi=σi2/(N−1)\lambda_i = \sigma_i^2/(N - 1)이므로, 실제로는 XX의 SVD로 계산합니다.

예제 31.6. 자료 (2,1),(−2,−1),(1,1),(−1,−1)(2, 1), (-2, -1), (1, 1), (-1, -1) (평균 0). XTX=[10664]X^TX = \begin{bmatrix} 10 & 6 \\ 6 & 4 \end{bmatrix}, 고윳값 7±457 \pm \sqrt{45}, 즉 13.71과 0.29. 첫 주성분은 (1,0.618)(1, 0.618) 방향이고 분산의 13.71/14≈98%13.71/14 \approx 98\%를 설명합니다. 2차원 자료가 사실상 직선 위에 있습니다.

원점을 지나는 기울어진 직선 위아래로 점 네 개가 있고, 각 점에서 직선까지 짧은 수직 점선이 그어져 있습니다. 직선 방향의 굵은 화살표 q₁과 그에 수직인 짧은 화살표 q₂.

그림 31.1. 주성분 분석. 첫 주성분 q1\mathbf{q}_1은 점들을 사영했을 때 가장 넓게 퍼지는 방향이고, 동시에 점에서 직선까지의 수직 거리의 제곱합(점선)이 가장 작은 직선입니다. 13장의 최소제곱은 세로 거리를 줄였습니다.

저랭크 근사. 에카르트–영 정리(30.3절)에 의해 XX의 SVD를 kk개에서 자른 XkX_k는 랭크 kk 이하 행렬 중 XX에 가장 가깝습니다(∥⋅∥2\lVert \cdot \rVert_2로도, ∥⋅∥F\lVert \cdot \rVert_F로도). 자료를 kk개 주성분 좌표로 줄이는 것이 곧 XkX_k입니다. 사진 압축, 추천 시스템(사용자 × 영화 평점 행렬을 저랭크로 근사해 빈칸을 채움), 문서 검색이 모두 이것을 씁니다.

▶ 문제 31.4–31.6

31.4 그래프 라플라시안과 전기 회로

꼭짓점 nn개, 변 mm개인 그래프에서 각 변에 방향을 정하고 m×nm \times n 근접행렬(incidence matrix) AA를 만듭니다. 변 ee가 ii에서 jj로 가면 ee행은 ii열에 −1-1, jj열에 +1+1, 나머지는 0입니다.

x∈Rn\mathbf{x} \in \mathbb{R}^n을 꼭짓점의 값(전위, 높이)이라 하면 (Ax)e=xj−xi(A\mathbf{x})_e = x_j - x_i는 변 양 끝의 차입니다. Ax=0A\mathbf{x} = \mathbf{0}이면 이웃한 꼭짓점의 값이 같으므로, 그래프가 연결되어 있으면 N(A)N(A)는 상수 벡터들뿐이고 rank⁡A=n−1\operatorname{rank} A = n - 1입니다. AA의 4대 부분공간은 모두 그래프의 언어로 읽힙니다(문제 31.7).

정의 31.7 (그래프 라플라시안). L=ATAL = A^TA를 그래프 라플라시안(graph Laplacian)이라 합니다. L=D−WL = D - W입니다. 여기서 DD는 각 꼭짓점의 차수를 대각에 둔 행렬, WW는 인접행렬(i,ji, j가 이웃이면 1)입니다.

정리 31.8 (라플라시안의 성질).

  1. xTLx=∑변 ij(xi−xj)2≥0\mathbf{x}^TL\mathbf{x} = \sum_{\text{변 } ij}(x_i - x_j)^2 \ge 0. LL은 대칭 양의 준정부호입니다.
  2. LL의 고윳값 0의 중복도는 그래프의 연결 성분의 개수입니다.

증명. (1) xTATAx=∥Ax∥2\mathbf{x}^TA^TA\mathbf{x} = \lVert A\mathbf{x} \rVert^2. (2) Lx=0  ⟺  ∥Ax∥2=0  ⟺  L\mathbf{x} = \mathbf{0} \iff \lVert A\mathbf{x} \rVert^2 = 0 \iff 이웃한 꼭짓점의 값이 모두 같다   ⟺  \iff 각 연결 성분 위에서 x\mathbf{x}가 상수. 이런 x\mathbf{x}의 공간의 차원은 성분의 개수이고, LL은 대칭이라 대각화 가능하므로 기하적 중복도가 곧 중복도입니다. ■

연결된 그래프에서 둘째로 작은 고윳값 λ2\lambda_2의 고유벡터(피들러 벡터(Fiedler vector))의 부호로 꼭짓점을 둘로 나누면 연결이 약한 곳에서 그래프가 잘립니다. 이것이 스펙트럴 군집화(spectral clustering)의 기본 아이디어입니다.

31.4.1 키르히호프 법칙

변이 저항이고 꼭짓점이 회로의 마디라 합시다. 저항 ReR_e의 역수(컨덕턴스(conductance))를 대각에 둔 행렬을 CC라 하면 세 법칙이 행렬 셋이 됩니다.

  1. 전위차: e=−Ax\mathbf{e} = -A\mathbf{x}. 변 i→ji \to j의 e\mathbf{e} 성분은 xi−xjx_i - x_j입니다.
  2. 옴의 법칙: y=Ce\mathbf{y} = C\mathbf{e}. 변 i→ji \to j를 따라 ii에서 jj로 흐르는 전류입니다.
  3. 키르히호프 전류 법칙: −ATy=f-A^T\mathbf{y} = \mathbf{f}. AA의 ii열은 ii에서 나가는 변에 −1-1, 들어오는 변에 +1+1이므로 (−ATy)i(-A^T\mathbf{y})_i는 마디 ii에서 저항들로 흘러 나가는 전류의 합이고, 이것이 외부에서 넣은 전류 fif_i와 같습니다.

합치면

Kx=f,K=ATCA.K\mathbf{x} = \mathbf{f}, \qquad K = A^TCA.

KK는 가중 라플라시안이고 상수 벡터를 죽이므로 가역이 아닙니다. 전위는 기준점이 있어야 정해집니다. 한 마디를 접지(x=0x = 0)하면 그 행과 열을 지운 KK는 양정치이고(문제 31.9) 해가 유일합니다. K=(CA)T(CA)K = (\sqrt{C}A)^T(\sqrt{C}A)이므로 17장의 판정법 “S=BTBS = B^TB”가 쓰입니다. 같은 ATCAA^TCA 구조가 용수철 망(강성 행렬)과 가중 최소제곱에도 나타납니다.

예제 31.9. 마디 1, 2, 3이 저항 R12=1 ΩR_{12} = 1\,\Omega, R23=2 ΩR_{23} = 2\,\Omega, R13=2 ΩR_{13} = 2\,\Omega로 연결되고, 마디 3을 접지하고 마디 1에 1 A를 넣습니다. 컨덕턴스 1, 0.5, 0.5. 마디 1, 2에 대한 축소 행렬과 방정식은

[1.5−1−11.5][x1x2]=[10],(x1,x2)=(1.2,0.8) V.\begin{bmatrix} 1.5 & -1 \\ -1 & 1.5 \end{bmatrix}\begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} 1 \\ 0 \end{bmatrix}, \qquad (x_1, x_2) = (1.2, 0.8)\ \mathrm{V}.

마디 1과 접지 사이의 등가저항은 x1/1 A=1.2 Ωx_1/1\,\mathrm{A} = 1.2\,\Omega. 직렬 1+2=3 Ω1 + 2 = 3\,\Omega와 2 Ω2\,\Omega의 병렬 3⋅2/5=1.2 Ω3 \cdot 2/5 = 1.2\,\Omega와 같습니다.

삼각형으로 연결된 마디 1(왼쪽 아래), 2(위), 3(오른쪽 아래). 1–2 사이 1 Ω, 2–3 사이 2 Ω, 1–3 사이 2 Ω 저항. 왼쪽에서 마디 1로 1 A 화살표가 들어가고, 마디 3 아래에 접지 기호가 있습니다.

그림 31.2. 저항 회로와 그 그래프. 마디 3이 접지(전위 0)입니다.

▶ 문제 31.7–31.9

31.5 오류 정정 부호

통신이나 저장에서 비트가 가끔 뒤집힙니다. 정보 4비트를 7비트로 늘려 보내되, 어느 한 비트가 뒤집혀도 고칠 수 있게 합시다. 모든 계산은 F2\mathbb{F}_2에서 합니다.

정의 31.10 (해밍 부호). 열이 1,…,71, \ldots, 7의 이진 표현인 3×73 \times 7 행렬

H=[000111101100111010101]H = \begin{bmatrix} 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ 1 & 0 & 1 & 0 & 1 & 0 & 1 \end{bmatrix}

의 영공간 C=N(H)⊆F27C = N(H) \subseteq \mathbb{F}_2^7을 해밍 부호(Hamming code)라 합니다. CC의 원소를 부호어라 합니다.

정리 31.11 (해밍 부호의 성질).

  1. dim⁡C=4\dim C = 4, 즉 부호어는 24=162^4 = 16개입니다.
  2. 서로 다른 두 부호어는 적어도 3개의 자리에서 다릅니다.
  3. 부호어 c\mathbf{c}의 ii번째 비트가 뒤집혀 r=c+ei\mathbf{r} = \mathbf{c} + \mathbf{e}_i를 받으면, HrH\mathbf{r}은 ii의 이진 표현입니다.

증명. (1) HH의 4, 2, 1열이 I3I_3의 열이므로 rank⁡H=3\operatorname{rank} H = 3, 랭크–영공간 정리로 dim⁡N(H)=7−3=4\dim N(H) = 7 - 3 = 4 (20장에서 본 것처럼 F2\mathbb{F}_2에서도 성립합니다). (2) c≠c′\mathbf{c} \ne \mathbf{c}'이 두 자리 이하에서 다르면 c−c′∈C\mathbf{c} - \mathbf{c}' \in C는 1이 한두 개인 벡터입니다. 그러면 HH의 한 열이 0이거나 두 열의 합이 0(두 열이 같음)인데, HH의 열은 0이 아니고 서로 다릅니다. (3) Hr=Hc+Hei=0+(H의 i열)H\mathbf{r} = H\mathbf{c} + H\mathbf{e}_i = \mathbf{0} + (H\text{의 } i\text{열}). ■

예제 31.12. c=(1,1,1,0,0,0,0)\mathbf{c} = (1, 1, 1, 0, 0, 0, 0)은 Hc=(0,1+1,1+1)=0H\mathbf{c} = (0, 1 + 1, 1 + 1) = \mathbf{0}이므로 부호어입니다. 5번째 비트가 뒤집혀 r=(1,1,1,0,1,0,0)\mathbf{r} = (1, 1, 1, 0, 1, 0, 0)을 받으면 Hr=(1,0,1)H\mathbf{r} = (1, 0, 1), 이진수 101=5101 = 5. 5번째 비트를 고칩니다.

받는 쪽은 행렬 곱 하나로 오류 위치를 압니다. 부호 설계는 “거리가 먼 부분공간”을 고르는 문제이고, CD, QR 코드, 위성 통신, 메모리(ECC RAM)가 이런 부호를 씁니다.

비트를 눌러 뒤집으면 받은 벡터 r이 바뀌고, Hr이 뒤집힌 자리의 이진 표현이 됩니다. 두 비트를 뒤집으면 복호가 틀립니다

이 위젯은 JavaScript가 필요합니다

▶ 문제 31.10–31.11

31.6 컴퓨터 그래픽스

회전, 확대, 반사는 선형변환이지만 평행이동 x↦x+b\mathbf{x} \mapsto \mathbf{x} + \mathbf{b}는 원점을 옮기므로 선형이 아닙니다. 해결책은 차원을 하나 늘리는 것입니다. 평면의 점 (x,y)(x, y)를 (x,y,1)(x, y, 1)로 쓰면(동차좌표(homogeneous coordinates))

[10a01b001][xy1]=[x+ay+b1].\begin{bmatrix} 1 & 0 & a \\ 0 & 1 & b \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} x \\ y \\ 1 \end{bmatrix} = \begin{bmatrix} x + a \\ y + b \\ 1 \end{bmatrix}.

평행이동이 3×33 \times 3 행렬의 곱이 됩니다. 선형변환 MM은 [M00T1]\begin{bmatrix} M & \mathbf{0} \\ \mathbf{0}^T & 1 \end{bmatrix}로 씁니다. 이제 모든 변환이 행렬이므로 변환을 이어 붙이는 것은 행렬의 곱입니다.

예제 31.13. 점 p=(1,0)\mathbf{p} = (1, 0)을 중심으로 90∘90^\circ 회전: 원점으로 옮기고(T−pT_{-\mathbf{p}}), 돌리고(RR), 되돌립니다(TpT_{\mathbf{p}}).

TpRT−p=[101010001][0−10100001][10−1010001]=[0−1110−1001].T_{\mathbf{p}}RT_{-\mathbf{p}} = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} 1 & 0 & -1 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} 0 & -1 & 1 \\ 1 & 0 & -1 \\ 0 & 0 & 1 \end{bmatrix}.

(2,0,1)↦(1,1,1)(2, 0, 1) \mapsto (1, 1, 1): 점 (2,0)(2, 0)이 (1,1)(1, 1)로 갑니다.

3차원 그래픽스는 4×44 \times 4 행렬을 씁니다. 원근 투영도 4×44 \times 4 행렬로 쓰고, 마지막에 넷째 좌표 ww로 나눕니다((x,y,z,w)↦(x/w,y/w,z/w)(x, y, z, w) \mapsto (x/w, y/w, z/w)). 멀리 있는 물체일수록 ww가 커서 작게 보입니다. 그래픽 카드는 이 행렬 곱을 초당 수십억 번 하는 기계입니다.

▶ 문제 31.12

31.7 † 미분방정식

u(t)∈Rn\mathbf{u}(t) \in \mathbb{R}^n이 dudt=Au\dfrac{d\mathbf{u}}{dt} = A\mathbf{u}, u(0)=u0\mathbf{u}(0) = \mathbf{u}_0을 만족한다고 합시다. n=1n = 1이면 해는 u0eatu_0e^{at}입니다. 행렬에서도 같습니다.

정의 31.14 (행렬 지수함수). eM=I+M+M22!+M33!+⋯e^M = I + M + \dfrac{M^2}{2!} + \dfrac{M^3}{3!} + \cdots.

이 급수는 모든 MM에서 수렴합니다(∥Mk∥/k!≤∥M∥k/k!\lVert M^k \rVert/k! \le \lVert M \rVert^k/k!). 항별로 미분하면 ddteAt=AeAt\dfrac{d}{dt}e^{At} = Ae^{At}이므로 u(t)=eAtu0\mathbf{u}(t) = e^{At}\mathbf{u}_0이 해입니다.

정리 31.15 (대각화로 푸는 미분방정식). A=QΛQ−1A = Q\Lambda Q^{-1}이면 eAt=QeΛtQ−1e^{At} = Qe^{\Lambda t}Q^{-1}, eΛt=diag⁡(eλ1t,…,eλnt)e^{\Lambda t} = \operatorname{diag}(e^{\lambda_1t}, \ldots, e^{\lambda_nt})이고

u(t)=c1eλ1tq1+⋯+cneλntqn,u0=c1q1+⋯+cnqn.\mathbf{u}(t) = c_1e^{\lambda_1t}\mathbf{q}_1 + \cdots + c_ne^{\lambda_nt}\mathbf{q}_n, \qquad \mathbf{u}_0 = c_1\mathbf{q}_1 + \cdots + c_n\mathbf{q}_n.

모든 고윳값의 실수부가 음수이면 u(t)→0\mathbf{u}(t) \to \mathbf{0}입니다.

증명. (QΛQ−1)k=QΛkQ−1(Q\Lambda Q^{-1})^k = Q\Lambda^kQ^{-1}을 급수에 넣습니다. ∣eλt∣=e(Re⁡λ)t\lvert e^{\lambda t} \rvert = e^{(\operatorname{Re}\lambda)t}. ■

차분방정식 uk+1=Auk\mathbf{u}_{k+1} = A\mathbf{u}_k에서는 ∣λ∣<1\lvert \lambda \rvert < 1이 안정 조건이었고, 미분방정식에서는 Re⁡λ<0\operatorname{Re}\lambda < 0입니다. 대각화가 안 되면 조르당 블록 Js(λ)J_s(\lambda)에서 eJt=eλt(I+tN+t22N2+⋯)e^{Jt} = e^{\lambda t}\big(I + tN + \frac{t^2}{2}N^2 + \cdots\big)이므로 teλtte^{\lambda t} 같은 항이 생깁니다.

예제 31.16. 감쇠 진동 x′′+3x′+2x=0x'' + 3x' + 2x = 0. u=(x,x′)\mathbf{u} = (x, x')로 두면

u′=[01−2−3]u.\mathbf{u}' = \begin{bmatrix} 0 & 1 \\ -2 & -3 \end{bmatrix}\mathbf{u}.

고윳값은 λ2+3λ+2=0\lambda^2 + 3\lambda + 2 = 0의 근 −1,−2-1, -2이고 고유벡터는 (1,−1)(1, -1), (1,−2)(1, -2). x(0)=1x(0) = 1, x′(0)=0x'(0) = 0이면 u0=2(1,−1)−(1,−2)\mathbf{u}_0 = 2(1, -1) - (1, -2)이므로 x(t)=2e−t−e−2tx(t) = 2e^{-t} - e^{-2t}. 저항, 코일, 축전기 회로의 Lq′′+Rq′+q/C=0Lq'' + Rq' + q/C = 0도 같은 꼴입니다. R2<4L/CR^2 < 4L/C이면 고윳값이 켤레 복소수가 되어 진동하며 감쇠합니다.

계수행렬은 특성다항식 λ2+3λ+2\lambda^2 + 3\lambda + 2의 동반행렬(29장)의 전치입니다. nn계 상미분방정식은 언제나 이렇게 1계 연립방정식이 됩니다.

▶ 문제 31.13–31.14

31.8 선형 점화식

피보나치 수 F0=0F_0 = 0, F1=1F_1 = 1, Fk+1=Fk+Fk−1F_{k+1} = F_k + F_{k-1}. uk=(Fk+1,Fk)\mathbf{u}_k = (F_{k+1}, F_k)로 두면

uk+1=[1110]uk,uk=[1110]k[10].\mathbf{u}_{k+1} = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix}\mathbf{u}_k, \qquad \mathbf{u}_k = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix}^k\begin{bmatrix} 1 \\ 0 \end{bmatrix}.

고윳값은 λ2−λ−1=0\lambda^2 - \lambda - 1 = 0의 근 φ=1+52≈1.618\varphi = \frac{1 + \sqrt5}{2} \approx 1.618, ψ=1−52≈−0.618\psi = \frac{1 - \sqrt5}{2} \approx -0.618이고 고유벡터는 (φ,1)(\varphi, 1), (ψ,1)(\psi, 1). (1,0)=15((φ,1)−(ψ,1))(1, 0) = \frac{1}{\sqrt5}\big((\varphi, 1) - (\psi, 1)\big)이므로

Fk=φk−ψk5.F_k = \frac{\varphi^k - \psi^k}{\sqrt5}.

∣ψ∣<1\lvert \psi \rvert < 1이므로 FkF_k는 φk/5\varphi^k/\sqrt5에 가장 가까운 정수이고, Fk+1/Fk→φF_{k+1}/F_k \to \varphi입니다. 거듭제곱법(30장)과 같은 현상입니다. 가장 큰 고윳값이 장기적인 모습을 정합니다.

일반적으로 ak+n=cn−1ak+n−1+⋯+c0aka_{k+n} = c_{n-1}a_{k+n-1} + \cdots + c_0a_k는 n×nn \times n 동반행렬의 거듭제곱이고, 특성다항식 λn−cn−1λn−1−⋯−c0\lambda^n - c_{n-1}\lambda^{n-1} - \cdots - c_0의 근 λi\lambda_i가 서로 다르면 ak=∑biλika_k = \sum b_i\lambda_i^k입니다. 중근이 있으면 조르당 블록에서 kλkk\lambda^k 항이 나옵니다.

▶ 문제 31.15–31.16

쓰이는 곳. 이 장의 각 절이 그대로 논문 주제입니다: 페이지랭크(검색), PCA(차원 축소), 스펙트럴 클러스터링(그래프 라플라시안), 오류 정정 부호(통신), 동차좌표(그래픽·로보틱스).

이 장의 요약

  • 마르코프 행렬: 고윳값 1, 나머지 ∣λ∣≤1\lvert \lambda \rvert \le 1. 양수이면 정상 상태가 유일하고 Akx0A^k\mathbf{x}_0가 수렴합니다. 페이지랭크는 거대한 마르코프 행렬의 정상 상태입니다.
  • PCA: 공분산 행렬의 고유벡터가 분산이 가장 큰 방향. SVD로 계산하고, 저랭크 근사는 에카르트–영.
  • 그래프 라플라시안 ATAA^TA: 영공간이 연결 성분. 회로는 ATCAx=fA^TCA\mathbf{x} = \mathbf{f}.
  • 해밍 부호: F27\mathbb{F}_2^7의 4차원 부분공간. HrH\mathbf{r}이 오류 위치를 알려 줍니다.
  • 동차좌표: 평행이동도 행렬 곱이 됩니다.
  • u′=Au\mathbf{u}' = A\mathbf{u}의 해는 eAtu0e^{At}\mathbf{u}_0. 안정 조건 Re⁡λ<0\operatorname{Re}\lambda < 0. 점화식은 AkA^k, 안정 조건 ∣λ∣<1\lvert \lambda \rvert < 1.

문제

31.1 [계산] · 확인 문제

A=[0.80.30.20.7]A = \begin{bmatrix} 0.8 & 0.3 \\ 0.2 & 0.7 \end{bmatrix}의 정상 상태와 둘째 고윳값을 구합니다. AkA^k는 k→∞k \to \infty일 때 어떤 행렬로 갈까요?

첫째 둘째
정상 상태 [?] [?]
lim⁡Ak\lim A^k의 1행 [?] [?]
lim⁡Ak\lim A^k의 2행 [?] [?]
둘째 고윳값 [?] -
정답
0.6
0.4
0.6
0.6
0.4
0.4
0.5
풀이

−0.2p+0.3q=0-0.2p + 0.3q = 0, p+q=1p + q = 1: (0.6,0.4)(0.6, 0.4). λ2=tr⁡A−1=0.5\lambda_2 = \operatorname{tr} A - 1 = 0.5. Akx0→(0.6,0.4)A^k\mathbf{x}_0 \to (0.6, 0.4)이 모든 확률벡터에서 성립하므로 Ak→[0.60.60.40.4]A^k \to \begin{bmatrix} 0.6 & 0.6 \\ 0.4 & 0.4 \end{bmatrix}. 두 열이 모두 정상 상태입니다.

31.2 [증명]

(a) 마르코프 행렬 AA와 x\mathbf{x}에 대해 AxA\mathbf{x}의 성분의 합은 x\mathbf{x}의 성분의 합과 같음을 보입니다. (b) 두 마르코프 행렬의 곱은 마르코프 행렬임을 보입니다.

풀이

(a) ∑i(Ax)i=∑jxj∑iaij=∑jxj\sum_i (A\mathbf{x})_i = \sum_j x_j\sum_i a_{ij} = \sum_j x_j.

(b) ABAB의 성분은 음이 아니고, ABAB의 jj열은 AA(마르코프)에 BB의 jj열(합 1)을 곱한 것이므로 (a)에 의해 합이 1.

31.3 [계산] · 확인 문제

본문의 페이지 3개 예에서 α=12\alpha = \frac12로 G=12P+16JG = \frac12P + \frac16J를 만들고 정상 상태를 구합니다. α=1\alpha = 1일 때의 (25,15,25)(\frac25, \frac15, \frac25)와 비교합니다. 분수로 적습니다.

힌트. 성분의 합이 1이면 Jx=(1,1,1)J\mathbf{x} = (1, 1, 1)입니다.

x1x_1 x2x_2 x3x_3
[?] [?] [?]
정답
14/39
10/39
15/39
풀이

x=12Px+16(1,1,1)\mathbf{x} = \frac12P\mathbf{x} + \frac16(1, 1, 1):

x1=12x3+16,x2=14x1+16,x3=14x1+12x2+16.x_1 = \tfrac12x_3 + \tfrac16, \qquad x_2 = \tfrac14x_1 + \tfrac16, \qquad x_3 = \tfrac14x_1 + \tfrac12x_2 + \tfrac16.

x3=38x1+14x_3 = \frac38x_1 + \frac14, x1=316x1+724x_1 = \frac{3}{16}x_1 + \frac{7}{24}에서 x1=1439x_1 = \frac{14}{39}. x=139(14,10,15)\mathbf{x} = \frac{1}{39}(14, 10, 15). 순간이동이 링크 구조의 영향을 줄여 2번이 올라가고, 3번이 1번보다 앞섭니다(3번은 링크를 둘 받습니다).

31.4 [계산] · 확인 문제

자료 (3,1),(1,3),(−1,−3),(−3,−1)(3, 1), (1, 3), (-1, -3), (-3, -1)의 공분산 행렬, 주성분, 첫 주성분이 설명하는 분산의 비율을 구합니다. 소수 셋째 자리까지 적습니다.

SS의 대각성분 SS의 비대각성분 λ1\lambda_1 λ2\lambda_2 비율
[?] [?] [?] [?] [?]
정답
6.667
4
10.667
2.667
0.8
풀이

XTX=[20121220]X^TX = \begin{bmatrix} 20 & 12 \\ 12 & 20 \end{bmatrix}, S=13XTXS = \frac13X^TX. 고윳값 323\frac{32}{3} (방향 (1,1)(1, 1)), 83\frac83 (방향 (1,−1)(1, -1)). 비율 32/40=80%32/40 = 80\%.

31.5 [증명]

N×pN \times p 자료 행렬 XX의 특잇값이 σi\sigma_i, 오른쪽 특이벡터가 vi\mathbf{v}_i이면 S=1N−1XTXS = \frac{1}{N-1}X^TX의 고윳값은 σi2/(N−1)\sigma_i^2/(N - 1)이고 고유벡터는 vi\mathbf{v}_i임을 보입니다.

풀이

X=UΣVTX = U\Sigma V^T이면 XTX=VΣTΣVTX^TX = V\Sigma^T\Sigma V^T이고 ΣTΣ=diag⁡(σi2)\Sigma^T\Sigma = \operatorname{diag}(\sigma_i^2). 따라서 Svi=σi2N−1viS\mathbf{v}_i = \frac{\sigma_i^2}{N-1}\mathbf{v}_i.

31.6 [계산] · 확인 문제

A=[3113]A = \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix}에 가장 가까운 랭크 1 행렬과 그 오차(∥⋅∥2\lVert \cdot \rVert_2, ∥⋅∥F\lVert \cdot \rVert_F)를 구합니다.

A1A_1의 1행 1열 1행 2열 2행 1열 2행 2열 ∥A−A1∥2\lVert A - A_1 \rVert_2 ∥A−A1∥F\lVert A - A_1 \rVert_F
[?] [?] [?] [?] [?] [?]
정답
2
2
2
2
2
2
풀이

고윳값 4 (12(1,1)\frac{1}{\sqrt2}(1, 1)), 2 (12(1,−1)\frac{1}{\sqrt2}(1, -1)). A1=4⋅12[1111]=[2222]A_1 = 4 \cdot \frac12\begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix} = \begin{bmatrix} 2 & 2 \\ 2 & 2 \end{bmatrix}. A−A1=[1−1−11]A - A_1 = \begin{bmatrix} 1 & -1 \\ -1 & 1 \end{bmatrix}, ∥⋅∥2=2=σ2\lVert \cdot \rVert_2 = 2 = \sigma_2, ∥⋅∥F=2\lVert \cdot \rVert_F = 2 (랭크 1이므로 같습니다).

31.7 [계산]

삼각형 그래프, 변 1→21 \to 2, 2→32 \to 3, 1→31 \to 3.

(a) 근접행렬 AA를 쓰고 N(A)N(A), N(AT)N(A^T)를 구합니다. N(AT)N(A^T)의 원소는 그래프의 무엇에 해당할까요? (b) C(A)C(A)는 어떤 조건으로 정해질까요? (키르히호프 전압 법칙) (c) L=ATAL = A^TA와 그 고윳값을 구합니다.

풀이

(a) A=[−1100−11−101]A = \begin{bmatrix} -1 & 1 & 0 \\ 0 & -1 & 1 \\ -1 & 0 & 1 \end{bmatrix}. N(A)=span⁡(1,1,1)N(A) = \operatorname{span}(1, 1, 1). ATy=0A^T\mathbf{y} = \mathbf{0}: −y1−y3=0-y_1 - y_3 = 0, y1−y2=0y_1 - y_2 = 0, y2+y3=0y_2 + y_3 = 0에서 N(AT)=span⁡(1,1,−1)N(A^T) = \operatorname{span}(1, 1, -1). 이것은 고리 1→2→3→11 \to 2 \to 3 \to 1 (변 1→31 \to 3은 거꾸로 지나므로 −1-1)입니다. 일반적으로 dim⁡N(AT)=m−n+1\dim N(A^T) = m - n + 1은 독립인 고리의 개수입니다.

(b) C(A)=N(AT)⊥C(A) = N(A^T)^\perp: e1+e2−e3=0e_1 + e_2 - e_3 = 0. 고리를 따라 전위차를 더하면 0입니다.

(c) L=[2−1−1−12−1−1−12]=3I−JL = \begin{bmatrix} 2 & -1 & -1 \\ -1 & 2 & -1 \\ -1 & -1 & 2 \end{bmatrix} = 3I - J. 고윳값 0, 3, 3.

31.8 [계산] · 확인 문제

(a) 변 1–2, 3–4만 있는 그래프의 LL과 고윳값을 구합니다. (b) 경로 1–2–3의 LL, 고윳값, 피들러 벡터를 구합니다. 피들러 벡터의 부호는 꼭짓점을 어떻게 나눌까요? 표에는 고윳값을 작은 것부터 적습니다.

첫째 둘째 셋째 넷째
(a) [?] [?] [?] [?]
(b) [?] [?] [?] -
정답
0
0
2
2
0
1
3
풀이

(a) L=[1−1−11]⊕[1−1−11]L = \begin{bmatrix} 1 & -1 \\ -1 & 1 \end{bmatrix} \oplus \begin{bmatrix} 1 & -1 \\ -1 & 1 \end{bmatrix}, 고윳값 0, 0, 2, 2. 0이 두 번: 성분 2개.

(b) L=[1−10−12−10−11]L = \begin{bmatrix} 1 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 1 \end{bmatrix}, 고윳값 0, 1, 3 (고유벡터 (1,1,1)(1, 1, 1), (1,0,−1)(1, 0, -1), (1,−2,1)(1, -2, 1)). 피들러 벡터 (1,0,−1)(1, 0, -1): 1번과 3번을 양쪽으로 나누고, 2번은 경계에 있습니다.

31.9 [증명]

연결된 그래프에서 마디 nn을 접지하면, K=ATCAK = A^TCA에서 nn행과 nn열을 지운 행렬 K~\tilde{K}가 양정치임을 보입니다. (CC는 양수 대각행렬.)

풀이

A~\tilde{A}를 AA에서 nn열을 지운 것이라 하면 K~=A~TCA~=(CA~)T(CA~)\tilde{K} = \tilde{A}^TC\tilde{A} = (\sqrt{C}\tilde{A})^T(\sqrt{C}\tilde{A}). A~x=0\tilde{A}\mathbf{x} = \mathbf{0}이면 A(x,0)=0A(\mathbf{x}, 0) = \mathbf{0}이므로 (x,0)(\mathbf{x}, 0)은 상수 벡터, 즉 x=0\mathbf{x} = \mathbf{0}. CA~\sqrt{C}\tilde{A}의 열이 독립이므로 K~\tilde{K}는 양정치(정리 17.6).

31.10 [계산] · 확인 문제

(a) (0,1,1,1,1,0,0)(0, 1, 1, 1, 1, 0, 0)은 부호어일까요? (b) r=(1,0,1,1,0,1,1)\mathbf{r} = (1, 0, 1, 1, 0, 1, 1)을 받았습니다. 오류가 많아야 하나라면 보낸 부호어는 무엇일까요? (c) c3,c5,c6,c7c_3, c_5, c_6, c_7을 정보 비트로 하여 CC의 기저를 구합니다. 표의 (a)에는 부호어이면 O, 아니면 X를, (b)에는 부호어의 비트 7개를 띄어 쓰지 않고 적습니다.

(a) (b)
[?] [?]
정답
O
1011010
풀이

(a) 1행 r4+r5+r6+r7=1+1+0+0=0r_4 + r_5 + r_6 + r_7 = 1 + 1 + 0 + 0 = 0, 2행 r2+r3+r6+r7=1+1=0r_2 + r_3 + r_6 + r_7 = 1 + 1 = 0, 3행 r1+r3+r5+r7=0+1+1+0=0r_1 + r_3 + r_5 + r_7 = 0 + 1 + 1 + 0 = 0. 부호어입니다.

(b) Hr=(1+0+1+1,0+1+1+1,1+1+0+1)=(1,1,1)H\mathbf{r} = (1 + 0 + 1 + 1, 0 + 1 + 1 + 1, 1 + 1 + 0 + 1) = (1, 1, 1), 즉 7. 7번째 비트를 고쳐 (1,0,1,1,0,1,0)(1, 0, 1, 1, 0, 1, 0).

(c) c4=c5+c6+c7c_4 = c_5 + c_6 + c_7, c2=c3+c6+c7c_2 = c_3 + c_6 + c_7, c1=c3+c5+c7c_1 = c_3 + c_5 + c_7. 기저: (1,1,1,0,0,0,0)(1, 1, 1, 0, 0, 0, 0), (1,0,0,1,1,0,0)(1, 0, 0, 1, 1, 0, 0), (0,1,0,1,0,1,0)(0, 1, 0, 1, 0, 1, 0), (1,1,0,1,0,0,1)(1, 1, 0, 1, 0, 0, 1).

31.11 [증명]

(a) 각 부호어에서 한 비트 이내로 다른 벡터들의 집합(크기 8)은 서로 겹치지 않고, 합치면 F27\mathbb{F}_2^7 전체임을 보입니다(완전 부호). (b) 두 비트가 뒤집히면 해밍 부호의 복호가 틀린 부호어를 내는 이유를 설명합니다.

풀이

(a) c+ei=c′+ej\mathbf{c} + \mathbf{e}_i = \mathbf{c}' + \mathbf{e}_j이면 c−c′=ei+ej\mathbf{c} - \mathbf{c}' = \mathbf{e}_i + \mathbf{e}_j는 1이 두 개 이하인 부호어이므로 c=c′\mathbf{c} = \mathbf{c}' (정리 31.11(2)). 겹치지 않는 집합 16개, 각 8원소, 합 128=27128 = 2^7이므로 전체를 덮습니다.

(b) H(c+ei+ej)=hi+hjH(\mathbf{c} + \mathbf{e}_i + \mathbf{e}_j) = \mathbf{h}_i + \mathbf{h}_j는 0이 아니고(두 열이 다릅니다), HH의 열은 0이 아닌 3비트 벡터 전부이므로 어떤 hk\mathbf{h}_k와 같습니다(k≠i,jk \ne i, j). 복호기는 kk번째 비트를 뒤집어 오류가 세 개가 됩니다. (a)에 의해 받은 벡터는 반드시 어떤 부호어 하나의 “공” 안에 있고, 그것이 원래 부호어가 아닙니다.

31.12 [계산] · 확인 문제

직선 y=x+1y = x + 1에 대한 반사를 동차좌표의 3×33 \times 3 행렬로 구합니다. 점 (1,0)(1, 0)의 상을 구하고 맞는지 그림으로 확인합니다. 평행이동과 회전은 교환할까요? 표의 마지막 칸에는 교환하면 O, 아니면 X를 적습니다.

상의 xx 상의 yy 교환하는가
[?] [?] [?]
정답
-1
2
X
풀이

y=xy = x에 대한 반사 R=[010100001]R = \begin{bmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix}, p=(0,1)\mathbf{p} = (0, 1):

TpRT−p=[01−1101001].T_{\mathbf{p}}RT_{-\mathbf{p}} = \begin{bmatrix} 0 & 1 & -1 \\ 1 & 0 & 1 \\ 0 & 0 & 1 \end{bmatrix}.

(1,0)↦(−1,2)(1, 0) \mapsto (-1, 2). 중점 (0,1)(0, 1)이 직선 위에 있고, (−2,2)(-2, 2)는 직선 방향 (1,1)(1, 1)에 수직입니다. 교환하지 않습니다. 예: 원점 중심 90∘90^\circ 회전 R90R_{90}과 T(1,0)T_{(1,0)}에서 R90T(1,0)R_{90}T_{(1,0)}은 원점을 (0,1)(0, 1)로, T(1,0)R90T_{(1,0)}R_{90}은 (1,0)(1, 0)으로 보냅니다.

31.13 [계산]

A=[01−10]A = \begin{bmatrix} 0 & 1 \\ -1 & 0 \end{bmatrix}에 대해 eAte^{At}를 (a) 급수로, (b) 고윳값 ±i\pm i로 구합니다. u′=Au\mathbf{u}' = A\mathbf{u}, u(0)=(1,0)\mathbf{u}(0) = (1, 0)의 해는 무엇이고, 이것은 어떤 운동일까요?

풀이

(a) A2=−IA^2 = -I이므로

eAt=(1−t22!+⋯)I+(t−t33!+⋯)A=[cos⁡tsin⁡t−sin⁡tcos⁡t].e^{At} = \Big(1 - \frac{t^2}{2!} + \cdots\Big)I + \Big(t - \frac{t^3}{3!} + \cdots\Big)A = \begin{bmatrix} \cos t & \sin t \\ -\sin t & \cos t \end{bmatrix}.

(b) ii: (1,i)(1, i), −i-i: (1,−i)(1, -i). (1,0)=12((1,i)+(1,−i))(1, 0) = \frac12\big((1, i) + (1, -i)\big), u=12(eit(1,i)+e−it(1,−i))=(cos⁡t,−sin⁡t)\mathbf{u} = \frac12\big(e^{it}(1, i) + e^{-it}(1, -i)\big) = (\cos t, -\sin t). x=cos⁡tx = \cos t는 x′′=−xx'' = -x, 단순 조화 진동입니다. 점 u(t)\mathbf{u}(t)는 단위원을 시계 방향으로 돕니다.

31.14 [계산]

x′′+2x′+x=0x'' + 2x' + x = 0을 1계 연립방정식으로 쓰고 계수행렬이 대각화되지 않음을 보입니다. 조르당 형식으로 x(0)=1x(0) = 1, x′(0)=0x'(0) = 0인 해를 구합니다.

풀이

A=[01−1−2]A = \begin{bmatrix} 0 & 1 \\ -1 & -2 \end{bmatrix}, λ2+2λ+1=0\lambda^2 + 2\lambda + 1 = 0, λ=−1\lambda = -1 (중근). A+I=[11−1−1]≠OA + I = \begin{bmatrix} 1 & 1 \\ -1 & -1 \end{bmatrix} \ne O이므로 대각화되지 않습니다. N=A+IN = A + I, N2=ON^2 = O이므로 eAt=e−t(I+tN)e^{At} = e^{-t}(I + tN).

u(t)=e−t([10]+t[1−1]),x(t)=(1+t)e−t.\mathbf{u}(t) = e^{-t}\left(\begin{bmatrix} 1 \\ 0 \end{bmatrix} + t\begin{bmatrix} 1 \\ -1 \end{bmatrix}\right), \qquad x(t) = (1 + t)e^{-t}.

te−tte^{-t} 항이 조르당 블록에서 옵니다(임계 감쇠).

31.15 [계산] · 확인 문제

a0=0a_0 = 0, a1=1a_1 = 1, ak+2=ak+1+2aka_{k+2} = a_{k+1} + 2a_k의 일반항을 행렬의 고윳값으로 구합니다. 표에는 일반항으로 계산한 값을 적습니다.

a2a_2 a3a_3 a4a_4 a10a_{10}
[?] [?] [?] [?]
정답
1
3
5
341
풀이

uk=(ak+1,ak)\mathbf{u}_k = (a_{k+1}, a_k), uk+1=[1210]uk\mathbf{u}_{k+1} = \begin{bmatrix} 1 & 2 \\ 1 & 0 \end{bmatrix}\mathbf{u}_k. λ2−λ−2=0\lambda^2 - \lambda - 2 = 0, λ=2,−1\lambda = 2, -1. ak=b12k+b2(−1)ka_k = b_12^k + b_2(-1)^k, a0=0a_0 = 0, a1=1a_1 = 1에서 b1=13b_1 = \frac13, b2=−13b_2 = -\frac13. ak=2k−(−1)k3a_k = \dfrac{2^k - (-1)^k}{3}. 확인: a2=1a_2 = 1, a3=3a_3 = 3, a4=5a_4 = 5. a10=(1024−1)/3=341a_{10} = (1024 - 1)/3 = 341.

31.16 [증명]

M=[1110]M = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix}에 대해 Mk=[Fk+1FkFkFk−1]M^k = \begin{bmatrix} F_{k+1} & F_k \\ F_k & F_{k-1} \end{bmatrix} (k≥1k \ge 1)임을 보이고, 행렬식을 취해 Fk+1Fk−1−Fk2=(−1)kF_{k+1}F_{k-1} - F_k^2 = (-1)^k를 증명합니다.

풀이

k=1k = 1: M=[F2F1F1F0]M = \begin{bmatrix} F_2 & F_1 \\ F_1 & F_0 \end{bmatrix}. Mk+1=MkM=[Fk+1+FkFk+1Fk+Fk−1Fk]=[Fk+2Fk+1Fk+1Fk]M^{k+1} = M^kM = \begin{bmatrix} F_{k+1} + F_k & F_{k+1} \\ F_k + F_{k-1} & F_k \end{bmatrix} = \begin{bmatrix} F_{k+2} & F_{k+1} \\ F_{k+1} & F_k \end{bmatrix}. det⁡Mk=(det⁡M)k=(−1)k\det M^k = (\det M)^k = (-1)^k.