5.4.2 — 모함수와 교환 관계: 두 정의의 *동치성*
5.4.2 — 모함수와 교환 관계: 두 정의의 동치성
심플렉틱 조건 (§5.4.1) 과 생성 함수 (§5.3.2) 가 동치 — 모든 정준 변환은 어떤 생성 함수 에서 나온다. 교환 관계 (포아송 괄호) 의 불변성 으로도 같은 결론.
본문이 말하는 것
§5.3 의 두 정의가 동치 임을 명시.
정의 A (생성 함수). 가 어떤 매끄러운 함수 (Type 1, 또는 Type 2/3/4) 의 부분 미분 관계 로 표현됨.
정의 B (심플렉틱 조건). 자코비안 가 를 만족.
정의 C (포아송 괄호 보존). 새 변수 가 정준 포아송 관계 , 을 만족.
동치성: A ↔ B ↔ C.
증명 스케치.
- B ↔ C: 포아송 괄호의 행렬 형식 → 새 변수의 포아송 = 의 성분 → 심플렉틱 조건과 동치.
- A → B: 생성 함수에서 자코비안을 직접 계산해 심플렉틱 조건 만족 검증 (대수적, 본문).
- B → A (국소): 심플렉틱 조건을 만족하면 국소적으로 가 닫힌 1-형식 → 푸앵카레 보조정리 (§1.6.6) 로 국소적으로 정확함 → 가 국소적으로 존재.
이 3 동치성 이 정준 변환 이론의 가장 큰 결과 중 하나.
한 번 더, 천천히
(1) “국소적” 의 주의. B → A 의 함의는 국소적 — 위상학적으로 비자명한 위상공간에서는 전역 생성 함수가 없을 수 있다. 예: 콤팩트 심플렉틱 다양체 (S^2 위의 면적 형식) 에서 전역 좌표 (q, p) 자체가 없다 → 생성 함수도 부분적 정의.
(2) 포아송 괄호 보존의 기하학적 의미. ↔ 가 포아송 괄호를 보존. 두 정의가 같은 객체의 두 표현 — 심플렉틱 형식 과 포아송 텐서 가 서로 역. 한쪽 보존이면 다른 쪽도 자동.
(3) Dirac 의 양자화 처방. 고전 정준 변환 ↔ 양자 유니타리 변환. 고전적 가 양자 로 옮겨질 때 Wigner-Moyal 대응. 정준 변환은 양자 측에서 유니타리 변환의 고전 한계.
(4) Bogoliubov 변환의 고전 정체. 양자장 이론의 Bogoliubov 변환 — 생성·소멸 연산자의 정준 변환. 그 고전 한계가 정확히 §5.4.1 의 심플렉틱 변환. 진공 상태가 두 다른 진공 사이에서 정준 변환을 한다.
(5) 시간 진화의 정준성. 해밀턴 흐름 자체가 시간 매개 정준 변환 가족. 매 시각 가 정준 변환 — 해밀토니언이 그 생성 함수의 시간 의존 (정확히는 해밀턴 주함수 , §3.2.2). 시간 진화 = 정준 변환 가족의 적분곡선.
파이썬으로 확인 — 생성 함수에서 정준 변환 → 심플렉틱 검증
이 코드의 메시지는 단순하다: Type 2 생성 함수 (전단 변환) 에서 변환을 명시적 으로 도출하고, 그 자코비안이 자동으로 심플렉틱 조건을 만족함을 확인.
# 생성 함수 F_2(q, P) = qP + α P²/2
# Type 2 관계:
# p = ∂F_2/∂q = P
# Q = ∂F_2/∂P = q + α P
# 즉 변환: P = p, Q = q + α p — 전단 변환
import sympy as sp
import numpy as np
q, p, P_var, Q_var = sp.symbols('q p P Q', real=True)
alpha = sp.Symbol('alpha', real=True)
# F_2 = q P + α P²/2
F2 = q * P_var + alpha * P_var**2 / 2
# 변환 도출
p_expr = sp.diff(F2, q) # p = ∂F_2/∂q
Q_expr = sp.diff(F2, P_var) # Q = ∂F_2/∂P
print(f"F_2(q, P) = {F2}")
print(f"\nType 2 관계:")
print(f" p = ∂F_2/∂q = {p_expr}")
print(f" Q = ∂F_2/∂P = {Q_expr}")
# (q, p) → (Q, P) 변환 명시
# p = P → P = p
# Q = q + α P = q + α p
# 즉 변환 행렬 (Q, P) = T (q, p):
# Q = q + α p, P = p
T_matrix = sp.Matrix([[1, alpha],
[0, 1]])
print(f"\n변환 행렬 T = ∂(Q, P)/∂(q, p) =\n{T_matrix}")
# 심플렉틱 조건 검증
Omega = sp.Matrix([[0, 1], [-1, 0]])
check = T_matrix.T * Omega * T_matrix
print(f"\nT^T Ω T =\n{check}")
print(f"= Ω? {check == Omega}")
print(f" → 자동으로 심플렉틱 — 생성 함수의 위력")
# 수치 검증
alpha_val = 0.7
T_num = np.array([[1, alpha_val], [0, 1]])
Omega_num = np.array([[0, 1], [-1, 0]])
diff = T_num.T @ Omega_num @ T_num - Omega_num
print(f"\n수치 검증 (α={alpha_val}):")
print(f" T^T Ω T - Ω 의 norm: {np.linalg.norm(diff):.2e} (= 0 기대)")
이 결과는 생성 함수 → 변환 도출 → 심플렉틱 조건 자동 만족 의 대수적 자동성 을 보여 준다. 정의 A 가 정의 B 를 자동으로 만족 — 동치성의 한 방향.
다음 절(5.4.3)로 가는 다리
§5.4.1 의 심플렉틱 조건은 국소적 정의. 어떤 변환이 정준인가 의 충분조건 — 즉 국소 → 전역 의 확장 — 이 §5.4.3 의 주제. 그리고 언제 변환이 정준 인지의 조작적 검증법 도 정리된다.