Hermitian 행렬과 Unitary 행렬 (Hermitian and Unitary Matrices)

실 대칭·직교의 복소 일반화와 스펙트럼 정리

실 대칭 행렬 \(A = A^\top\) 이 선형대수의 가장 좋은 행렬인 이유는 고유값이 실수이고 고유벡터가 직교하여 \(A = Q\Lambda Q^\top\) 로 완벽히 진단되기 때문이다. 복소 세계에서 이 세 장점을 그대로 이어받는 것이 Hermitian 행렬 \(A = A^H\) 이고, 실 직교 행렬 \(Q^\top Q = I\) 의 복소 짝이 Unitary 행렬 \(U^H U = I\) 다. 이 포스트는 Strang §10.2 를 뼈대로 켤레전치 \(^H\) 의 정의, 복소 내적, Hermitian의 세 가지 핵심 성질과 증명, 스펙트럼 정리 \(A = U \Lambda U^H\), Unitary의 기하학적 의미, Skew-Hermitian과 정규(normal) 행렬, 양자역학·신호처리에서의 역할까지를 직관과 수식으로 정리한다.

Mathematics
Machine Learning
Deep Learning
저자

Kwangmin Kim

공개

2026년 04월 13일

1 개요

Strang의 §10.2 는 한 문장으로 요약된다.

복소 벡터나 행렬을 전치할 때는 켤레까지 함께 취한다.

\(z^\top\) 이 아니라 \(\bar{z}^\top\), \(A^\top\) 이 아니라 \(\bar{A}^\top\) 이라는 작은 치환이 실 선형대수의 모든 “좋은 정리”를 복소 세계로 자연스럽게 이전시킨다. 이 켤레전치 \(A^H\) 와 함께 자라 나오는 두 특수 행렬이

  • Hermitian 행렬: \(A = A^H\) — 실 대칭 \(A = A^\top\) 의 복소판
  • Unitary 행렬: \(U^H U = I\) — 실 직교 \(Q^\top Q = I\) 의 복소판

이다. 실 세계에서 대칭과 직교가 스펙트럼 정리를 지탱하듯, 복소 세계에서는 Hermitian과 Unitary가 같은 역할을 한다.

이 포스트는 Strang (2009) Introduction to Linear Algebra Ch.10 §10.2 “Hermitian and Unitary Matrices” 의 흐름을 따르되, 각 정리의 증명을 단계별로 전개하고 양자역학·신호처리에서의 물리적 의미를 함께 다룬다. 끝에는 Hermitian·Unitary 를 포괄하는 더 넓은 집합인 정규 행렬(normal matrix) 도 짧게 짚는다.

선행: Ch.10 Overview, §10.1 복소수.


2 켤레전치 \(A^H\): 왜 전치만으로는 부족한가

2.1 동기 — 복소 벡터의 길이

실 벡터의 길이 제곱은 \(\mathbf{x}^\top \mathbf{x} = \sum x_i^2 \geq 0\) 이다. 이를 복소 벡터에 그대로 적용하면 \(\mathbf{z} = (1, i)^\top\) 에서

\[ \mathbf{z}^\top \mathbf{z} = 1^2 + i^2 = 0 \]

영이 아닌 벡터가 길이 0을 갖는다. 원인은 \(i^2 = -1\) 로 음의 기여가 발생하기 때문이다. 길이의 정의가 무너진다.

2.2 해법 — 한 쪽 인자를 켤레

각 성분을 켤레한 뒤 전치한다.

정의: 켤레전치 (Conjugate Transpose)

복소 벡터 \(\mathbf{z} = (z_1, \dots, z_n)^\top\) 과 복소 행렬 \(A\) 에 대해

\[ \mathbf{z}^H = \bar{\mathbf{z}}^\top = (\bar{z}_1, \dots, \bar{z}_n), \qquad (A^H)_{ij} = \overline{A_{ji}} \]

