Chapter 13

대칭 행렬과 양의 정부호

11장에서 본 고유벡터는 대개 서로 비스듬했고, 고유값은 복소수일 수도 있었습니다. 그런데 공학에서 만나는 행렬의 상당수는 특별합니다. 응력 텐서, 스프링 계의 강성 행렬, 공분산 행렬, 헤세 행렬, 관성 텐서는 모두 대칭(ST=SS^{\mathsf T} = S)입니다. 대칭 행렬의 고유값은 언제나 실수이고, 고유벡터는 언제나 서로 수직으로 고를 수 있습니다. 그래서 대칭 행렬이 하는 일은 단 하나, 서로 수직인 축을 따라 늘이거나 줄이는 것입니다. 이 장에서는 이 사실(스펙트럼 정리)에서 출발해, 그 늘이는 배율이 모두 양수인 양의 정부호 행렬이 왜 "에너지", "볼록한 그릇", "안정한 평형"과 같은 말인지 따라갑니다.

이 수식이 없었다면압력 용기와 다리의 "주응력"

보일러 동체, 비행기 동체, 다리의 강판 한 점에는 방향마다 다른 힘이 걸립니다. 가로로 자른 면에는 인장, 비스듬히 자른 면에는 인장과 미끄러지게 하는 전단이 함께 걸리지요. 재료는 어느 방향으로든 가장 크게 당겨지는 면에서 먼저 찢어지는데, 자를 수 있는 면은 무한히 많습니다. 모든 방향을 하나하나 시험해 볼 수는 없습니다.

19세기 초 코시(Augustin-Louis Cauchy)는 한 점의 응력 상태가 대칭 행렬 하나(응력 텐서)로 완전히 기술된다는 것을 보였고, 1882년 독일의 공학자 모어(Christian Otto Mohr)는 면을 돌릴 때 응력이 어떻게 바뀌는지를 원 하나로 그리는 도식을 내놓았습니다. 선형대수로 말하면 답은 간단합니다. 응력 텐서의 고유벡터가 전단이 0인 면(주방향)이고, 고유값이 그 면의 인장·압축(주응력)이며, 가장 큰 고유값이 어떤 방향으로 자른 면보다도 큰 최대 인장입니다. 대칭 행렬이라서 이 축들은 서로 수직입니다.

어느 면이 먼저 찢어지나→면은 무한히 많다→대칭 행렬의 고유분해→주응력 2개(3차원은 3개)

스펙트럼 정리: 수직인 축을 따라 늘이기만 한다

고유벡터가 비스듬하면 무엇이 불편한가

11장에서 대각화 A=XΛX−1A = X\Lambda X^{-1}를 배웠습니다. 그런데 XX의 열(고유벡터)이 서로 비스듬하면 X−1X^{-1}을 따로 계산해야 하고, 고유벡터가 거의 평행하면 X−1X^{-1}이 거대해져 계산이 불안정해집니다. 고유값이 복소수가 되어 그림으로 그릴 수 없는 경우도 있습니다. 어떤 행렬이면 이런 걱정이 전혀 없을까요?

답은 대칭 행렬(symmetric matrix), 즉 ST=SS^{\mathsf T} = S인 행렬입니다. 대각선을 거울로 삼아 위아래가 같은 행렬이지요. 이 조건 하나가 고유값 문제를 놀랍도록 깔끔하게 만듭니다. 먼저 두 가지 사실을 증명합니다.

정리 13.1 (대칭 행렬의 고유값은 실수다) 실수 대칭 행렬 SS의 모든 고유값은 실수이다.

증명. Sx=λxS\mathbf{x} = \lambda\mathbf{x}, x≠0\mathbf{x} \ne \mathbf{0}이라 하고 λ\lambda와 x\mathbf{x}가 복소수일 수도 있다고 하자. 켤레를 취하면 SS 는 실수이므로 Sxˉ=λˉxˉS\bar{\mathbf{x}} = \bar\lambda\bar{\mathbf{x}}이다. 이제 xˉTSx\bar{\mathbf{x}}^{\mathsf T}S\mathbf{x}를 두 가지로 계산한다. xˉT(Sx)=λ xˉTx,(xˉTS)x=(STxˉ)Tx=(Sxˉ)Tx=λˉ xˉTx.\bar{\mathbf{x}}^{\mathsf T}(S\mathbf{x}) = \lambda\,\bar{\mathbf{x}}^{\mathsf T}\mathbf{x}, \qquad (\bar{\mathbf{x}}^{\mathsf T}S)\mathbf{x} = (S^{\mathsf T}\bar{\mathbf{x}})^{\mathsf T}\mathbf{x} = (S\bar{\mathbf{x}})^{\mathsf T}\mathbf{x} = \bar\lambda\,\bar{\mathbf{x}}^{\mathsf T}\mathbf{x}. xˉTx=∑∣xi∣2>0\bar{\mathbf{x}}^{\mathsf T}\mathbf{x} = \sum |x_i|^2 > 0이므로 λ=λˉ\lambda = \bar\lambda, 곧 λ\lambda는 실수다. 두 번째 등식에서 ST=SS^{\mathsf T} = S를 썼다는 점이 핵심이다. ∎

정리 13.2 (서로 다른 고유값의 고유벡터는 직교한다) Sx1=λ1x1S\mathbf{x}_1 = \lambda_1\mathbf{x}_1, Sx2=λ2x2S\mathbf{x}_2 = \lambda_2\mathbf{x}_2이고 λ1≠λ2\lambda_1 \ne \lambda_2이면 x1Tx2=0\mathbf{x}_1^{\mathsf T}\mathbf{x}_2 = 0이다.

증명. λ1x1Tx2=(Sx1)Tx2=x1TSTx2=x1TSx2=λ2x1Tx2\lambda_1\mathbf{x}_1^{\mathsf T}\mathbf{x}_2 = (S\mathbf{x}_1)^{\mathsf T}\mathbf{x}_2 = \mathbf{x}_1^{\mathsf T}S^{\mathsf T}\mathbf{x}_2 = \mathbf{x}_1^{\mathsf T}S\mathbf{x}_2 = \lambda_2\mathbf{x}_1^{\mathsf T}\mathbf{x}_2. 따라서 (λ1−λ2) x1Tx2=0(\lambda_1 - \lambda_2)\,\mathbf{x}_1^{\mathsf T}\mathbf{x}_2 = 0이고, λ1≠λ2\lambda_1 \ne \lambda_2이므로 x1Tx2=0\mathbf{x}_1^{\mathsf T}\mathbf{x}_2 = 0. ∎

고유값이 겹치는 경우(예: 단위 행렬)에도 그 고유공간 안에서 그람–슈미트로 수직인 기저를 고를 수 있고, 대칭 행렬은 고유벡터가 모자라는 일이 없다는 것이 알려져 있습니다(슈어 분해에서 상삼각 행렬이 대칭이면 대각이 된다는 논증). 이렇게 해서 선형대수에서 가장 아름다운 정리가 나옵니다.

정리 13.3 (스펙트럼 정리) 모든 실수 대칭 행렬 SS는 S=QΛQT,QTQ=I,Λ=diag⁡(λ1,…,λn)S = Q\Lambda Q^{\mathsf T}, \qquad Q^{\mathsf T}Q = I, \qquad \Lambda = \operatorname{diag}(\lambda_1, \dots, \lambda_n) 로 분해된다. QQ의 열은 정규직교 고유벡터 q1,…,qn\mathbf{q}_1, \dots, \mathbf{q}_n, Λ\Lambda의 대각은 실수 고유값이다. 거꾸로, 이렇게 쓸 수 있는 행렬은 (QΛQT)T=QΛQT(Q\Lambda Q^{\mathsf T})^{\mathsf T} = Q\Lambda Q^{\mathsf T}이므로 대칭이다.

