해밀토니안: 위치와 운동량으로 적은 에너지
그네의 상태는 위상공간의 점 하나였고, 시간이 흐르면 그 점은 원을 따라 돌았다. 그네는 운동을 손으로 풀 수 있었지만, HMC가 공을 굴리는 수백 차원의 땅처럼 운동을 식으로 풀 수 없는 계가 훨씬 많다. 그렇다면 거꾸로, 그네의 운동을 풀지 않고 에너지의 식 E(q, p)만 보고도 평면의 각 점에서 상태가 어느 방향으로 얼마나 빨리 움직이는지 알아낼 수 있을까?
역사: 광선에서 궤도로
1827년, 아직 더블린 트리니티 칼리지의 학부생이던 해밀턴은 천문학 교수로 임명될 만큼 이름난 수재였다. 그런데 그의 첫 대작은 역학이 아니라 광학이었다. 1827~1828년의 「광선계 이론」에서 해밀턴은 렌즈와 거울을 지나는 광선을 하나씩 따라가는 대신, 광선 다발 전체를 하나의 함수로 적는 방법을 만들었다. 이 방법은 계산 요령에 그치지 않았다. 1832년 그는 이 이론으로 어떤 결정(두 방향으로 빛을 가르는 결정)에 빛을 알맞은 각도로 비추면 빛이 속이 빈 원뿔 모양으로 퍼져 나온다는, 아무도 본 적 없는 현상을 예언했고, 동료 로이드가 두 달이 채 안 되어 아라고나이트 결정으로 그 원뿔을 실제로 보았다. 그 뒤 해밀턴은 같은 수학이 행성과 포탄의 운동에도 통한다는 것을 알아챘다. 빛이 가장 빨리 도착하는 길을 고르듯, 물체도 작용(경로마다 매기는 점수)이 정류하는, 곧 경로를 조금 바꿔도 점수가 거의 변하지 않는 길을 고르기 때문이다. 그가 1834년과 1835년에 발표한 두 편의 역학 논문(「역학의 일반적 방법에 관하여」)은 이 닮음을 끝까지 밀고 나가, 두 번 미분한 양인 가속도가 든 방정식 하나를 위치와 운동량을 한 번 미분한 양만 든 방정식 두 개로 바꿔 적었다.