를 켤레전치 또는 Hermitian 전치라 한다. 기호는 \(A^H\) 또는 \(A^*\) (물리·공학 관습). MATLAB의 A', NumPy의 A.conj().T 가 이에 해당한다.

이제 길이 제곱은

\[ \mathbf{z}^H \mathbf{z} = \sum_i \bar{z}_i z_i = \sum_i |z_i|^2 \geq 0 \]

항상 음이 아닌 실수, 그리고 0 인 경우는 \(\mathbf{z} = \mathbf{0}\) 일 때뿐. 길이 정의가 복원된다. \(\|(1, i)\|^2 = 1 + 1 = 2\), 즉 길이 \(\sqrt{2}\).

2.3 대수 규칙

전치의 모든 규칙에 “켤레까지 추가”를 적용한 형태다.

규칙 실수 (\(^\top\)) 복소 (\(^H\))
\((A + B)^\top = A^\top + B^\top\) \((A + B)^H = A^H + B^H\)
\((AB)^\top = B^\top A^\top\) \((AB)^H = B^H A^H\)
\((A^{-1})^\top = (A^\top)^{-1}\) \((A^{-1})^H = (A^H)^{-1}\)
스칼라 \((cA)^\top = c A^\top\) \((cA)^H = \bar{c} A^H\)

마지막 줄이 중요한 차이점이다. 스칼라를 켤레전치 밖으로 빼면 켤레로 바뀐다. 이 한 규칙이 이후 모든 증명에서 반복적으로 쓰인다.

2.4 수반(adjoint) 성질

\(^H\) 의 본질적 정의 — 내적을 보존하는 “짝 연산자”:

\[ (A\mathbf{u})^H \mathbf{v} = \mathbf{u}^H (A^H \mathbf{v}) \]

증명: \((A\mathbf{u})^H = \mathbf{u}^H A^H\)\(\mathbf{v}\) 에 곱하면 좌변. 결합법칙으로 우변. \(\square\)

이것이 \(^H\)수반(adjoint) 이라고도 부르는 이유다. 선형대수 안에서 \(A\)\(\mathbf{u}\) 에 작용할 때, 내적의 반대 쪽으로 옮기면 \(A^H\) 로 바뀐다.


3 복소 내적

3.1 정의

정의: 복소 내적 (Complex Inner Product)

\(\mathbf{u}, \mathbf{v} \in \mathbb{C}^n\) 의 내적은

\[ \langle \mathbf{u}, \mathbf{v} \rangle = \mathbf{u}^H \mathbf{v} = \sum_i \bar{u}_i\, v_i \]

로 정의된다. 실 벡터일 때는 실수 내적과 일치한다.

3.2 비가환성

실 내적은 \(\mathbf{x}^\top \mathbf{y} = \mathbf{y}^\top \mathbf{x}\) 로 대칭이다. 복소 내적은 그렇지 않다.

\[ \mathbf{v}^H \mathbf{u} = \overline{\mathbf{u}^H \mathbf{v}} \]

켤레 대칭(conjugate symmetric) — 즉 \(\mathbf{u}\)\(\mathbf{v}\) 를 바꾸면 켤레가 된다. 값이 실수이면 순서 바꿈의 영향이 없지만, 값이 복소수면 부호(허부)가 뒤집힌다.

3.3 직교성

\(\mathbf{u}^H \mathbf{v} = 0\) 이면 \(\mathbf{u}\)\(\mathbf{v}\)직교한다. 복소에서의 직교는 기하학적 직관이 조금 미묘하다 — 실수 성분만 보면 직각처럼 보이지 않을 수도 있지만, 내적이 0이면 정의상 직교다.

예시 (Strang §10.2 Example 1): \(\mathbf{u} = (1, i)^\top\), \(\mathbf{v} = (i, 1)^\top\) 에 대해

\[ \mathbf{u}^H \mathbf{v} = \bar{1}\cdot i + \bar{i}\cdot 1 = i + (-i) = 0 \]