증명 아이디어. 모든 정사각 행렬은 직교 행렬 QQ로 A=QTQTA = QTQ^{\mathsf T}, TT는 상삼각으로 쓸 수 있다(실수 고유값일 때의 슈어 분해, 9장의 QR 알고리즘이 이것을 계산한다). AA가 대칭이면 T=QTAQT = Q^{\mathsf T}AQ도 대칭인데, 대칭인 상삼각 행렬은 대각 행렬뿐이다. ∎

Q−1=QTQ^{-1} = Q^{\mathsf T}이므로 역행렬을 따로 구할 필요가 없고, 직교 행렬은 길이와 각도를 바꾸지 않으므로 계산도 안정합니다. 그림으로 읽으면 Sx=QΛQTxS\mathbf{x} = Q\Lambda Q^{\mathsf T}\mathbf{x}는 ① QTQ^{\mathsf T}: 고유벡터 축으로 좌표를 돌려 읽고, ② Λ\Lambda: 각 축을 λi\lambda_i배 늘이고, ③ QQ: 다시 원래 좌표로 돌려놓는 세 단계입니다. 회전–늘이기–되돌리기. 그래서 단위원은 고유벡터 방향을 축으로 하는 타원이 됩니다.

대칭 S = [2 1; 1 2] 비대칭 A = [2 1; 0 1] λ₁ = 3, q₁ = (1, 1)/√2 λ₂ = 1, q₂ = (1, −1)/√2 두 축이 직각 · 타원의 주축 = 고유벡터 λ = 2: (1, 0) λ = 1: (1, −1) 고유벡터 사이 각 45° · 타원 축 ≠ 고유벡터
그림 13-1. 왼쪽: 대칭 행렬은 단위원(점선)을 고유벡터 방향을 주축으로 하는 타원으로 보낸다. 긴 반지름 = λ₁ = 3, 짧은 반지름 = λ₂ = 1. 오른쪽: 비대칭 행렬의 고유벡터는 비스듬하고(좌표상 (1, 0)과 (1, −1)), 타원의 주축과도 일치하지 않는다. 비대칭 행렬의 타원 축은 14장의 특이벡터가 알려 준다.
예제 13.1 (손으로 하는 스펙트럼 분해) S=[2112]S = \begin{bmatrix}2 & 1\\ 1 & 2\end{bmatrix}.

① 특성 방정식 det⁡(S−λI)=(2−λ)2−1=0\det(S - \lambda I) = (2-\lambda)^2 - 1 = 0에서 λ1=3\lambda_1 = 3, λ2=1\lambda_2 = 1. ② (S−3I)x=0(S - 3I)\mathbf{x} = \mathbf{0}에서 −x1+x2=0-x_1 + x_2 = 0 → q1=(1,1)/2\mathbf{q}_1 = (1, 1)/\sqrt2. (S−I)x=0(S - I)\mathbf{x} = \mathbf{0}에서 x1+x2=0x_1 + x_2 = 0 → q2=(1,−1)/2\mathbf{q}_2 = (1, -1)/\sqrt2. 확인: q1Tq2=(1−1)/2=0\mathbf{q}_1^{\mathsf T}\mathbf{q}_2 = (1 - 1)/2 = 0. ③ 따라서 S=12[111−1]⏟Q[3001]12[111−1]⏟QT.S = \underbrace{\tfrac{1}{\sqrt2}\begin{bmatrix}1 & 1\\ 1 & -1\end{bmatrix}}_{Q}\begin{bmatrix}3 & 0\\ 0 & 1\end{bmatrix}\underbrace{\tfrac{1}{\sqrt2}\begin{bmatrix}1 & 1\\ 1 & -1\end{bmatrix}}_{Q^{\mathsf T}}. 이 QQ는 대칭이기도 해서 QT=QQ^{\mathsf T} = Q이다(우연이다). 고유값 검산: 합 3+1=4=tr⁡S3 + 1 = 4 = \operatorname{tr} S, 곱 3⋅1=3=det⁡S3 \cdot 1 = 3 = \det S.

아래 시뮬레이터에서 대칭 행렬의 세 칸 a,b,da, b, d를 바꿔 보세요. 점 x\mathbf{x}는 단위원 위를 움직이고, 화살표 SxS\mathbf{x}는 타원 위를 움직입니다. 두 화살표가 한 직선에 겹치는 곳이 고유벡터입니다. '비대칭으로'를 켜고 왼쪽 아래 칸 cc를 따로 움직이면 고유벡터가 비스듬해지고, 결국 복소수가 되어 사라지는 것도 볼 수 있습니다.

SIMULATOR

대칭 행렬의 고유분해: 단위원 → 타원

x를 원 위에서 끌어 보세요
고유값 λ₁, λ₂—
고유벡터 사이 각—
xᵀSx (x가 단위 벡터)—
x와 Sx 사이 각—
—
해볼 것: ① 'x를 고유벡터로'를 누르면 x와 Sx가 겹칩니다. 다른 고유벡터와 정확히 90°인지 각도 표시를 보세요. ② b를 0으로 하면 고유벡터가 좌표축이 됩니다(이미 대각 행렬). ③ '비대칭으로'를 켜고 c를 −1쯤으로 내리면 고유벡터 사이 각이 줄다가, 판별식이 음수가 되는 순간 실수 고유벡터가 사라집니다. 대칭일 때는 a, b, d를 어떻게 바꿔도 이런 일이 없습니다. ④ 랭크 1 항 보기를 켜면 Sx가 λ₁(q₁ᵀx)q₁과 λ₂(q₂ᵀx)q₂ 두 화살표의 합으로 나뉩니다(다음 절). 모델: 2×2 실수 행렬, 고유값은 이차 방정식의 근으로 계산합니다.

랭크 1 사영의 합으로 읽기

행렬 하나를 "부품"으로 나눌 수 있을까

소리를 주파수 성분으로 나누면 어떤 성분이 큰지, 어떤 성분은 버려도 되는지 알 수 있습니다. 행렬도 그렇게 "가장 중요한 방향부터" 나누어 볼 수 있을까요?

S=QΛQTS = Q\Lambda Q^{\mathsf T}를 행렬 곱의 "열 × 행" 방법(2장의 외적의 합)으로 전개하면 다음을 얻습니다.

S=λ1q1q1T+λ2q2q2T+⋯+λnqnqnT,Sx=∑iλi (qiTx) qiS = \lambda_1\mathbf{q}_1\mathbf{q}_1^{\mathsf T} + \lambda_2\mathbf{q}_2\mathbf{q}_2^{\mathsf T} + \cdots + \lambda_n\mathbf{q}_n\mathbf{q}_n^{\mathsf T}, \qquad S\mathbf{x} = \sum_i \lambda_i\,(\mathbf{q}_i^{\mathsf T}\mathbf{x})\,\mathbf{q}_i
Pi=qiqiTP_i = \mathbf{q}_i\mathbf{q}_i^{\mathsf T}는 단위 벡터 qi\mathbf{q}_i가 놓인 직선으로의 직교 사영 행렬이다(1장의 사영, 2장의 P2=PP^2 = P). 서로 다른 i,ji, j에 대해 PiPj=qi(qiTqj)qjT=0P_iP_j = \mathbf{q}_i(\mathbf{q}_i^{\mathsf T}\mathbf{q}_j)\mathbf{q}_j^{\mathsf T} = 0이고, P1+⋯+Pn=QQT=IP_1 + \cdots + P_n = QQ^{\mathsf T} = I이다.

