정의와 조건

행렬 분해와 인수의 조건

행렬 분해는 한 행렬을 성질이 알려진 행렬들의 곱으로 나타내는 것이다. 곱한 결과가 원래 행렬이어야 하며, 각 인수는 분해에서 정한 조건을 만족해야 한다.

\[A=BC,\qquad A\in\mathbb R^{m\times n},\ B\in\mathbb R^{m\times r},\ C\in\mathbb R^{r\times n}\]

중간 크기 \(r\)이 맞아야 곱셈이 가능하다. \(A=AI\)도 곱의 표현이지만 계산이 쉬워지지는 않는다. 이번 차시는 이미 배운 소거·직교화·고유기저를 각각 어떤 조건의 인수로 기록하는지 비교한다.

정의와 조건

삼각행렬과 LU 분해

주대각선 위쪽이 모두 0이면 아래삼각행렬, 아래쪽이 모두 0이면 위삼각행렬이라 한다. LU 분해에서는 아래삼각행렬 \(L\)과 위삼각행렬 \(U\)로 \(A\)를 나타낸다.

\[A=LU,\qquad L=\begin{bmatrix}1&0\\\ell&1\end{bmatrix},\quad U=\begin{bmatrix}u_{11}&u_{12}\\0&u_{22}\end{bmatrix}\]

여기서는 \(L\)의 대각성분을 1로 정한다. 행 교환이 필요하면 그 교환을 나타내는 순열행렬 \(P\)를 써서 \(PA=LU\)로 기록한다. 이 \(P\)는 앞 차시의 고유벡터 행렬과 역할이 다르다.

직접 계산 · LU

소거 배수를 기록한 행렬 \(L\)

$A=\begin{bmatrix}2&1&1\\4&-6&0\\-2&7&2\end{bmatrix}$
첫 피벗 \(2\)
$U_0=A=\begin{bmatrix}2&1&1\\4&-6&0\\-2&7&2\end{bmatrix}$
$m_{21}=2,\qquad m_{31}=-1$

아래 행에서 첫 열을 없앨 배수를 정합니다.

적용과 논증

곱이 같다는 사실에서 풀이 순서까지

\[A=\begin{bmatrix}2&1\\4&3\end{bmatrix}=\begin{bmatrix}1&0\\2&1\end{bmatrix}\begin{bmatrix}2&1\\0&1\end{bmatrix}=LU\]

\(Ax=(3,7)^T\)를 풀려 한다. “먼저 \(Ux=b\), 그다음 \(Ly=x\)를 풀면 된다”는 주장에 잘못이 있는가? 중간벡터를 정의하여 올바른 순서와 해를 구하라.

풀이와 판단 근거

\(Ax=L(Ux)=b\)이므로 \(y=Ux\)라 두고 \(Ly=b\)를 먼저 풀어야 한다.

\[Ly=\binom37\Rightarrow y=\binom31,\qquad Ux=\binom31\Rightarrow x=\binom11\]

제시한 순서는 \(LU\) 대신 \(UL\)의 작용을 되돌리는 계산이다. 일반적으로 \(LU\ne UL\)이므로 같은 해를 보장하지 않는다.

정의와 조건

정규직교 열과 얇은 QR 분해

\(A\in\mathbb R^{m\times n}\), \(m\ge n\)이고 열들이 독립이라고 하자. 얇은 QR 분해는 \(A=QR\)로 쓰되 \(Q\)는 정규직교 열 \(n\)개를 가진 \(m\times n\) 행렬, \(R\)은 \(n\times n\) 위삼각행렬인 분해이다.

\[Q^TQ=I_n,\quad (Q^TQ)_{ij}=q_i^Tq_j,\qquad r_{ij}=q_i^Ta_j\]

\(Q\)의 열은 \(A\)의 열공간의 기저이다. \(m>n\)이면 \(Q\)는 정사각행렬이 아니므로 \(Q^{-1}\)이라 쓰지 않는다. 그람–슈미트에서 남은 성분이 0이 아니므로 \(R\)의 대각성분도 0이 아니다.

직접 계산 · QR

열벡터를 정규직교화하는 계산

$A=\begin{bmatrix}1&1\\1&0\\0&1\end{bmatrix}=[\,\mathbf{a}_1\ \mathbf{a}_2\,]$
첫 번째 정규직교벡터
$\mathbf{q}_1=\frac{\mathbf{a}_1}{\lVert\mathbf{a}_1\rVert}=\frac1{\sqrt2}\begin{bmatrix}1\\1\\0\end{bmatrix}$
$r_{11}=\sqrt2,\qquad r_{12}=\mathbf{q}_1^\mathsf T\mathbf{a}_2=\frac1{\sqrt2}$