직교다. 켤레를 빼고 \(\mathbf{u}^\top \mathbf{v} = 1\cdot i + i\cdot 1 = 2i\) 로 계산하면 틀린 값(영이 아님)이 나온다. 켤레가 없으면 직교성 판정도 깨진다.

직관: 왜 “한쪽만 켤레”인가

길이 정의 \(\mathbf{z}^H \mathbf{z} = |z_1|^2 + \cdots + |z_n|^2\) 가 양수가 되려면 각 항이 \(|z_i|^2 = z_i \bar{z}_i\) 형태여야 한다. 따라서 내적을 정의할 때 두 인자 중 한 쪽만 켤레하면 길이 호환이 된다. 양쪽 모두 켤레하면 다시 \(\sum \bar{z}_i^2\) 로 돌아가 문제 재발, 양쪽 모두 켤레하지 않으면 \(\sum z_i^2\) 로 문제 재발. “한쪽만”이 유일한 답이다.

어느 쪽을 켤레할지는 규약이다. 수학자는 주로 둘째 인자를 켤레(원래 Hermitian의 표기), 물리학자는 첫 인자를 켤레(Dirac의 bra-ket \(\langle\psi|\phi\rangle\) 에서 bra 가 켤레). Strang과 이 포스트는 첫 인자 켤레 규약 (\(\mathbf{u}^H \mathbf{v}\)) 을 사용한다.


4 Hermitian 행렬

4.1 정의와 예시

정의: Hermitian 행렬

\(A = A^H\) 를 만족하는 정방 복소 행렬을 Hermitian 행렬이라 한다. 성분 조건:

\[ a_{ij} = \overline{a_{ji}} \]

특히 대각 원소는 \(a_{ii} = \overline{a_{ii}}\) 이므로 실수여야 한다.

예시 (Strang §10.2):

\[ A = \begin{pmatrix} 2 & 3 - 3i \\ 3 + 3i & 5 \end{pmatrix} \]

대각 성분 \(2, 5\) 는 실수, 비대각 쌍 \(3 - 3i\)\(3 + 3i\) 는 서로 켤레. 실수 대칭 행렬은 Hermitian 의 특수 경우다 (허부가 전부 0).

4.2 3대 황금 성질

실 대칭 행렬이 선형대수의 최우수 행렬이 되는 세 가지 이유를 Hermitian도 그대로 이어받는다.

4.2.1 성질 1: 이차형식은 항상 실수

\[ \mathbf{z}^H A \mathbf{z} \in \mathbb{R} \quad \text{when } A = A^H \]

증명: \(\mathbf{z}^H A \mathbf{z}\)\(1\times 1\) 스칼라이므로 켤레전치해도 자기 자신.

\[ (\mathbf{z}^H A \mathbf{z})^H = \mathbf{z}^H A^H \mathbf{z} = \mathbf{z}^H A \mathbf{z} \]

자기 자신과 켤레가 같으므로 실수. \(\square\)

예시 확인: 위 \(A\) 에서

\[ \mathbf{z}^H A \mathbf{z} = 2|z_1|^2 + 5|z_2|^2 + (3-3i)\bar{z}_1 z_2 + (3+3i)z_1 \bar{z}_2 \]

대각 항은 실수, 비대각 두 항은 서로 켤레이므로 합은 실수. 전체가 실수.

4.2.2 성질 2: 모든 고유값은 실수

정리: \(A = A^H\) 이면 \(\lambda \in \mathbb{R}\).

증명: \(A\mathbf{z} = \lambda\mathbf{z}\) (\(\mathbf{z} \neq \mathbf{0}\)). 양변 왼쪽에 \(\mathbf{z}^H\) 곱하면

\[ \mathbf{z}^H A \mathbf{z} = \lambda\, \mathbf{z}^H \mathbf{z} \]