즉 대칭 행렬이 벡터 x\mathbf{x}에 하는 일은 ① x\mathbf{x}를 서로 수직인 고유벡터 방향 성분으로 쪼개고(qiTx\mathbf{q}_i^{\mathsf T}\mathbf{x}), ② 각 성분을 λi\lambda_i배 하고, ③ 다시 더하는 것입니다. 성분끼리 섞이지 않는다는 것이 핵심입니다. 앞 시뮬레이터의 '랭크 1 항 보기'에서 두 색 화살표가 바로 이 두 항입니다.

2112 = 3 · ½½½½ + 1 · ½−½−½½ S = λ₁ q₁q₁ᵀ + λ₂ q₂q₂ᵀ : 각 항은 한 직선으로의 사영(랭크 1)에 고유값을 곱한 것. 오른쪽: 두 사영의 방향은 서로 수직이다. 행렬 = (배율) × (직선으로의 그림자) 의 합
그림 13-2. 예제 13.1의 행렬을 랭크 1 항 두 개로 나눈 것. 각 항의 행 합과 열 합을 보면 q₁q₁ᵀ는 (1, 1) 방향, q₂q₂ᵀ는 (1, −1) 방향만 남기는 사영임을 알 수 있다.

이 분해는 세 가지 중요한 결과를 줍니다.

예제 13.2 (사영의 합으로 Sⁿx 계산하기) 예제 13.1의 SS와 x=(1,0)\mathbf{x} = (1, 0)에 대해 S10xS^{10}\mathbf{x}를 구하자.

q1Tx=1/2\mathbf{q}_1^{\mathsf T}\mathbf{x} = 1/\sqrt2, q2Tx=1/2\mathbf{q}_2^{\mathsf T}\mathbf{x} = 1/\sqrt2이므로 S10x=310⋅12q1+110⋅12q2=590492(1,1)+12(1,−1)=(29525,29524)S^{10}\mathbf{x} = 3^{10}\cdot\tfrac{1}{\sqrt2}\mathbf{q}_1 + 1^{10}\cdot\tfrac{1}{\sqrt2}\mathbf{q}_2 = \tfrac{59049}{2}(1, 1) + \tfrac12(1, -1) = (29525, 29524). 행렬을 열 번 곱하지 않았다. 그리고 결과가 거의 q1\mathbf{q}_1 방향이라는 것도 바로 보인다. 큰 고유값의 성분이 다른 성분을 압도하기 때문이다(16장의 거듭제곱법).

이차 형식: 타원, 쌍곡선, 그리고 주축

5x² + 4xy + 2y² = 1은 어떤 곡선인가

궤도 계산, 렌즈 설계, 측량 오차의 신뢰 영역에서 ax2+2bxy+cy2=1ax^2 + 2bxy + cy^2 = 1 꼴의 곡선이 자주 나옵니다. xyxy 항이 있으면 곡선이 비스듬히 놓여 있어 모양을 알기 어렵습니다. 타원일까요, 쌍곡선일까요? 축은 어느 방향이고 반지름은 얼마일까요?

이런 식은 대칭 행렬로 깔끔하게 쓸 수 있습니다. 이것을 이차 형식(quadratic form)이라 합니다.

q(x)=xTSx=[xy][abbc][xy]=ax2+2bxy+cy2q(\mathbf{x}) = \mathbf{x}^{\mathsf T}S\mathbf{x} = \begin{bmatrix}x & y\end{bmatrix}\begin{bmatrix}a & b\\ b & c\end{bmatrix}\begin{bmatrix}x\\ y\end{bmatrix} = ax^2 + 2bxy + cy^2
xyxy 항의 계수 2b2b가 대각 밖 두 칸에 반씩 나뉜다. 비대칭 행렬 AA로 써도 xTAx=xTA+AT2x\mathbf{x}^{\mathsf T}A\mathbf{x} = \mathbf{x}^{\mathsf T}\tfrac{A + A^{\mathsf T}}{2}\mathbf{x}이므로, 이차 형식은 언제나 대칭 부분만 본다.

스펙트럼 정리로 좌표를 고유벡터 축으로 돌리면(y=QTx\mathbf{y} = Q^{\mathsf T}\mathbf{x}) 섞인 항이 사라집니다.

xTSx=xTQΛQTx=yTΛy=λ1y12+λ2y22\mathbf{x}^{\mathsf T}S\mathbf{x} = \mathbf{x}^{\mathsf T}Q\Lambda Q^{\mathsf T}\mathbf{x} = \mathbf{y}^{\mathsf T}\Lambda\mathbf{y} = \lambda_1 y_1^2 + \lambda_2 y_2^2
이것이 주축 정리(principal axis theorem)다. 고유벡터 방향이 곡선의 주축이고, q=1q = 1인 등위선은 yiy_i 축 방향으로 반지름 1/λi1/\sqrt{\lambda_i}를 가진다.
λ₁, λ₂ > 0 : 타원 그릇 모양, 원점이 최솟값 λ₁ > 0 > λ₂ : 쌍곡선 말안장, q = +1과 q = −1이 다른 쌍 λ₁ > 0 = λ₂ : 평행선 골짜기, x축 방향은 평평
그림 13-3. 등위선 xTSx=k\mathbf{x}^{\mathsf T}S\mathbf{x} = k의 세 가지 모양. 고유값 두 개가 같은 부호면 타원(양수면 그릇, 음수면 뒤집힌 그릇), 다른 부호면 쌍곡선(안장), 하나가 0이면 평행한 직선(골짜기)이다. 2×2 행렬에서는 det⁡S=λ1λ2\det S = \lambda_1\lambda_2의 부호만 보아도 구분된다.
예제 13.3 (5x² + 4xy + 2y² = 1의 정체)

S=[5222]S = \begin{bmatrix}5 & 2\\ 2 & 2\end{bmatrix}. tr⁡S=7\operatorname{tr} S = 7, det⁡S=6\det S = 6이므로 λ2−7λ+6=0\lambda^2 - 7\lambda + 6 = 0, λ1=6\lambda_1 = 6, λ2=1\lambda_2 = 1. 둘 다 양수이므로 타원이다. (S−6I)x=0(S - 6I)\mathbf{x} = \mathbf{0}: −x+2y=0-x + 2y = 0 → q1=(2,1)/5\mathbf{q}_1 = (2, 1)/\sqrt5. q2=(−1,2)/5\mathbf{q}_2 = (-1, 2)/\sqrt5. 따라서 타원의 짧은 반지름은 (2,1)(2, 1) 방향으로 1/6≈0.411/\sqrt6 \approx 0.41, 긴 반지름은 (−1,2)(-1, 2) 방향으로 1/1=11/\sqrt1 = 1이다. 짧은 축이 큰 고유값 쪽이라는 데 주의하자. 값이 빨리 커지는 방향일수록 등위선이 원점에 가깝다.

SIMULATOR

이차 형식의 지형과 등위선

색: q(x) 값 (따뜻한 색 +, 차가운 색 −)
식—
λ₁, λ₂—
det S = λ₁λ₂—
모양—
해볼 것: ① '예제 13.3'에서 q = 1 등위선(굵은 선)이 주황 축 방향으로 0.41, 청록 축 방향으로 1인지 눈금으로 확인하세요. ② b를 키워 b² > ac가 되는 순간 타원이 쌍곡선으로 갈라집니다. 그 경계에서 det = 0, 등위선은 평행선입니다. ③ '뒤집힌 그릇'은 등위선은 타원이지만 값이 모두 음수입니다(음의 정부호). 모델: 굵은 선은 q = ±1, 가는 선은 q = ±0.25, ±2.25, ±4. 등위선은 고유벡터 좌표에서 매개변수로 그렸습니다.

양의 정부호: 다섯 가지 얼굴, 하나의 성질

이 행렬은 "그릇"인가

