29.24 반사 행렬(Reflection Matrix)의 구성과 하우스홀더 변환

29.24 반사 행렬(Reflection Matrix)의 구성과 하우스홀더 변환

1. 반사 변환의 기하학적 정의

\mathbb{R}^n에서 원점을 지나는 초평면(hyperplane)에 대한 **반사(reflection)**란, 각 벡터를 해당 초평면에 대하여 대칭인 위치로 사상하는 선형 변환이다.

초평면은 단위 법선 벡터(unit normal vector) u (\|u\| = 1)에 의해 결정되며, 이 초평면은 u에 직교하는 모든 벡터의 집합 \{x \in \mathbb{R}^n \mid u^T x = 0\}이다.

2. 반사 행렬의 유도

벡터 v \in \mathbb{R}^n을 법선 벡터 u에 평행한 성분과 초평면에 평행한 성분으로 분해하라.

v_\parallel = (u^T v)u = (uu^T)v, \quad v_\perp = v - v_\parallel = v - (uu^T)v

반사 변환 H는 평행 성분의 부호를 반전시키고 수직 성분은 유지한다.

H(v) = v_\perp - v_\parallel = v - 2v_\parallel = v - 2(u^T v)u = (I - 2uu^T)v

따라서 법선 벡터 u에 대한 반사 행렬은

H = I - 2uu^T

이다. 이 행렬을 하우스홀더 행렬(Householder matrix) 또는 **하우스홀더 반사체(Householder reflector)**라 한다.

3. 하우스홀더 행렬의 기본 성질

3.1 대칭성

H^T = (I - 2uu^T)^T = I - 2(uu^T)^T = I - 2uu^T = H

하우스홀더 행렬은 대칭 행렬이다.

3.2 직교성

H^T H = H^2 = (I - 2uu^T)(I - 2uu^T) = I - 4uu^T + 4u(u^Tu)u^T = I - 4uu^T + 4uu^T = I

u^Tu = 1을 사용하였다. 따라서 H는 직교 행렬이다.

3.3 자기역원(Involution)

H^2 = I이므로 H^{-1} = H이다. 반사를 두 번 적용하면 원래 벡터로 돌아온다. 이러한 성질을 **자기역원(involution)**이라 한다.

3.4 행렬식

\det(H) = \det(I - 2uu^T)

행렬 행렬식 보조정리(matrix determinant lemma)에 의하여

\det(I - 2uu^T) = 1 - 2u^T u = 1 - 2 = -1

따라서 \det H = -1이다. 이는 반사가 방향을 반전시키는 변환임을 확인한다.

3.5 고유값

H의 고유값은 다음과 같다.

  • \lambda = -1: 고유벡터 u (법선 방향). Hu = u - 2u(u^Tu) = u - 2u = -u.
  • \lambda = +1: u에 직교하는 모든 벡터. v \perp u이면 Hv = v - 2(u^Tv)u = v.

기하적 중복도: \lambda = -1은 중복도 1, \lambda = +1은 중복도 n-1이다.

4. 차원에서의 반사 행렬

4.1 좌표축에 대한 반사

x축에 대한 반사 (u = e_2 = (0, 1)^T):

H = I - 2e_2 e_2^T = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}

y축에 대한 반사 (u = e_1 = (1, 0)^T):

H = I - 2e_1 e_1^T = \begin{pmatrix} -1 & 0 \\ 0 & 1 \end{pmatrix}

4.2 임의의 직선에 대한 반사

원점을 지나고 x축과 각도 \alpha를 이루는 직선에 대한 반사의 법선 벡터는 u = (-\sin\alpha, \cos\alpha)^T이다. 반사 행렬은

H = I - 2uu^T = \begin{pmatrix} 1 - 2\sin^2\alpha & 2\sin\alpha\cos\alpha \\ 2\sin\alpha\cos\alpha & 1 - 2\cos^2\alpha \end{pmatrix} = \begin{pmatrix} \cos 2\alpha & \sin 2\alpha \\ \sin 2\alpha & -\cos 2\alpha \end{pmatrix}

배각 공식 \cos 2\alpha = 1 - 2\sin^2\alpha, \sin 2\alpha = 2\sin\alpha\cos\alpha를 사용하였다.

5. 차원에서의 반사 행렬

단위 법선 벡터 u = (u_1, u_2, u_3)^T에 대한 반사 행렬은

H = I - 2uu^T = \begin{pmatrix} 1-2u_1^2 & -2u_1 u_2 & -2u_1 u_3 \\ -2u_2 u_1 & 1-2u_2^2 & -2u_2 u_3 \\ -2u_3 u_1 & -2u_3 u_2 & 1-2u_3^2 \end{pmatrix}

예시. xy평면에 대한 반사 (u = e_3 = (0,0,1)^T):

H = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & -1 \end{pmatrix}

6. 하우스홀더 변환의 핵심 응용

6.1 벡터를 좌표축 방향으로 사상

하우스홀더 변환의 가장 중요한 응용은 주어진 벡터 x를 특정 좌표축 방향(통상 e_1 방향)으로 사상하는 것이다. 이는 QR 분해와 특이값 분해의 계산에서 핵심적 역할을 한다.