좌변은 성질 1에 의해 실수. 우변의 \(\mathbf{z}^H \mathbf{z} = \|\mathbf{z}\|^2 > 0\) 도 실수. 두 실수의 비율 \(\lambda\) 도 실수. \(\square\)

예시 확인: 위 \(A\) 의 특성다항식

\[ \det(A - \lambda I) = (2 - \lambda)(5 - \lambda) - |3 + 3i|^2 = \lambda^2 - 7\lambda + 10 - 18 = (\lambda - 8)(\lambda + 1) \]

고유값 \(\lambda = 8, -1\). 둘 다 실수.

4.2.3 성질 3: 다른 고유값의 고유벡터는 직교

정리: \(A = A^H\), \(A\mathbf{z} = \lambda\mathbf{z}\), \(A\mathbf{y} = \mu\mathbf{y}\), \(\lambda \neq \mu\) 이면 \(\mathbf{y}^H \mathbf{z} = 0\).

증명: \(A\mathbf{z} = \lambda\mathbf{z}\) 왼쪽에 \(\mathbf{y}^H\) 곱:

\[ \mathbf{y}^H A \mathbf{z} = \lambda\, \mathbf{y}^H \mathbf{z} \tag{*} \]

\(A\mathbf{y} = \mu\mathbf{y}\) 켤레전치 후 오른쪽에 \(\mathbf{z}\) 곱: \(\mathbf{y}^H A^H = \bar{\mu}\,\mathbf{y}^H\). \(A = A^H\) 이고 성질 2에서 \(\mu\) 실수이므로 \(\bar{\mu} = \mu\).

\[ \mathbf{y}^H A \mathbf{z} = \mu\, \mathbf{y}^H \mathbf{z} \tag{**} \]

(*) 와 (**)의 좌변이 같으므로 \((\lambda - \mu)\mathbf{y}^H \mathbf{z} = 0\). \(\lambda \neq \mu\) 이므로 \(\mathbf{y}^H \mathbf{z} = 0\). \(\square\)

4.3 스펙트럼 정리 (복소판)

세 성질을 묶으면 다음 분해가 나온다.

정리: Hermitian 스펙트럼 분해

\(A = A^H\) 이면

\[ A = U \Lambda U^H \]

로 분해된다. 여기서

  • \(\Lambda\)실수 대각 행렬 (고유값)
  • \(U\) 는 orthonormal 열을 갖는 unitary 행렬 (\(U^H U = I\)), 열이 고유벡터

실 대칭의 \(A = Q \Lambda Q^\top\) 의 복소판이다.

증명 스케치: 성질 3으로 다른 고유값의 고유벡터는 직교. 같은 고유값이 중복되면 그 고유공간 안에서 Gram-Schmidt (복소판)로 orthonormal 기저를 잡는다. 전체를 unitary \(U\) 로 묶으면 \(A U = U \Lambda\), 양변에 \(U^H\) 곱하면 \(U^H A U = \Lambda\), 정리하면 \(A = U \Lambda U^H\).

직관: 양자역학의 핵심

양자역학은 관측 가능량(위치·운동량·에너지 등)을 Hermitian 연산자 \(\hat{O}\) 로 모델링한다. 측정값은 \(\hat{O}\) 의 고유값이며, 이 고유값이 실수이므로 물리적으로 측정 가능한 수가 된다. 측정 직후 상태는 해당 고유벡터로 “붕괴”하며, 서로 다른 측정값의 고유벡터가 직교하므로 이들을 기저로 하여 상태를 분해할 수 있다.

즉 Hermitian 의 세 성질 (실 고유값·직교 고유벡터·spectral 분해)이 정확히 양자역학 측정 공리의 수학적 골격이다. 실수 세계만 다뤘다면 양자역학 자체가 성립하지 않는다.


5 Unitary 행렬

5.1 정의

정의: Unitary 행렬

\(U^H U = I\) 를 만족하는 정방 복소 행렬을 Unitary 행렬이라 한다. 등가적으로