최적화 프로그램은 극소점을 찾았는지, 구조 해석 프로그램은 구조물이 안정한지, 통계 프로그램은 공분산 행렬이 올바른지 확인해야 합니다. 모두 같은 질문입니다. "모든 방향으로 xTSx>0\mathbf{x}^{\mathsf T}S\mathbf{x} > 0인가?" 그런데 방향은 무한히 많습니다. 하나하나 시험할 수 없다면 무엇을 계산해야 할까요?

정의 13.1 (양의 정부호) 대칭 행렬 SS가 양의 정부호(positive definite)라는 것은 0\mathbf{0}이 아닌 모든 x\mathbf{x}에 대해 xTSx>0\mathbf{x}^{\mathsf T}S\mathbf{x} > 0이라는 뜻이다. ≥0\ge 0이면 양의 준정부호(positive semidefinite), 양수와 음수가 모두 나오면 부정부호(indefinite), −S-S가 양의 정부호이면 음의 정부호라 한다.
정리 13.4 (양의 정부호 판정) n×nn \times n 대칭 행렬 SS에 대해 다음은 모두 동치이다.
  1. 에너지: 모든 x≠0\mathbf{x} \ne \mathbf{0}에 대해 xTSx>0\mathbf{x}^{\mathsf T}S\mathbf{x} > 0.
  2. 고유값: 모든 고유값 λi>0\lambda_i > 0.
  3. 피벗: 행 교환 없이 소거하면 피벗 nn개가 모두 양수다.
  4. 선행 주소행렬식: 왼쪽 위 k×kk \times k 부분 행렬의 행렬식 D1,D2,…,DnD_1, D_2, \dots, D_n이 모두 양수다.
  5. ATAA^{\mathsf T}A: 열이 선형 독립인 어떤 행렬 AA로 S=ATAS = A^{\mathsf T}A라 쓸 수 있다.

증명의 고리. (1⇒2) Sq=λqS\mathbf{q} = \lambda\mathbf{q}이면 qTSq=λ∥q∥2>0\mathbf{q}^{\mathsf T}S\mathbf{q} = \lambda\lVert\mathbf{q}\rVert^2 > 0. (2⇒1) x=Qy\mathbf{x} = Q\mathbf{y}로 쓰면 xTSx=∑λiyi2>0\mathbf{x}^{\mathsf T}S\mathbf{x} = \sum\lambda_i y_i^2 > 0. (3⇔4) kk번째 피벗은 Dk/Dk−1D_k/D_{k-1}이다(소거는 왼쪽 위 블록부터 끝나므로). (3⇒5) 피벗이 양수면 S=LDLT=(LD)(LD)TS = LDL^{\mathsf T} = (L\sqrt D)(L\sqrt D)^{\mathsf T}, A=(LD)TA = (L\sqrt D)^{\mathsf T}. (5⇒1) xTATAx=∥Ax∥2≥0\mathbf{x}^{\mathsf T}A^{\mathsf T}A\mathbf{x} = \lVert A\mathbf{x}\rVert^2 \ge 0이고, 열이 독립이므로 x≠0\mathbf{x} \ne \mathbf{0}이면 Ax≠0A\mathbf{x} \ne \mathbf{0}. (1⇒3)은 피벗이 Dk/Dk−1D_k/D_{k-1}이고 DkD_k가 왼쪽 위 블록(역시 에너지가 양수인 행렬)의 고유값의 곱이라는 데서 나온다. ∎

실제 계산에서는 3번(피벗, 곧 콜레스키 분해를 시도해 보는 것)이 가장 빠릅니다. 고유값을 구하는 것보다 몇 배 싸고, 실패하면 그 자리에서 멈추기 때문입니다. 4번은 손계산에, 5번은 "왜 이 행렬이 양의 정부호인가"를 설명할 때 가장 쓸모 있습니다. 공분산 행렬, 최소제곱의 ATAA^{\mathsf T}A, 강성 행렬 ATCAA^{\mathsf T}CA가 양의 (준)정부호인 이유가 모두 5번입니다.

예제 13.4 (2차 차분 행렬 판정하기) K=[2−10−12−10−12]K = \begin{bmatrix}2 & -1 & 0\\ -1 & 2 & -1\\ 0 & -1 & 2\end{bmatrix}.

피벗: 22, 2−12=322 - \tfrac12 = \tfrac32, 2−13/2=432 - \tfrac{1}{3/2} = \tfrac43. 모두 양수. 주소행렬식: D1=2D_1 = 2, D2=3D_2 = 3, D3=4D_3 = 4. 피벗 = Dk/Dk−1D_k/D_{k-1} = 2,32,432, \tfrac32, \tfrac43 ✓. 고유값: 2−2, 2, 2+22 - \sqrt2,\ 2,\ 2 + \sqrt2 ≈ 0.59, 2, 3.41. 곱 = 4 = det⁡K\det K ✓. 에너지: 전개하면 xTKx=2x12+2x22+2x32−2x1x2−2x2x3=x12+(x1−x2)2+(x2−x3)2+x32>0.\mathbf{x}^{\mathsf T}K\mathbf{x} = 2x_1^2 + 2x_2^2 + 2x_3^2 - 2x_1x_2 - 2x_2x_3 = x_1^2 + (x_1 - x_2)^2 + (x_2 - x_3)^2 + x_3^2 > 0. 제곱의 합이고, 0이 되려면 x1=x1−x2=x2−x3=x3=0x_1 = x_1 - x_2 = x_2 - x_3 = x_3 = 0이어야 한다. ATAA^{\mathsf T}A: 제곱 안의 네 식이 곧 AxA\mathbf{x}이고, AA는 아래 6절의 4×3 차분 행렬이다. 다섯 판정이 모두 같은 답을 준다.

SIMULATOR

양의 정부호 판정기: 다섯 가지 시험

시험값결과
대칭 행렬 S (위 삼각을 고치면 아래가 따라감)
판정—
콜레스키 L—
해볼 것: ① '대각은 양수인데…'는 대각 원소가 모두 양수지만 양의 정부호가 아닙니다. 어느 시험이 가장 먼저 실패하는지 보세요. ② 'AᵀA'는 몇 번을 눌러도 언제나 통과합니다(정리 13.4의 5번). ③ '모두 1'은 피벗 하나가 0이 되어 콜레스키가 멈추고, 가장 작은 고유값은 0, 무작위 방향 최솟값도 0에 가깝습니다. ④ '거의 특이'는 판정은 통과하지만 가장 작은 고유값이 매우 작습니다. 수치적으로 위험한 행렬입니다(16장). 모델: 고유값은 야코비 방법, 무작위 방향 시험은 단위 벡터 3,000개의 최솟값입니다(증명이 아니라 표본입니다).

콜레스키 분해: 양의 정부호 행렬의 제곱근

대칭이면 계산도 절반으로 줄일 수 없을까

유한 요소 구조 해석, 칼만 필터, 몬테카를로 시뮬레이션의 상관된 난수 생성은 매번 양의 정부호 행렬로 연립방정식을 풀거나 "행렬의 제곱근"을 필요로 합니다. 대칭이라 칸의 절반이 중복인데, LU 분해는 그 사실을 쓰지 않습니다.

4장에서 대칭 행렬은 S=LDLTS = LDL^{\mathsf T}로 분해된다는 것을 보았습니다(4장 LDLᵀ). 양의 정부호면 피벗 DD가 모두 양수이므로 D\sqrt D를 양쪽으로 나눠 가질 수 있습니다.

정리 13.5 (콜레스키 분해) 대칭 행렬 SS가 양의 정부호일 필요충분조건은 대각 원소가 양수인 하삼각 행렬 LL이 있어 S=LLTS = LL^{\mathsf T}인 것이다. 이 LL은 유일하며, L=LLDUDL = L_{\text{LDU}}\sqrt D이다. 대각 원소의 제곱 ℓkk2\ell_{kk}^2이 곧 kk번째 피벗이다.