문제. 벡터 x \neq 0에 대하여 Hx = \pm\|x\| e_1을 만족하는 하우스홀더 행렬 H = I - 2uu^T를 구성하라.

구성. Hx = x - 2(u^T x)u = \pm\|x\| e_1이 성립하려면

x \mp \|x\| e_1 = 2(u^T x) u

즉, u는 벡터 x \mp \|x\| e_1에 평행해야 한다. 따라서

v = x - \|x\| e_1, \quad u = \frac{v}{\|v\|}

로 설정하면 (부호 안정성을 위해 v = x + \text{sign}(x_1)\|x\| e_1을 사용하기도 한다)

Hx = -\text{sign}(x_1)\|x\| e_1

이 성립한다.

6.2 구체적 계산 예시

x = (3, 4)^T에 대하여 Hx = \|x\| e_1 = 5e_1이 되는 하우스홀더 행렬을 구하라.

v = x - 5e_1 = \begin{pmatrix} -2 \\ 4 \end{pmatrix}, \quad \|v\| = \sqrt{4 + 16} = 2\sqrt{5}

u = \frac{v}{\|v\|} = \frac{1}{2\sqrt{5}}\begin{pmatrix} -2 \\ 4 \end{pmatrix} = \begin{pmatrix} -1/\sqrt{5} \\ 2/\sqrt{5} \end{pmatrix}

H = I - 2uu^T = \begin{pmatrix} 1 - 2/5 & 4/5 \\ 4/5 & 1 - 8/5 \end{pmatrix} = \begin{pmatrix} 3/5 & 4/5 \\ 4/5 & -3/5 \end{pmatrix}

검증: Hx = \begin{pmatrix} 3/5 & 4/5 \\ 4/5 & -3/5 \end{pmatrix}\begin{pmatrix} 3 \\ 4 \end{pmatrix} = \begin{pmatrix} 5 \\ 0 \end{pmatrix} = 5e_1. \checkmark

7. QR 분해에서의 하우스홀더 변환

m \times n 행렬 A (m \geq n)의 QR 분해는 하우스홀더 변환의 순차적 적용으로 수행된다.

단계 1. A의 첫 번째 열 a_1\|a_1\| e_1으로 사상하는 m \times m 하우스홀더 행렬 H_1을 구성한다.

H_1 A = \begin{pmatrix} * & * & \cdots & * \\ 0 & * & \cdots & * \\ \vdots & \vdots & & \vdots \\ 0 & * & \cdots & * \end{pmatrix}

단계 2. H_1 A(2:m, 2:n) 부분 행렬의 첫 번째 열에 대하여 (m-1) \times (m-1) 하우스홀더 행렬 \tilde{H}_2를 구성하고, H_2 = \begin{pmatrix} 1 & 0 \\ 0 & \tilde{H}_2 \end{pmatrix}로 확장한다.

이 과정을 n단계 반복하면

H_n \cdots H_2 H_1 A = R

상삼각 행렬 R을 얻는다. Q = H_1 H_2 \cdots H_n (각 H_i가 대칭이고 직교이므로)은 직교 행렬이며, A = QR이 QR 분해이다.

8. 반사와 회전의 관계

정리. 모든 회전은 두 개의 반사의 합성으로 표현된다.

\mathbb{R}^2에서 법선 벡터 u_1u_2 사이의 각도가 \alpha이면, H_2 H_1은 각도 2\alpha의 회전이다.

증명. 법선 벡터가 x축과 각도 \beta, \beta + \alpha를 이루면

H_1 = \begin{pmatrix} \cos 2\beta & \sin 2\beta \\ \sin 2\beta & -\cos 2\beta \end{pmatrix}, \quad H_2 = \begin{pmatrix} \cos 2(\beta+\alpha) & \sin 2(\beta+\alpha) \\ \sin 2(\beta+\alpha) & -\cos 2(\beta+\alpha) \end{pmatrix}

H_2 H_1을 계산하면 R(2\alpha)가 됨을 삼각함수 항등식으로 확인할 수 있다. \blacksquare

이 관계는 \det(H_2 H_1) = (-1)(-1) = +1로도 확인된다.

일반적으로, n차원에서 모든 직교 변환은 최대 n개의 하우스홀더 반사의 합성으로 표현된다. 이는 하우스홀더 반사가 직교군 O(n)의 생성자(generator)임을 의미한다.

9. 하우스홀더 변환의 수치적 장점

하우스홀더 변환은 수치 선형대수학에서 다음의 장점을 제공한다.

첫째, 직교 행렬이므로 조건수가 \kappa(H) = 1이다. 변환 과정에서 반올림 오차가 증폭되지 않는다.

둘째, H를 명시적으로 행렬로 저장할 필요 없이 벡터 u만 저장하면 된다. Hx = x - 2u(u^T x)의 계산은 O(n) 연산으로 수행되므로, O(n^2)인 일반 행렬-벡터 곱보다 효율적이다.

셋째, 자기역원 성질 H^{-1} = H에 의해 역변환 계산이 불필요하다.