logo

행렬 분해 📂행렬대수

행렬 분해

정의

주어진 행렬을 단순하고 특징적인 다른 행렬들의 곱으로 나타내는 것을 행렬 분해matrix decomposition/factorization이라 한다.

설명

정의에서는 곱이라 하였지만 합으로 분해하는 경우도 있다. 주어진 대상을 단순한 형태로 쪼개어 생각하는 것은 수학 뿐만 아니라, 다양한 분야에서 유용한 접근법이다. 특히 행렬에 대해서는 주어진 행렬을 그대로 다루는 것보다 특정한 분해 꼴로 다루는 것이 계산상의 이점이 많다.

아래에서는 분해에 등장하는 핵심 행렬이 삼각행렬인지 대각행렬인지에 따라 분류하였다.

삼각 분해

삼각화

행렬 $A$가 삼각행렬 $U$와 닮음이면, 삼각화가능하다고 한다.

$$ A = P^{-1} U P $$

삼각화 자체가 일종의 행렬 분해이다. 모든 정방행렬은 삼각화가능, 그러니까 위와 같은 꼴로 분해할 수 있다. 특히 멱영행렬은 대각성분이 모두 $0$인 상삼각행렬과 닮음이다.

슈어 분해

삼각화에서 $P$를 유니터리 행렬로 고를 수 있다. 즉 모든 정방행렬 $A \in M_{n}(\mathbb{C})$를 유니터리 행렬 $Q$와 상삼각행렬 $T$에 대해서 다음과 같이 분해할 수 있다. 이를 슈어 분해라 한다.

$$ A = Q T Q^{\ast} $$

유니터리 행렬은 $Q^{-1} = Q^{\ast}$이므로 역행렬을 따로 구할 필요가 없다는 것이 일반적인 삼각화에 비한 장점이다.

LU 분해

가역행렬 $A \in M_{n}$이 행교환 없이 가우스 소거될 수 있으면, 대각성분이 모두 $1$인 하삼각행렬 $L$과 상삼각행렬 $U$에 대해서 다음과 같이 분해할 수 있다. 이를 LU 분해라 한다.

$$ A = LU $$

$L$에는 소거 과정에서 곱한 배수들이, $U$에는 소거를 마친 결과가 담긴다.

PLU 분해

소거 도중 피벗이 $0$이 되어 행교환이 필요한 경우에도, 모든 가역행렬 $A$는 순열행렬 $P$, 하삼각행렬 $L$, 상삼각행렬 $U$에 대해서 다음과 같이 분해할 수 있다. 이를 PLU 분해라 한다.

$$ A = PLU $$

LDU 분해

LU 분해를 갖는 대칭가역행렬 $A$는 대각성분이 모두 $1$인 하삼각행렬 $L$과 대각행렬 $D$에 대해서 다음과 같이 분해할 수 있다. 이를 LDU 분해라 한다.

$$ A = L D L^{\mathsf{T}} $$

LU 분해의 $U$에서 대각성분을 $D$로 뽑아내면 남는 상삼각행렬이 $L^{\mathsf{T}}$가 되는 것이다.

콜레스키 분해

양의 정부호 실대칭행렬 $A$는 하삼각행렬 $L$에 대해서 다음과 같이 분해할 수 있다. 이를 콜레스키 분해라 한다.

$$ A = L L^{\mathsf{T}} $$

LDU 분해에서 $D$의 대각성분이 모두 양수가 되므로, $D^{1/2}$을 $L$에 흡수시킨 꼴로 볼 수 있다.

QR 분해

임의의 행렬 $A \in \mathbb{C}^{m \times n}$은 유니터리 행렬 $Q \in \mathbb{C}^{m \times m}$과 상삼각행렬 $R \in \mathbb{C}^{m \times n}$에 대해서 다음과 같이 분해할 수 있다. 이를 QR 분해라 한다.

$$ A = QR $$

$A$의 열벡터들에 그램-슈미트 직교화를 적용하여 얻은 정규직교벡터들이 $Q$의 열벡터가 된다. 정방행렬일 필요가 없다는 것이 특징이다.

대각화

고유값분해

정방행렬 $A$가 대각행렬 $D$와 닮음이면, 대각화가능하다고 한다.

$$ A = P^{-1} D P $$

$n \times n$ 행렬 $A$가 대각화가능한 것과 $n$개의 선형독립인 고유벡터를 갖는 것은 동치이다. 이때 $D$의 대각성분은 $A$의 고유값이므로, 이 분해를 고유값 분해eigenvalue decomposition라고도 한다.

직교 대각화

실정방행렬 $A$가 직교행렬 $P$에 대해서 대각행렬 $D$와 닮음이면, 직교 대각화가능하다고 한다.

$$ A = P^{\mathsf{T}} D P $$

실정방행렬 $A$가 직교 대각화가능한 것과 대칭행렬인 것은 동치이다. 이를 이차형식에 적용한 것이 주축정리이다.

유니터리 대각화

복소정방행렬 $A$가 유니터리 행렬 $Q$에 대해서 대각행렬 $\Lambda$와 닮음이면, 유니터리 대각화가능하다고 한다.

$$ A = Q \Lambda Q^{\ast} $$

$A$가 유니터리 대각화가능한 것과 정규행렬인 것은 동치이다. 이를 스펙트럴 정리라 한다. 특히 에르미트 행렬은 유니터리 대각화가능하며, 이때 $\Lambda$의 대각성분은 모두 실수이다.

스펙트럴 분해

유니터리 대각화를 고유값 $\lambda_{k}$와 정규직교 고유벡터 $\mathbf{e}_{k}$의 합으로 풀어 쓴 것을 스펙트럴 분해라 한다.

$$ A = \sum_{k=1}^{n} \lambda_{k} \mathbf{e}_{k} \mathbf{e}_{k}^{\ast} $$

특이값 분해

임의의 행렬 $A \in \mathbb{C}^{m \times n}$은 유니터리 행렬 $U \in \mathbb{C}^{m \times m}$, $V \in \mathbb{C}^{n \times n}$과 대각성분이 음이 아닌 실수인 $m \times n$ 대각행렬 $\Sigma$에 대해서 다음과 같이 분해할 수 있다. 이를 특이값 분해singular value decomposition, SVD라 한다.

$$ A = U \Sigma V^{\ast} $$

$\Sigma$의 대각성분을 $A$의 특이값이라 한다. 대각화가 정방행렬에만 가능한 것과 달리, 특이값 분해는 모든 행렬에 대해 존재한다. 양쪽에 서로 다른 유니터리 행렬을 허용함으로써 대각화를 직사각행렬까지 일반화한 것이다.

그 외

SN 분해

복소정방행렬 $A \in M_{n}(\mathbb{C})$를 대각화가능한 행렬 $S$와 멱영행렬 $N$에 대해서 다음과 같이 분해할 수 있다. 이를 SN 분해라 한다.

$$ A = S + N, \qquad SN = NS $$

이러한 $S$와 $N$은 유일하다. 합으로 분해하는 대표적인 예이다.