LLTLL^{\mathsf T}의 (i,j)(i, j) 성분을 맞추면 알고리즘이 바로 나옵니다. 첫 열부터 차례로,

ℓkk=skk−∑j<kℓkj2,ℓik=1ℓkk(sik−∑j<kℓijℓkj)(i>k)\ell_{kk} = \sqrt{s_{kk} - \sum_{j \lt k}\ell_{kj}^2}, \qquad \ell_{ik} = \frac{1}{\ell_{kk}}\Bigl(s_{ik} - \sum_{j \lt k}\ell_{ij}\ell_{kj}\Bigr)\quad (i > k)
제곱근 안이 0 이하가 되는 순간 행렬은 양의 정부호가 아니다. 그래서 콜레스키 분해는 "판정하면서 동시에 분해하는" 가장 빠른 방법이다. 연산량은 약 n3/3n^3/3 flop으로 LU의 절반이고, 피벗팅이 필요 없으며 수치적으로 안정하다.
예제 13.5 (콜레스키 손계산)

S=[4223]S = \begin{bmatrix}4 & 2\\ 2 & 3\end{bmatrix}: ℓ11=4=2\ell_{11} = \sqrt4 = 2, ℓ21=2/2=1\ell_{21} = 2/2 = 1, ℓ22=3−12=2\ell_{22} = \sqrt{3 - 1^2} = \sqrt2. 검산: [2012][2102]=[4223]\begin{bmatrix}2 & 0\\ 1 & \sqrt2\end{bmatrix}\begin{bmatrix}2 & 1\\ 0 & \sqrt2\end{bmatrix} = \begin{bmatrix}4 & 2\\ 2 & 3\end{bmatrix} ✓.

예제 13.4의 KK: ℓ11=2\ell_{11} = \sqrt2, ℓ21=−1/2\ell_{21} = -1/\sqrt2, ℓ22=2−12=3/2\ell_{22} = \sqrt{2 - \tfrac12} = \sqrt{3/2}, ℓ32=−1/3/2\ell_{32} = -1/\sqrt{3/2}, ℓ33=2−23=4/3\ell_{33} = \sqrt{2 - \tfrac23} = \sqrt{4/3}. 대각의 제곱 2,32,432, \tfrac32, \tfrac43이 정확히 피벗이다.

쓰이는 곳: 상관된 잡음 만들기 서로 독립인 표준 정규 난수 벡터 z\mathbf{z}에 LL을 곱하면 x=Lz\mathbf{x} = L\mathbf{z}의 공분산은 E[xxT]=L E[zzT] LT=LLT=ΣE[\mathbf{x}\mathbf{x}^{\mathsf T}] = L\,E[\mathbf{z}\mathbf{z}^{\mathsf T}]\,L^{\mathsf T} = LL^{\mathsf T} = \Sigma가 된다. 금융의 위험 시뮬레이션, 공정 변동의 몬테카를로 해석, 통신 채널 모의 실험이 상관된 난수를 이렇게 만든다(확률과 통계 · 결합 분포).

에너지로 읽기: 스프링과 K = AᵀCA

양의 정부호는 물리적으로 무슨 뜻인가

스프링으로 연결된 질량 세 개를 양쪽 벽에 매달고 힘을 가하면 어디까지 밀릴까요? 그리고 왜 벽 하나를 떼어도 답이 나오는데 양쪽 벽을 모두 떼면 답이 사라질까요?

질량의 변위를 u=(u1,u2,u3)\mathbf{u} = (u_1, u_2, u_3)라 합시다. 스프링 ii의 늘어난 길이 eie_i는 양 끝 변위의 차이입니다(벽은 움직이지 않음). 훅의 법칙으로 스프링 힘은 wi=cieiw_i = c_ie_i, 각 질량에서 힘의 평형은 들어오고 나가는 스프링 힘의 차이입니다. 세 단계를 행렬로 쓰면,

e=Au,w=Ce,f=ATw⟹Ku=f,K=ATCA,A=[100−1100−1100−1]\mathbf{e} = A\mathbf{u}, \quad \mathbf{w} = C\mathbf{e}, \quad \mathbf{f} = A^{\mathsf T}\mathbf{w} \quad\Longrightarrow\quad K\mathbf{u} = \mathbf{f}, \quad K = A^{\mathsf T}CA, \qquad A = \begin{bmatrix}1 & 0 & 0\\ -1 & 1 & 0\\ 0 & -1 & 1\\ 0 & 0 & -1\end{bmatrix}
C=diag⁡(c1,c2,c3,c4)C = \operatorname{diag}(c_1, c_2, c_3, c_4)는 스프링 상수. 늘어남을 구하는 AA와 힘의 평형을 세우는 ATA^{\mathsf T}가 서로 전치라는 것이 핵심이다(가상일의 원리). 모든 ci=1c_i = 1이면 KK는 예제 13.4의 2차 차분 행렬이 된다.
m₁m₂m₃ c₁, e₁ = u₁c₂, e₂ = u₂ − u₁c₃, e₃ = u₃ − u₂c₄, e₄ = −u₃ u₁ →u₂ →u₃ → 변위 u → 늘어남 e = Au → 스프링 힘 w = Ce → 외력 f = Aᵀw
그림 13-4. 고정–고정 스프링 사슬. 늘어남 e = Au, 힘 w = Ce, 평형 f = Aᵀw의 세 단계가 K = AᵀCA를 만든다. 이 틀은 저항 회로(전위 → 전압 강하 → 전류 → 키르히호프 법칙)와 트러스 구조물에도 똑같이 나타난다.

uTKu=(Au)TC(Au)=∑ciei2\mathbf{u}^{\mathsf T}K\mathbf{u} = (A\mathbf{u})^{\mathsf T}C(A\mathbf{u}) = \sum c_ie_i^2이고, 12uTKu\tfrac12\mathbf{u}^{\mathsf T}K\mathbf{u}는 스프링에 저장된 탄성 에너지입니다. 그러니 양의 정부호 = 어떻게 움직이든 에너지가 든다는 뜻입니다. 양쪽 벽을 모두 떼면 세 질량을 똑같이 옮기는 u=(1,1,1)\mathbf{u} = (1, 1, 1)이 스프링을 전혀 늘이지 않아 에너지가 0입니다. 이 강체 운동이 KK의 영공간이고, KK는 준정부호로 떨어져 Ku=fK\mathbf{u} = \mathbf{f}가 풀리지 않습니다(힘이 평형을 이루지 않으면 계 전체가 날아갑니다). 구조 해석에서 "경계 조건이 부족하다"는 오류 메시지가 바로 이것입니다.

정리 13.6 (최소 에너지 원리) KK가 양의 정부호이면 Ku=fK\mathbf{u} = \mathbf{f}의 해는 총 퍼텐셜 에너지 P(u)=12uTKu−uTfP(\mathbf{u}) = \tfrac12\mathbf{u}^{\mathsf T}K\mathbf{u} - \mathbf{u}^{\mathsf T}\mathbf{f}를 최소로 하는 유일한 점이고, 최솟값은 −12fTK−1f-\tfrac12\mathbf{f}^{\mathsf T}K^{-1}\mathbf{f}이다.

증명. u∗=K−1f\mathbf{u}^* = K^{-1}\mathbf{f}라 하면 P(u)−P(u∗)=12(u−u∗)TK(u−u∗)≥0P(\mathbf{u}) - P(\mathbf{u}^*) = \tfrac12(\mathbf{u} - \mathbf{u}^*)^{\mathsf T}K(\mathbf{u} - \mathbf{u}^*) \ge 0(전개해서 확인). 등호는 u=u∗\mathbf{u} = \mathbf{u}^*일 때뿐이다. ∎ 연립방정식을 푸는 것과 그릇의 바닥을 찾는 것은 같은 일이다. 이 생각이 유한 요소법과 켤레 기울기법(16장)의 출발점이다.