\[ U^{-1} = U^H \]

실 직교 행렬 \(Q^\top Q = I\) 의 복소판이다. 예: 푸리에 행렬 \(F_n / \sqrt{n}\), 양자 게이트 (Hadamard, Pauli, CNOT 등), 복소 회전.

5.2 두 가지 핵심 성질

5.2.1 성질 A: 길이 보존

\[ \|U\mathbf{z}\| = \|\mathbf{z}\| \]

증명:

\[ \|U\mathbf{z}\|^2 = (U\mathbf{z})^H (U\mathbf{z}) = \mathbf{z}^H U^H U \mathbf{z} = \mathbf{z}^H \mathbf{z} = \|\mathbf{z}\|^2 \quad \square \]

5.2.2 성질 B: 내적 보존

\[ (U\mathbf{u})^H (U\mathbf{v}) = \mathbf{u}^H \mathbf{v} \]

증명은 위와 동일한 전개. 따라서 각도·직교성·길이 모두 보존된다. 기하학적으로 복소 공간의 “회전·반사”다.

5.3 고유값: 단위원 위에 있다

정리: Unitary 행렬의 모든 고유값은 \(|\lambda| = 1\).

증명: \(U\mathbf{z} = \lambda\mathbf{z}\) 이면 \(\|\mathbf{z}\| = \|U\mathbf{z}\| = |\lambda|\|\mathbf{z}\|\). \(\mathbf{z} \neq \mathbf{0}\) 이므로 \(|\lambda| = 1\). \(\square\)

즉 고유값은 복소평면 단위원 위의 점 \(e^{i\theta}\) 형태다.

5.4 스펙트럼 정리

Unitary 행렬도 스펙트럼 분해가 가능하다.

\[ U = V \Lambda V^H, \qquad V^H V = I,\; \Lambda = \text{diag}(e^{i\theta_1}, \dots, e^{i\theta_n}) \]

고유값이 모두 단위원 위이므로 \(\Lambda\) 는 “대각 위상 행렬”이 된다. 이는 양자 시간 진화 \(U(t) = e^{-iHt/\hbar}\) 를 대각화해 해석하는 기초다.

직관: Unitary 는 “각도계를 흔들지 않는 변환”

Unitary 변환은 복소 공간의 기저를 회전·반사한다. 모든 벡터 쌍의 상대적 길이·각도가 보존되므로, 보는 좌표계만 바뀌고 물리는 그대로다.

양자역학에서 상태 벡터 \(|\psi\rangle\) 의 시간 진화 \(|\psi(t)\rangle = U(t)|\psi(0)\rangle\) 가 unitary 여야 하는 이유가 정확히 이것이다. 모든 가능한 결과의 확률 합이 1이어야 하고, 이는 \(\|\psi\| = 1\) 유지를 요구한다. Unitary 만이 이 보존을 만들어 낸다.

실 공간의 “자(ruler)를 회전시켜도 길이 측정은 그대로”를 복소 공간으로 옮긴 개념이다.


6 Skew-Hermitian: 허수 고유값의 주인

6.1 정의

\(K^H = -K\) 인 행렬을 skew-Hermitian 이라 한다. 실 반대칭(skew-symmetric) 의 복소판이다. 성분 조건: \(k_{ij} = -\overline{k_{ji}}\), 특히 대각 원소는 \(k_{ii} = -\overline{k_{ii}}\) 이므로 순허수여야 한다.

6.2 성질: 고유값이 순허수

정리: Skew-Hermitian 의 모든 고유값은 순허수 (\(\lambda = i\mu, \mu \in \mathbb{R}\)).

증명: \(K\mathbf{z} = \lambda\mathbf{z}\) 양변에 \(\mathbf{z}^H\) 곱:

\[ \mathbf{z}^H K \mathbf{z} = \lambda\, \mathbf{z}^H \mathbf{z} \]