에너지를 미분하면 움직임이 나온다
질량과 각진동수를 1로 둔 그네(E = p²/2 + q²/2)를 q = 1에서 놓으면 q = cos t, p = −sin t로 움직였다. 그 가운데 t = π/4인 상태 (0.707, −0.707)에서 점이 움직이는 빠르기를 구해 보자. q = cos t와 p = −sin t를 시간으로 미분하면 q̇ = −sin t = −0.707, ṗ = −cos t = −0.707이다. 한편 에너지를 두 변수로 편미분하면 ∂E/∂q = q = 0.707, ∂E/∂p = p = −0.707이다. 네 값을 나란히 놓으면 q̇은 ∂E/∂p와 같고, ṗ는 ∂E/∂q에 마이너스를 붙인 것과 같다. 다른 줄에서 계산해 보아도 마찬가지다.
이 관계는 그네에만 성립하는 우연이 아니다. 그 까닭을 보려면 에너지가 어디서 왔는지 되짚어야 한다. 운동을 적는 또 하나의 함수인 라그랑지안 L은 운동에너지에서 위치에너지를 뺀 것(L = K − U)이고, 운동량은 L을 속도로 미분한 값이다. 그네에서는 L = q̇²/2 − q²/2이므로 p = q̇이고, t = π/4에서 pq̇ − L을 계산하면 (−0.707)(−0.707) − (0.25 − 0.25) = 0.5로 표의 에너지와 같다. 「기울기를 새 변수로 삼고, 새 변수 곱하기 원래 변수에서 원래 함수를 뺀다」는 이 조작을 르장드르 변환이라 한다. 곧 에너지는 라그랑지안 L(q, q̇)을 속도에 대해 르장드르 변환한 E = pq̇ − L이고, 르장드르 변환한 함수를 새 변수로 미분하면 원래 변수가 돌아오므로 ∂E/∂p = q̇은 어떤 계에서나 성립한다. 위치 쪽은 조금 더 계산이 필요하다. 운동량 p를 고정한 채 E를 q로 미분하면, q̇이 q에 따라 바뀌면서 생기는 항들은 p = ∂L/∂q̇ 때문에 서로 지워지고 ∂E/∂q = −∂L/∂q만 남는다. 여기에 라그랑지안으로 적은 운동방정식, 곧 오일러–라그랑주 방정식(작용이 정류하는 경로가 만족하는 방정식) d(∂L/∂q̇)/dt = ∂L/∂q를 운동량으로 다시 쓴 ṗ = ∂L/∂q를 합치면 ṗ = −∂E/∂q가 된다. 두 번 미분한 양(가속도)이 든 방정식 하나가 위치와 운동량을 한 번 미분한 양만 든 방정식 두 개로 나뉜 것이다.
위치와 운동량의 함수라는 것
그런데 에너지는 속도로도 적을 수 있고(운동에너지 ½mq̇²), 위치와 운동량으로도 적을 수 있다. 어느 쪽으로 적어야 q̇ = ∂E/∂p, ṗ = −∂E/∂q가 성립할까? 위의 두 식을 유도할 때 운동량을 고정한 채 위치로 미분했듯, 편미분이 제 뜻을 가지려면 에너지는 반드시 위치와 운동량의 함수로 적혀 있어야 한다. 그렇게 적은 에너지를 해밀토니안 (위상공간 위의 에너지 함수, Hamiltonian)이라 부르고 ℋ로 쓴다. 라그랑지안을 속도에 대해 르장드르 변환한 것이 곧 해밀토니안이다.
엔트로피를 H로 쓰는 이 책에서는 둘을 구별하려고 해밀토니안을 필기체 ℋ로 쓴다. 운동량 p도 확률의 p와 글자만 같으므로, 이 장에서 확률밀도는 ρ(로)로, 표본을 뽑으려는 목표 분포는 π로 쓴다. ℋ의 값은 에너지와 같지만, 이름을 따로 붙이는 이유는 「위치와 운동량의 함수로 적혀 있다」는 사실이 미분의 뜻을 정하기 때문이다.
ML에서: 확률을 위치에너지로
해밀토니안은 실제 물리계의 에너지를 적은 것이지만, 거꾸로 아무 함수나 위치에너지로 삼아 해밀토니안을 지어낼 수도 있다. 이 장 첫머리의 HMC가 바로 그렇게 한다. 표본을 뽑으려는 분포 π(q)의 음의 로그 −ln π(q)를 위치에너지 U(q)로 삼고, 실제로는 없던 운동량 p를 붙여 ℋ(q, p) = U(q) + ‖p‖²/2로 둔다. 확률이 높은 곳은 낮은 골짜기가 되고 확률이 낮은 곳은 높은 언덕이 된다. U의 기울기는 π에 곱해진 정규화 상수(합이 1이 되게 나누는 상수)와 상관이 없으므로, 사후분포처럼 정규화 상수를 모르는 분포에도 이 번역을 쓸 수 있다.
문제 4. 속도로 적은 에너지를 그대로 미분하면
질량 2인 추가 용수철에 매달려 있고, 위치에너지는 q²/2이다. 에너지를 속도로 적으면 E = q̇² + q²/2이다. 민준은 이 식의 속도 자리를 운동량 자리로 여겨 「q̇ = ∂E/∂q̇, (q̇의 변화율) = −∂E/∂q」로 운동을 풀었다. 이렇게 풀면 한 번 흔들리는 데 걸리는 시간은 얼마로 나오는가? 해밀토니안으로 제대로 풀면 얼마인가?

∂E/∂q̇ = 2q̇, ∂E/∂q = q니까 위치의 변화율이 2q̇, 속도의 변화율이 −q예요. 둘을 합치면 q̈ = −2q, 한 번 흔들리는 데 2π/√2 ≈ 4.44초요. 에너지도 계산해 봤는데 딱 보존돼요. 맞는 것 같은데요?

첫 줄을 다시 읽어 볼래요? 위치의 변화율이 무엇이라고 나왔죠?

2q̇요. 그런데 위치의 변화율은 정의상 q̇인데… 자기 자신의 두 배라니, 말이 안 되네요.

질량이 1이면 속도와 운동량이 같아서 이런 일이 안 보였던 거야. 운동량은 p = 2q̇이니까 에너지를 운동량으로 적으면 ℋ = p²/4 + q²/2이고, q̇ = ∂ℋ/∂p = p/2, ṗ = −q. 합치면 q̈ = −q/2라서 한 번 흔들리는 데 2π√2 ≈ 8.89초예요. 민준이 답의 딱 두 배네요.

에너지 값은 두 식이 똑같아요. 달라진 건 무엇의 함수로 적었느냐뿐이죠. 그리고 민준 학생의 틀린 풀이에서도 에너지는 보존됐어요. 에너지 검산이 모든 실수를 잡아 주지는 않는다는 것도 기억해 두세요.

값이 같아도 무엇의 함수로 적었느냐에 따라 편미분이 달라지는 거네요. 과제에서 보고서 표의 값만 맞추고 단위를 안 적었다가 조교한테 감점당한 거랑 비슷해요. 숫자는 같은데 무엇을 잰 숫자인지가 빠진 거죠.