SIMULATOR

스프링 사슬: K = AᵀCA와 에너지

힘을 받는 질량
K = AᵀCA—
변위 u = K⁻¹f—
K의 고유값—
저장 에너지 ½uᵀKu—
—
해볼 것: ① c₄를 0으로 내리면(오른쪽 벽 떼기) K의 가장 작은 고유값이 줄지만 여전히 양수라 답이 나옵니다. ② c₁과 c₄를 모두 0으로 하면 가장 작은 고유값이 0이 되고, '셋 모두'처럼 힘의 합이 0이 아니면 해가 없습니다. ③ c₂를 아주 작게 하면 m₁이 거의 따로 놀고 K는 거의 블록 대각이 됩니다. 모델: 정적 평형만 다룹니다. 그림의 변위는 보기 좋게 확대했습니다.

헤세 행렬: 극소, 극대, 안장점

기울기가 0인 곳이 바닥인지 고개인지

신경망 학습, 공정 조건 최적화, 분자 구조 계산은 함수 f(x1,…,xn)f(x_1, \dots, x_n)의 기울기가 0인 점을 찾습니다. 그런데 기울기가 0인 점은 바닥(극소)일 수도, 꼭대기(극대)일 수도, 한쪽으로는 오르막이고 다른 쪽으로는 내리막인 고개(안장점)일 수도 있습니다. 일변수에서는 f′′f''의 부호로 판정했지요. 다변수에서는 무엇이 f′′f''일까요?

임계점 x0\mathbf{x}_0 근처에서 테일러 전개를 하면 1차 항이 사라지고 2차 항이 남습니다.

f(x0+h)≈f(x0)+∇fTh⏟= 0+12hTHh,H=[fxxfxyfyxfyy]f(\mathbf{x}_0 + \mathbf{h}) \approx f(\mathbf{x}_0) + \underbrace{\nabla f^{\mathsf T}\mathbf{h}}_{=\,0} + \tfrac12\mathbf{h}^{\mathsf T}H\mathbf{h}, \qquad H = \begin{bmatrix}f_{xx} & f_{xy}\\ f_{yx} & f_{yy}\end{bmatrix}
HH는 이계 편도함수를 모은 헤세 행렬(Hessian matrix)이다. 이계 편도함수가 연속이면 fxy=fyxf_{xy} = f_{yx}(슈바르츠 정리)이므로 HH는 대칭이다. 임계점 근처의 함수는 이차 형식 12hTHh\tfrac12\mathbf{h}^{\mathsf T}H\mathbf{h}처럼 생겼다.
정리 13.7 (이계 도함수 판정) ∇f(x0)=0\nabla f(\mathbf{x}_0) = \mathbf{0}일 때, H(x0)H(\mathbf{x}_0)가 양의 정부호면 극소, 음의 정부호면 극대, 고유값에 양수와 음수가 모두 있으면 안장점이다. 고유값 중 0이 있으면(준정부호) 이 판정만으로는 알 수 없다. 2×2에서는 det⁡H>0\det H > 0이고 fxx>0f_{xx} > 0이면 극소, det⁡H>0\det H > 0이고 fxx<0f_{xx} \lt 0이면 극대, det⁡H<0\det H \lt 0이면 안장점이다.
예제 13.6 (임계점 분류)

① f=x2+3xy+y2f = x^2 + 3xy + y^2: H=[2332]H = \begin{bmatrix}2 & 3\\ 3 & 2\end{bmatrix}, 고유값 5와 −1 → 안장점. 대각 원소 fxx=fyy=2f_{xx} = f_{yy} = 2가 모두 양수여서 x축, y축 방향으로는 오르막인데도 그렇다. 내리막 방향은 고유값 −1의 고유벡터 (1,−1)(1, -1)이다: f(t,−t)=t2−3t2+t2=−t2f(t, -t) = t^2 - 3t^2 + t^2 = -t^2.

② f=x3−3x+y2f = x^3 - 3x + y^2: ∇f=(3x2−3,2y)=0\nabla f = (3x^2 - 3, 2y) = \mathbf{0}에서 임계점 (±1,0)(\pm1, 0). H=[6x002]H = \begin{bmatrix}6x & 0\\ 0 & 2\end{bmatrix}. (1,0)(1, 0)에서 diag⁡(6,2)\operatorname{diag}(6, 2) → 극소. (−1,0)(-1, 0)에서 diag⁡(−6,2)\operatorname{diag}(-6, 2) → 안장점.

SIMULATOR

지형 위의 점: 기울기와 헤세 행렬

점을 끌어 보세요 · 등고선 간격 일정
점 (x, y)—
기울기 ∇f—
헤세 H—
H의 고유값—
—
해볼 것: ① '예제 ①'에서 원점의 두 고유벡터 중 주황(양수)은 오르막, 청록(음수)은 내리막 방향입니다. ② '예제 ②'에서 뉴턴법을 여러 번 눌러 두 임계점을 각각 찾아보세요. 출발점에 따라 극소에도, 안장점에도 도착합니다. 뉴턴법은 바닥과 고개를 가리지 않습니다. ③ 'x⁴ + y²'의 원점은 분명히 극소인데 헤세 고유값 하나가 0이라 정리 13.7로는 판정할 수 없습니다. ④ '원형 골짜기'의 바닥 원 위에서는 원을 따라가는 방향의 고유값이 0입니다. 모델: 헤세와 기울기는 해석적으로 계산하고, 화살표 길이는 |λ|의 제곱근에 비례합니다.

경사 하강법의 속도는 헤세의 조건수가 정한다

극소점을 찾는 가장 단순한 방법은 기울기 반대 방향으로 조금씩 내려가는 경사 하강법입니다. 극소점 근처의 함수는 f≈12xTSxf \approx \tfrac12\mathbf{x}^{\mathsf T}S\mathbf{x}(SS는 헤세)이므로 ∇f=Sx\nabla f = S\mathbf{x}이고 한 걸음은 xk+1=xk−ηSxk=(I−ηS)xk\mathbf{x}_{k+1} = \mathbf{x}_k - \eta S\mathbf{x}_k = (I - \eta S)\mathbf{x}_k입니다. 고유벡터 방향 성분은 서로 섞이지 않고 각각 매 걸음 1−ηλi1 - \eta\lambda_i배가 됩니다.

∣1−ηλi∣<1  ⟺  0<η<2λmax⁡,η∗=2λmax⁡+λmin⁡ ⇒ 수렴률=κ−1κ+1,κ=λmax⁡λmin⁡|1 - \eta\lambda_i| \lt 1 \iff 0 \lt \eta \lt \frac{2}{\lambda_{\max}}, \qquad \eta^* = \frac{2}{\lambda_{\max} + \lambda_{\min}}\ \Rightarrow\ \text{수렴률} = \frac{\kappa - 1}{\kappa + 1}, \quad \kappa = \frac{\lambda_{\max}}{\lambda_{\min}}
κ\kappa는 헤세의 조건수(condition number). 보폭은 가장 가파른 방향(λmax⁡\lambda_{\max}) 때문에 작아야 하고, 그 작은 보폭으로는 가장 완만한 방향(λmin⁡\lambda_{\min})이 거의 움직이지 않는다. κ=100\kappa = 100이면 수렴률 99/101≈0.98099/101 \approx 0.980이라 오차를 10−610^{-6}으로 줄이는 데 약 690걸음이 든다.
SIMULATOR

길쭉한 그릇에서 지그재그로 내려가기