좌변 켤레: \((\mathbf{z}^H K \mathbf{z})^H = \mathbf{z}^H K^H \mathbf{z} = -\mathbf{z}^H K \mathbf{z}\). 자기 자신의 음수 켤레 = 순허수. 우변의 \(\mathbf{z}^H\mathbf{z}\) 는 양의 실수. 따라서 \(\lambda\) 는 순허수. \(\square\)

6.3 Hermitian ↔︎ Skew-Hermitian ↔︎ Unitary 의 다리

놀라운 사실: \(H\) 가 Hermitian이면 \(e^{iH}\) 가 Unitary다.

\[ U = e^{iH}, \quad U^H = e^{-iH^H} = e^{-iH}, \quad U^H U = e^{-iH} e^{iH} = I \]

역으로 unitary \(U\) 의 로그 \(\log U\) 는 skew-Hermitian (\(K\) = \(iH\) 로 쓰면 \(K^H = -K\)). 이 지수/로그 관계가 양자역학 시간 진화의 기본 공식 \(U(t) = e^{-i\hat{H} t/\hbar}\) 의 수학적 배경이다. Hamiltonian \(\hat{H}\) 가 Hermitian이어야 시간 진화 \(U(t)\) 가 unitary이고, 그래야 확률이 보존된다.


7 정규 행렬 (Normal Matrix): 더 넓은 우산

7.1 정의와 특성

\(A^H A = A A^H\) 를 만족하는 행렬을 정규(normal) 행렬이라 한다. 조건은 “자기 자신과 수반이 교환 가능”이라는 것. 다음 모두 정규다.

  • Hermitian: \(A^H = A\), \(A^H A = A^2 = A A^H\). 당연
  • Skew-Hermitian: \(K^H = -K\), \(K^H K = -K^2 = K K^H\)
  • Unitary: \(U^H U = I = U U^H\)

7.2 일반 스펙트럼 정리

정리: \(A\)정규 행렬 \(\iff\) \(A = U \Lambda U^H\) (unitary 대각화 가능).

“unitary 대각화 가능”의 정확한 특성이 정규성이다. Hermitian·skew-Hermitian·unitary 는 모두 정규의 특수 경우이고, 이들을 합쳐 고유값 조건으로 구분할 수 있다.

행렬 클래스 정의 고유값 위치
Hermitian \(A = A^H\) 실축 (\(\mathbb{R}\))
Skew-Hermitian \(K^H = -K\) 허축 (\(i\mathbb{R}\))
Unitary \(U^H U = I\) 단위원 (\(|\lambda| = 1\))
일반 정규 \(A^H A = A A^H\) 일반 복소평면

“복소평면의 특정 기하 구조”와 “행렬 클래스”가 1:1 대응한다. 이 표가 복소 선형대수 스펙트럼 이론의 가장 우아한 요약이다.


8 응용

8.1 양자역학

대상 수학적 표현 역할
상태 단위 길이 \(|\psi\rangle \in \mathbb{C}^n\) 확률 진폭
관측 가능량 Hermitian 연산자 \(\hat{O}\) 측정값 = 고유값 (실수)
측정 결과 분포 \(|\langle e_i | \psi \rangle|^2\) 고유벡터 기저에서의 사영 제곱
시간 진화 Unitary \(U(t) = e^{-i\hat{H}t/\hbar}\) 확률 보존
양자 게이트 (Pauli \(X, Y, Z\), Hadamard \(H\), CNOT) \(2\times 2\) 또는 \(4\times 4\) unitary 양자 논리 회로 연산

예: Pauli-Z 게이트 \(Z = \begin{pmatrix}1 & 0\\ 0 & -1\end{pmatrix}\) 는 Hermitian이자 Unitary이다 (\(Z = Z^H = Z^{-1}\)). 이는 “자기 자신이 수반이자 역원”이라는 드문 성질이며, \(Z^2 = I\) 로 자기역원이다.

8.2 신호처리