첫 열과 같은 방향의 단위벡터를 만듭니다.

정의와 조건

고유분해와 직교 고유분해의 구별

고유분해 \(A=XDX^{-1}\)는 고유벡터 기저를 열에 놓은 대각화이다. 기저가 정규직교이면 \(X=Q\), \(Q^{-1}=Q^T\)이므로 \(A=QDQ^T\)가 된다.

\[Q=\frac1{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix},\quad D=\begin{bmatrix}3&0\\0&1\end{bmatrix},\quad A=\begin{bmatrix}2&1\\1&2\end{bmatrix}\]

이 예에서는 \(Q^TQ=I\)와 \(AQ=QD\)를 직접 확인할 수 있다. 모든 행렬에서 이런 \(Q\)가 존재하는 것은 아니다. 실수 대칭행렬에서의 존재 정리와 극값 해석은 22차시에서 다룬다.

방향별 작용 · 고유분해

고유기저에서 두 성분이 변하는 방식

$A=\begin{bmatrix}2&1\\1&2\end{bmatrix}=Q\begin{bmatrix}3&0\\0&1\end{bmatrix}Q^\mathsf T$
고윳값 3의 방향
$\mathbf{q}_+=\frac1{\sqrt2}\begin{bmatrix}1\\1\end{bmatrix},\qquad A\mathbf{q}_+=3\mathbf{q}_+$
\([q_+]_B=(1,0)^T,\quad[Aq_+]_B=(3,0)^T\)

첫째 고유벡터 성분에 고윳값 3을 곱합니다.

정의와 조건

특잇값 분해의 인수 · 선택 개요

특잇값 분해(SVD)는 실수 \(m\times n\) 행렬을 \(A=U\Sigma V^T\)로 나타내는 분해이다. \(U\)는 \(m\times m\), \(V\)는 \(n\times n\) 직교행렬이며 \(\Sigma\)는 대각 위치 밖이 0인 \(m\times n\) 행렬이다.

\[U^TU=I_m,\quad V^TV=I_n,\quad\sigma_1\ge\sigma_2\ge\cdots\ge0\]

\(\Sigma\)의 대각성분을 특잇값, \(U,V\)의 열을 각각 왼쪽·오른쪽 특이벡터라 한다. 입력과 출력에 서로 다른 직교기저를 사용하므로 직사각행렬에도 적용한다. 구하는 방법과 근사 문제는 24차시의 본 내용이다.

오른쪽·왼쪽 특이벡터 · SVD

정의한 SVD 인수의 작용 순서 · 선택

$A=U\Sigma V^\mathsf T$
입력벡터
$\mathbf{x}\in\mathbb R^n,\qquad A:\mathbb R^n\to\mathbb R^m$
$\sigma_1\ge\sigma_2\ge\cdots\ge0$

대칭행렬이나 정사각행렬일 필요가 없습니다.

적용과 논증

직사각형 Q의 역행렬이라는 오류

\[Q=\begin{bmatrix}1&0\\0&1\\0&0\end{bmatrix},\qquad b=\begin{bmatrix}1\\2\\3\end{bmatrix}\]
  1. \(Q^TQ\), \(QQ^T\), \(QQ^Tb\)를 계산하라.
  2. “\(Q^TQ=I\)이므로 \(Q^T=Q^{-1}\)이고 모든 \(b\)를 되돌릴 수 있다”는 주장을 반박하라.
  3. 어떤 \(b\)에서는 \(QQ^Tb=b\)가 성립하는가?
풀이와 판단 근거
\[Q^TQ=I_2,\quad QQ^T=\operatorname{diag}(1,1,0),\quad QQ^Tb=(1,2,0)^T\]

\(Q\)는 3×2로 역행렬이 없고 셋째 성분을 표현할 수 없다. \(b\)의 셋째 성분이 0, 즉 \(b\in\operatorname{col}(Q)\)일 때만 완전히 복원한다. 얇은 QR의 좌표변환을 정사각 직교행렬의 역변환과 혼동하면 안 된다.

정리

분해식을 사용할 때 확인할 사항

  1. 인수의 크기가 맞으며 곱한 결과가 실제로 \(A\)인가?
  2. 삼각, 정규직교, 대각이라는 각 인수의 조건이 성립하는가?
  3. 필요한 가정이 있는가? 대각화에는 고유기저, 여기의 얇은 QR에는 독립인 열이 필요하다.
  4. 20차시에서는 LU의 재사용, 21차시에서는 QR과 최소제곱의 관계를 계산한다.