출발점을 끌어 보세요
걸음마다 줄어드는 비율(최악 방향)—
f를 10⁻⁶배로 줄이는 데 걸린 걸음—
이론 최적 수렴률 (κ−1)/(κ+1)—
—
해볼 것: ① κ = 1이면 등고선이 원이고 최적 보폭에서 한 걸음에 바닥에 닿습니다. ② κ를 30 이상으로 키우면 경로가 골짜기 벽을 오가며 지그재그로 느리게 내려갑니다. ③ 보폭을 2/λmax(표시값 2.0) 넘게 키우면 가파른 방향 성분이 매 걸음 부호를 바꾸며 커져 발산합니다. ④ '뉴턴 한 걸음'은 헤세의 역행렬을 곱해 그릇을 원으로 펴 주므로 이차 함수에서는 한 걸음에 끝납니다. 모델: f = ½xᵀSx, S의 고유값은 1과 κ, 최대 1,000걸음까지 계산합니다.

레일리 몫과 주축: 응력, 관성, 공분산

어느 방향이 가장 많이 늘어나는가

응력 텐서에서는 "어느 면에 인장이 가장 크게 걸리는가", 관성 텐서에서는 "어느 축으로 돌리기가 가장 어려운가", 공분산 행렬에서는 "데이터가 어느 방향으로 가장 넓게 퍼졌는가"를 묻습니다. 모두 단위 벡터 n\mathbf{n}에 대해 nTSn\mathbf{n}^{\mathsf T}S\mathbf{n}을 최대로 하는 문제입니다.

정리 13.8 (레일리 몫) 대칭 행렬 SS의 고유값을 λ1≥⋯≥λn\lambda_1 \ge \cdots \ge \lambda_n이라 하면, x≠0\mathbf{x} \ne \mathbf{0}에 대한 레일리 몫(Rayleigh quotient)은 λn≤R(x)=xTSxxTx≤λ1\lambda_n \le R(\mathbf{x}) = \frac{\mathbf{x}^{\mathsf T}S\mathbf{x}}{\mathbf{x}^{\mathsf T}\mathbf{x}} \le \lambda_1 을 만족하고, 최댓값은 x=q1\mathbf{x} = \mathbf{q}_1에서, 최솟값은 x=qn\mathbf{x} = \mathbf{q}_n에서 얻는다.

증명. x=Qy\mathbf{x} = Q\mathbf{y}로 쓰면 R=∑λiyi2∑yi2R = \dfrac{\sum\lambda_iy_i^2}{\sum y_i^2}, 곧 고유값들의 가중 평균(가중치 yi2≥0y_i^2 \ge 0)이다. 가중 평균은 가장 큰 값과 가장 작은 값 사이에 있고, 가중치를 한 곳에 몰면 양 끝에 닿는다. ∎ 첫 고유벡터에 수직인 방향 중에서 최대를 찾으면 λ2\lambda_2가 나오고, 이렇게 고유값을 차례로 "최대화 문제의 답"으로 얻을 수 있다(쿠란트–피셔 최소최대 정리).

2차원 응력 텐서 σ=[σxττσy]\sigma = \begin{bmatrix}\sigma_x & \tau\\ \tau & \sigma_y\end{bmatrix}에서 법선이 n=(cos⁡θ,sin⁡θ)\mathbf{n} = (\cos\theta, \sin\theta)인 면의 수직 응력은 σn=nTσn\sigma_n = \mathbf{n}^{\mathsf T}\sigma\mathbf{n}(레일리 몫), 전단 응력은 면 방향 t=(−sin⁡θ,cos⁡θ)\mathbf{t} = (-\sin\theta, \cos\theta)에 대해 τn=tTσn\tau_n = \mathbf{t}^{\mathsf T}\sigma\mathbf{n}입니다. 배각 공식으로 정리하면