이산 푸리에 변환 행렬 \(F_n\) (정규화 \(F_n/\sqrt{n}\)) 은 unitary다. 즉 시간 도메인 → 주파수 도메인 변환이 에너지를 보존한다 (Parseval 정리):

\[ \|\mathbf{c}\|^2 = \frac{1}{n}\|F_n \mathbf{c}\|^2 \]

이것이 스펙트럼 분석·필터링 설계의 수학적 기반이다.

8.3 머신러닝과 딥러닝

  • PCA / Whitening: 공분산 행렬 \(\Sigma\) 는 실 대칭 (Hermitian의 실수 경우). 스펙트럼 분해 \(\Sigma = Q\Lambda Q^\top\) 에서 \(Q\) 가 주성분, \(\Lambda\) 가 분산.
  • Orthogonal / Unitary RNN: RNN의 은닉 상태 전이 행렬을 unitary 로 제약하면 시간에 따라 gradient 크기가 보존되어 장기 의존성 학습이 쉬워진다 (Arjovsky et al., 2016).
  • Spectral GNN: 그래프 라플라시안 \(L\) 은 대칭 반양정치 (Hermitian). 스펙트럼 분해로 주파수 도메인에서 그래프 컨볼루션을 정의.
  • Attention: Softmax의 입력은 \(QK^\top\) 이고, 이 행렬의 특이값 분포가 “attention rank” 분석의 대상 (\(A^H A\) 스펙트럼).

8.4 수치 선형대수

  • QR 알고리즘의 실제 구현은 Hermitian 중간 형태(Hessenberg → 삼중대각)로 환원 후 진행. 이는 실수 대칭에서는 삼중대각 실 행렬, 복소 Hermitian에서는 삼중대각 실 행렬(대각은 실수, 아래/위 한 줄은 켤레쌍)이 된다.
  • Lanczos 반복은 Hermitian에 특화된 Arnoldi로, 3항 점화식만 필요해 극도로 효율적이다.

9 코드 예시

9.1 Step 1: Hermitian 검증과 스펙트럼 분해

코드
import numpy as np

# Strang 예시의 Hermitian 행렬
A = np.array([[2,     3 - 3j],
              [3 + 3j, 5    ]], dtype=complex)

print(f"A == A^H ? {np.allclose(A.conj().T, A)}")

# 고유분해 (eigh는 Hermitian 전용, 실수 고유값 보장)
w, V = np.linalg.eigh(A)
print(f"고유값 (실수): {w}")
print(f"V^H V = I ? {np.allclose(V.conj().T @ V, np.eye(2))}")

# 스펙트럼 재구성 A = V Λ V^H
A_recon = V @ np.diag(w) @ V.conj().T
print(f"재구성 오차: {np.linalg.norm(A - A_recon):.2e}")

# 이차형식 z^H A z 가 실수인지 확인
z = np.array([1 + 2j, 3 - 1j])
val = z.conj() @ A @ z
print(f"z^H A z = {val}  (허부 ≈ 0이어야 함)")

9.2 Step 2: Unitary 검증과 고유값

코드
import numpy as np

n = 4
# 랜덤 복소 행렬 → QR로 Unitary 추출
M = np.random.randn(n, n) + 1j*np.random.randn(n, n)
U, _ = np.linalg.qr(M)

print(f"U^H U = I ? {np.allclose(U.conj().T @ U, np.eye(n))}")

# 길이 보존
z = np.random.randn(n) + 1j*np.random.randn(n)
print(f"||z||    = {np.linalg.norm(z):.4f}")
print(f"||U z||  = {np.linalg.norm(U @ z):.4f}")

# 고유값은 단위원 위
w = np.linalg.eigvals(U)
print(f"|λ| = {np.abs(w)}  (모두 1)")
print(f"arg(λ) = {np.angle(w)}  rad")

9.3 Step 3: 양자역학 시간 진화

코드
import numpy as np
from scipy.linalg import expm

