다양체 — 국소적으로는 평탄한 공간
다양체 — 국소적으로는 평탄한 공간
점 근방에서는 처럼 매끄럽게 좌표를 줄 수 있지만 전체로는 휘어 있을 수 있는 공간 — 차트와 아틀라스로 다양체를 정의하고, 의 입체사영으로 한 번에 만져 본다.
들어가며
1장에서 이미 한 번 등장한 단어 — 배위공간 은 다양체다 — 가 이 장의 주제다. 다양체의 정식 정의는 두 문장으로 끝나지만, 그 두 문장을 받아들이려면 차트(chart)와 아틀라스(atlas)라는 두 도구가 먼저 자리잡아야 한다. 이 장이 끝나면 독자는 단위 구면 위의 모든 점에 좌표를 줄 수 있는 입체사영 두 장을 직접 적을 수 있고, 단진자·이중진자·강체의 배위공간이 왜 이 아니라 , , 인지를 한 문장으로 설명할 수 있어야 한다.
본론 1 — 두 문장으로 끝나는 정의
차원 다양체 이란, 국소적으로 처럼 보이는 공간이다. 정식으로는 이렇다: 의 모든 점 에 대해, 를 포함하는 열린 이웃 와 동형사상 의 쌍 — 이를 차트(chart) 라 부른다 — 이 존재한다. 그리고 두 차트 , 의 정의역이 겹치는 곳 위에서, 전이함수(transition map) 가 매끄러우면, 을 매끄러운 다양체(smooth manifold) 라 부른다.
차트는 어휘로 말하자면 지도 한 장이다. 한 장의 지도는 지구 전체를 덮을 수 없으니, 여러 장을 모아 두어야 한다 — 그 모음이 아틀라스(atlas) 다. 두 지도가 겹치는 곳에서 위도·경도 좌표가 매끄럽게 변환된다면, 이 아틀라스는 매끄러운 구조를 정의한다.
구체적 예 네 개를 적어 두자.
- : 단 한 장의 차트 로 끝난다. 1차원이면 직선, 2차원이면 평면.
- (1차원 원): 위쪽 반원과 아래쪽 반원, 두 장의 차트로 덮인다.
- (2차원 구면): 북극에서의 입체사영과 남극에서의 입체사영, 두 장으로 덮인다.
- ( 차원 토러스): 각 마다 두 장씩, 총 장의 곱-차트로 덮인다.
이 네 개가 해석역학에서 만나는 배위공간의 거의 전부다.
본론 2 — 의 입체사영
가장 손에 잡히는 예가 의 입체사영(stereographic projection)이다. 안에 단위 구면 을 놓는다. 북극 에서 시작해 위의 점 을 지나는 직선이 평면 과 만나는 점 를 그 점의 좌표로 삼는다. 닮음비를 풀면
이 사상이 다. 분모 가 0 이 되는 곳은 정확히 한 점이므로, 차트의 정의역에서 만 빠진다. 마찬가지로 남극 에서 사영하면
이 두 번째 차트 가 만 빼고 모두 덮는다. 둘을 합치면 의 모든 점이 적어도 한 장의 차트 안에 들어간다.
겹치는 영역 위에서 전이함수는 어떻게 생겼는가? 의 역사상으로 를 위 점으로 되돌렸다가 다시 로 사영하면, 직접 계산해 보면 다음의 깔끔한 모양으로 떨어진다.
이는 위에서 매끄럽다 — 분모가 0 이 되는 원점은 북극 에 해당하고, 이미 정의역에서 빠져 있다. 따라서 두 입체사영은 매끄러운 아틀라스를 이루고, 는 매끄러운 2차원 다양체다.
본론 3 — 배위공간이 다양체여야 하는 이유
이제 1장의 약속을 회수하자. 평면 단진자의 일반좌표 는 위에 산다고 적으면 곤란하다 — 와 는 같은 물리 상태이기 때문이다. 즉 단진자의 배위공간은 이 아니라 이다. 로 적고 풀어도 운동 방정식의 해는 맞지만, 주기성·각도 모듈로 연산을 손으로 끌고 다녀야 한다.
이중진자는 두 각 의 쌍이고, 각각이 독립적으로 위에 사니까 배위공간은 다. 평면 가 아니다. 둘의 차이는 시각화에서 가장 분명히 드러난다 — 토러스 위의 궤적은 두 방향에서 모두 “감겨” 돌아오는데, 그림은 이 감김을 표현하지 못한다.
강체의 회전 자세는 어떨까? 3차원 회전군 은 행렬 9 개로 적히지만 직교성·행렬식 1 이라는 6 개의 구속을 만족해 자유도는 3 이다. 은 3차원 매끄러운 다양체이고 — 동시에 군이라서 리 군(Lie group) 이라 부른다 — 벡터공간이 아니다. 오일러 각을 그대로 좌표인 양 다루면 짐벌락(gimbal lock) 같은 좌표 특이점이 출몰한다. 이는 을 단 한 장의 차트로 덮으려 한 결과이지, 물리의 병이 아니다.
요약하자면, 일반좌표가 살고 있는 공간을 다양체로 받아들이면 좌표 의존적인 인공물(주기성·짐벌락·구속력)을 식 바깥에 둘 수 있다. 차트는 계산을 위한 도구이고, 다양체 자체는 좌표에 앞서 존재한다는 시점 — 이것이 5장에서 다룰 벡터장으로 이어진다.
파이썬으로 확인
# S^2 위에서 균일하게 1000 점을 뽑아 북극 입체사영으로 평면에 내려 본다.
# 적도는 단위원으로, 남극은 원점으로 사영된다.
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng(0)
target = 1000
xs, ys, zs = [], [], []
while len(xs) < target:
# 마르사글리아 방법: (u,v) ~ U(-1,1), u^2+v^2 <= 1 만 채택
u = rng.uniform(-1.0, 1.0, size=2000)
v = rng.uniform(-1.0, 1.0, size=2000)
s = u*u + v*v
keep = s <= 1.0
u, v, s = u[keep], v[keep], s[keep]
root = np.sqrt(1.0 - s)
xs.extend((2 * u * root).tolist())
ys.extend((2 * v * root).tolist())
zs.extend((1.0 - 2.0 * s).tolist())
x = np.array(xs[:target]); y = np.array(ys[:target]); z = np.array(zs[:target])
# 북극 (0,0,1) 에서의 입체사영
mask = z < 1.0 - 1e-6
U = x[mask] / (1.0 - z[mask])
V = y[mask] / (1.0 - z[mask])
plt.figure(figsize=(5, 5))
plt.scatter(U, V, s=4, alpha=0.5)
plt.gca().set_aspect("equal")
plt.xlim(-4, 4); plt.ylim(-4, 4)
plt.xlabel("u"); plt.ylabel("v")
plt.title("Stereographic projection of $S^2$ from N")
plt.show()
적도 () 의 점들은 정확히 단위원 위에 떨어지고, 남극 근방의 점들은 원점 근방에 모인다. 북극에 가까울수록 사영된 점은 무한히 멀리 날아가며, 차트의 정의역에서 빠진 한 점이 무엇인지 그림이 직접 말해 준다.
다음 장으로
5장: 벡터장과 흐름에서는 다양체 위의 “방향”이 좌표 없이 어떻게 정의되는지를 다룬다. 각 점에 접선벡터를 하나씩 붙인 것이 벡터장, 그 벡터장을 따라가는 1-매개 변환군이 흐름(flow)이다. 이 장에서 만진 차트와 전이함수는 그때 접공간(tangent space)이 좌표계 사이에서 어떻게 변환되는지를 결정하는 야코비로 다시 등장한다.