σn=σx+σy2+σx−σy2cos⁡2θ+τsin⁡2θ,τn=−σx−σy2sin⁡2θ+τcos⁡2θ\sigma_n = \frac{\sigma_x + \sigma_y}{2} + \frac{\sigma_x - \sigma_y}{2}\cos2\theta + \tau\sin2\theta, \qquad \tau_n = -\frac{\sigma_x - \sigma_y}{2}\sin2\theta + \tau\cos2\theta
(σn,τn)(\sigma_n, \tau_n)은 중심 σx+σy2\tfrac{\sigma_x + \sigma_y}{2}, 반지름 r=(σx−σy2)2+τ2r = \sqrt{(\tfrac{\sigma_x - \sigma_y}{2})^2 + \tau^2}인 원 위를 각 2θ2\theta로 돈다. 이것이 모어 원(Mohr's circle)이다. 원이 가로축과 만나는 두 점(전단 0)이 주응력 σ1,2=중심±r\sigma_{1,2} = \text{중심} \pm r, 곧 σ\sigma의 두 고유값이다.
예제 13.7 (주응력 구하기) σx=80\sigma_x = 80, σy=20\sigma_y = 20, τ=40\tau = 40 (단위 MPa).

중심 5050, 반지름 302+402=50\sqrt{30^2 + 40^2} = 50이므로 주응력은 100100과 00 MPa. 주방향은 tan⁡2θp=2τ/(σx−σy)=80/60\tan2\theta_p = 2\tau/(\sigma_x - \sigma_y) = 80/60에서 2θp≈53.1°2\theta_p \approx 53.1°, θp≈26.6°\theta_p \approx 26.6°. 고유값으로 확인하면 tr⁡=100\operatorname{tr} = 100, det⁡=80⋅20−402=0\det = 80 \cdot 20 - 40^2 = 0이므로 λ=100,0\lambda = 100, 0 ✓. 가로나 세로로 자른 면의 수직 응력 80 MPa보다 26.6° 기울인 면의 100 MPa가 더 크다. 재료의 파손 판정은 이 값으로 해야 한다.

SIMULATOR

면을 돌리면 응력이 바뀐다: 레일리 몫과 모어 원

수직 응력 σn = nᵀσn—
전단 응력 τn = tᵀσn—
주응력 = 고유값—
주방향 θp—
해볼 것: ① θ를 움직이면 왼쪽의 작은 요소가 돌고, 오른쪽 모어 원 위의 점은 2θ만큼 돕니다. 아래 그래프의 R(θ) = σn은 고유값 두 개 사이를 오갑니다. ② '주방향 1로'를 누르면 전단이 0이 되고 σn이 최대가 됩니다. 그 방향이 고유벡터입니다. ③ τ = 0, σx = σy로 하면 원이 한 점이 되어 모든 방향이 주방향입니다(고유값 중복). 모델: 2차원 평면 응력, 부호 약속은 인장 +, 전단은 반시계 회전을 + 로 봅니다.

같은 수학이 다른 두 곳에도 그대로 나옵니다.

σx = 80σy = 20τ = 40 가로·세로 면의 응력 σnτn σ₁ = 100σ₂ = 0 (80, 40)(20, −40) 중심 50 2θp
그림 13-5. 예제 13.7의 응력 요소와 모어 원. 가로 면의 응력 (80, 40)과 세로 면의 응력 (20, −40)이 원의 지름 양 끝이다. 원이 가로축과 만나는 초록 점이 주응력(고유값) 100과 0 MPa, 그 점까지 돌아간 각 2θp ≈ 53.1°의 절반이 주방향이다.

이 도구가 쓰이는 곳

"대칭 = 수직인 축으로 늘이기", "양의 정부호 = 에너지가 양수 = 그릇"이라는 두 문장은 시리즈 곳곳에 다른 이름으로 나타납니다.

핵심 정리

  1. 대칭 행렬의 고유값은 실수, 고유벡터는 직교(정리 13.1, 13.2). 그래서 S=QΛQTS = Q\Lambda Q^{\mathsf T}, Q−1=QTQ^{-1} = Q^{\mathsf T}: 수직인 축으로 돌려 읽고, 늘이고, 되돌린다.
  2. S=∑λiqiqiTS = \sum\lambda_i\mathbf{q}_i\mathbf{q}_i^{\mathsf T}: 대칭 행렬은 서로 수직인 직선으로의 사영에 배율을 곱한 것의 합이다. SkS^k, S−1S^{-1}, eSte^{St}는 고유값에 함수를 적용해 얻는다.
  3. 이차 형식 xTSx\mathbf{x}^{\mathsf T}S\mathbf{x}는 고유벡터 좌표에서 ∑λiyi2\sum\lambda_iy_i^2. 고유값 부호가 같으면 타원, 다르면 쌍곡선, 0이 있으면 평행선. 주축 = 고유벡터, q=1q = 1의 반지름 = 1/λi1/\sqrt{\lambda_i}.
  4. 양의 정부호의 다섯 판정(에너지 > 0, 고유값 > 0, 피벗 > 0, 선행 주소행렬식 > 0, S=ATAS = A^{\mathsf T}A·열 독립)은 모두 동치. 계산은 피벗(콜레스키)이 가장 빠르다. 대각 원소가 모두 양수라는 것만으로는 부족하다.
  5. 콜레스키 S=LLTS = LL^{\mathsf T}: 양의 정부호일 때만 존재, ℓkk2\ell_{kk}^2 = 피벗, 연산량 n3/3n^3/3, 피벗팅 불필요. 상관된 난수 LzL\mathbf{z} 생성에도 쓴다.
  6. 강성 행렬 K=ATCAK = A^{\mathsf T}CA는 에너지 12uTKu=12∑ciei2\tfrac12\mathbf{u}^{\mathsf T}K\mathbf{u} = \tfrac12\sum c_ie_i^2. 강체 운동이 가능하면 준정부호로 떨어진다. Ku=fK\mathbf{u} = \mathbf{f}는 퍼텐셜 에너지의 최소점이다.
  7. 헤세 행렬은 대칭이고 임계점에서 양의 정부호면 극소, 부정부호면 안장점. 경사 하강법의 수렴률은 최적 보폭에서 (κ−1)/(κ+1)(\kappa - 1)/(\kappa + 1), κ=λmax⁡/λmin⁡\kappa = \lambda_{\max}/\lambda_{\min}.
  8. 레일리 몫 R(x)=xTSx/xTxR(\mathbf{x}) = \mathbf{x}^{\mathsf T}S\mathbf{x}/\mathbf{x}^{\mathsf T}\mathbf{x}는 [λmin⁡,λmax⁡][\lambda_{\min}, \lambda_{\max}] 안에 있고 양 끝은 고유벡터에서 얻는다. 주응력(모어 원), 관성 주축, 공분산의 주성분이 모두 이것이다.

확인 퀴즈

Q1. 대칭 행렬 SS의 서로 다른 고유값 3과 5에 대한 고유벡터 x\mathbf{x}, y\mathbf{y}가 있다. xTy\mathbf{x}^{\mathsf T}\mathbf{y}는?

정리 13.2: 3xTy=(Sx)Ty=xTSy=5xTy3\mathbf{x}^{\mathsf T}\mathbf{y} = (S\mathbf{x})^{\mathsf T}\mathbf{y} = \mathbf{x}^{\mathsf T}S\mathbf{y} = 5\mathbf{x}^{\mathsf T}\mathbf{y}에서 2xTy=02\mathbf{x}^{\mathsf T}\mathbf{y} = 0. 크기와 상관없이 언제나 직교한다.

Q2. S=[1221]S = \begin{bmatrix}1 & 2\\ 2 & 1\end{bmatrix}에 대한 설명으로 옳은 것은?

tr⁡=2\operatorname{tr} = 2, det⁡=1−4=−3\det = 1 - 4 = -3이므로 λ=3,−1\lambda = 3, -1. 부호가 다르면 안장, 등위선은 쌍곡선이다. 방향 (1,−1)(1, -1)에서 xTSx=1−4+1=−2<0\mathbf{x}^{\mathsf T}S\mathbf{x} = 1 - 4 + 1 = -2 \lt 0. 대각이 양수인 것도, 대칭인 것도 양의 정부호의 충분조건이 아니다. det ≠ 0이므로 역행렬은 있다.

Q3. 다음 중 양의 정부호 판정으로 충분하지 않은 것은?

3×3에서 det⁡=λ1λ2λ3>0\det = \lambda_1\lambda_2\lambda_3 > 0, tr⁡>0\operatorname{tr} > 0이어도 고유값이 5,−1,−15, -1, -1일 수 있다(합 3, 곱 5). 2×2에서는 det > 0과 trace > 0이 충분하지만 일반적으로는 아니다. 나머지 셋은 정리 13.4의 동치 조건이다.

Q4. S=[9335]S = \begin{bmatrix}9 & 3\\ 3 & 5\end{bmatrix}의 콜레스키 인수 LL은?

ℓ11=9=3\ell_{11} = \sqrt9 = 3, ℓ21=3/3=1\ell_{21} = 3/3 = 1, ℓ22=5−1=2\ell_{22} = \sqrt{5 - 1} = 2. 검산: LLT=[9331+4]LL^{\mathsf T} = \begin{bmatrix}9 & 3\\ 3 & 1 + 4\end{bmatrix}. 마지막 보기는 LDLᵀ의 LL(단위 하삼각)이다. 피벗은 99와 4=ℓ2224 = \ell_{22}^2.

Q5. 스프링 사슬에서 양쪽 벽을 모두 떼어 내면 K=ATCAK = A^{\mathsf T}CA는 어떻게 되나?

세 질량을 똑같이 옮기면 어느 스프링도 늘어나지 않으므로 Au=0A\mathbf{u} = \mathbf{0}, 에너지 0이다. AA의 열이 종속이 되어 정리 13.4의 5번이 깨진다. KK는 여전히 ATCAA^{\mathsf T}CA 꼴이므로 대칭이고 준정부호다.

Q6. f(x,y)=x2+4xy+5y2f(x, y) = x^2 + 4xy + 5y^2의 원점은?

H=[24410]H = \begin{bmatrix}2 & 4\\ 4 & 10\end{bmatrix}, D1=2>0D_1 = 2 > 0, D2=20−16=4>0D_2 = 20 - 16 = 4 > 0이므로 양의 정부호. 완전제곱으로도 확인된다: f=(x+2y)2+y2f = (x + 2y)^2 + y^2.

Q7. 헤세의 고유값이 1과 400인 이차 함수에 최적 보폭으로 경사 하강법을 쓸 때, 걸음당 오차가 줄어드는 비율에 가장 가까운 것은?

κ=400\kappa = 400, (κ−1)/(κ+1)=399/401≈0.995(\kappa - 1)/(\kappa + 1) = 399/401 \approx 0.995. 오차를 10−610^{-6}배로 줄이려면 약 ln⁡106/0.005≈2,760\ln 10^6/0.005 \approx 2{,}760걸음이 든다. 보폭을 2/4002/400보다 크게 잡으면 발산하지만 최적 보폭은 그보다 작다.

Q8. 평면 응력 σx=50\sigma_x = 50, σy=−30\sigma_y = -30, τ=30\tau = 30 MPa의 최대 주응력은?

모어 원의 중심 (50−30)/2=10(50 - 30)/2 = 10, 반지름 402+302=50\sqrt{40^2 + 30^2} = 50. 주응력은 10±5010 \pm 50, 곧 60과 −40 MPa. 고유값으로도 tr⁡=20\operatorname{tr} = 20, det⁡=−1500−900=−2400\det = -1500 - 900 = -2400 → λ2−20λ−2400=0\lambda^2 - 20\lambda - 2400 = 0, λ=60,−40\lambda = 60, -40.