# Pauli-X 해밀토니안 (2-level system)
sigma_x = np.array([[0, 1], [1, 0]], dtype=complex)

# H가 Hermitian인지 확인
print(f"H = H^H ? {np.allclose(sigma_x.conj().T, sigma_x)}")

# 시간 진화 연산자 U(t) = exp(-i H t)
t = np.pi / 4
U = expm(-1j * sigma_x * t)

print(f"U^H U = I ? {np.allclose(U.conj().T @ U, np.eye(2))}")

# 초기 상태 |0> = (1, 0)
psi0 = np.array([1, 0], dtype=complex)
psi_t = U @ psi0
print(f"진화 후 상태: {psi_t}")
print(f"확률 합 = |ψ|^2 합 = {np.sum(np.abs(psi_t)**2):.4f}  (항상 1)")

이 코드의 핵심: Hermitian 해밀토니안의 지수가 자동으로 unitary가 되며, 어느 시각 \(t\) 에도 상태 벡터의 길이가 1로 유지된다. 이것이 “확률은 사라지지도 생기지도 않는다”는 양자역학의 기본 공리의 수학적 구현이다.

9.4 Step 4: Skew-Hermitian과 순허수 고유값

코드
import numpy as np

# Skew-Hermitian 행렬 구성
H = np.array([[1 + 2j, 3], [4, 5 - 1j]], dtype=complex)
K = H - H.conj().T    # K = H - H^H 은 skew-Hermitian

print(f"K^H = -K ? {np.allclose(K.conj().T, -K)}")

# 고유값이 순허수인지 확인
w = np.linalg.eigvals(K)
print(f"고유값: {w}")
print(f"실부 (≈0 이어야 함): {w.real}")

10 실수 ↔︎ 복소 대응 표 (재수록)

Strang §10.2 말미의 표를 이 포스트의 결론으로 다시 제시한다.

영역 실수 복소수
공간 \(\mathbb{R}^n\) \(\mathbb{C}^n\)
길이 제곱 \(\mathbf{x}^\top\mathbf{x}\) \(\mathbf{z}^H\mathbf{z}\)
전치 규칙 \((AB)^\top = B^\top A^\top\) \((AB)^H = B^H A^H\)
내적 \(\mathbf{x}^\top\mathbf{y}\) \(\mathbf{u}^H\mathbf{v}\)
수반 성질 \((A\mathbf{x})^\top\mathbf{y} = \mathbf{x}^\top A^\top \mathbf{y}\) \((A\mathbf{u})^H\mathbf{v} = \mathbf{u}^H A^H \mathbf{v}\)
대칭/Hermitian \(A = A^\top\) \(A = A^H\)
반대칭/Skew-H \(K^\top = -K\) \(K^H = -K\)
직교/Unitary \(Q^\top Q = I\) \(U^H U = I\)
스펙트럼 정리 \(A = Q\Lambda Q^\top\) \(A = U\Lambda U^H\)
고유값 (대칭/Hermitian) 실수 실수
고유값 (직교/Unitary) \(\pm 1\) 또는 \(e^{\pm i\theta}\) \(|\lambda| = 1\)

한 가지 치환(\(^\top \to ^H\))만으로 모든 줄이 이전된다. 이 체계적 대응이 Strang §10.2 의 핵심 메시지다.


11 관련 주제

선행 지식

후속 주제

다른 카테고리 연결

참고 교재

  • Strang (2009) Introduction to Linear Algebra Ch.10 §10.2 — 본 포스트의 논리 뼈대
  • Trefethen & Bau (1997) Numerical Linear Algebra Lect.1–4 — 복소 내적·수반·unitary
  • Horn & Johnson Matrix Analysis Ch.2, 4 — 정규 행렬의 완전한 이론
  • Nielsen & Chuang Quantum Computation and Quantum Information Ch.2 — 양자역학에서의 Hermitian·unitary

Subscribe

Enjoy this blog? Get notified of new posts by email: