변분 적분기

편집 역사 토론
수치해석 계산물리 물리 마지막 수정: 2026-07-27 04:52:18

1. 개요[편집]

변분 적분기(variational integrator)는 연속 시간의 운동방정식을 이산화하는 대신, 작용(action)을 먼저 이산화하고 그 이산 작용에 변분 원리를 직접 적용해서 만들어 내는 시간 적분기다. 즉 “미분방정식을 근사”하는 게 아니라 “변분 원리를 근사”한다. 순서를 한 칸 앞당긴 것뿐인데, 그 대가로 심플렉틱성과 운동량 보존이 공짜로, 그것도 정확하게 따라온다.

룽게-쿠타법 같은 범용 적분기는 한 스텝의 국소 오차를 줄이는 데 온 힘을 쏟는다. 잘 맞는다. 다만 100만 스텝쯤 돌리면 에너지가 슬금슬금 흘러내리거나 부풀어서, 행성이 태양으로 빨려 들어가거나 분자동역학 계가 혼자 뜨거워진다. 변분 적분기는 반대다. 한 스텝 오차는 그저 그렇지만 장시간 구조가 무너지지 않는다. 기하 수치적분이라는 분야 전체가 이 교환비 위에 서 있다.1

중력으로 서로 끌어당기는 입자 550개를 O(N²) 직접합과 velocity-Verlet으로 실제 적분한다. 여기서 핵심은 화면 속 궤도가 아니라 화면을 돌리고 있는 적분기 자체다 — velocity-Verlet(스퇴르머-베를레)은 사다리꼴 구적으로 만든 이산 라그랑지안에서 이산 오일러-라그랑주 방정식을 풀어 얻는 가장 단순한 변분 적분기이며, 그래서 이 계의 에너지는 오래 돌려도 한 방향으로 표류하지 않고 유계로 진동한다. 같은 시간 스텝의 명시적 오일러법이었다면 진작 부풀어 날아갔을 배치다. 단순화 — 2차원, 근접 특이점을 없애는 소프트닝 길이, 고정 시간 스텝(적응 스텝을 쓰는 순간 이 보존 성질이 깨진다).

2. 이산 해밀턴 원리[편집]

라그랑주 역학의 출발점은 작용의 정류다.

S[q]=t0tNL(q,q˙)dt,δS=0S[q] = \int_{t_0}^{t_N} L(q, \dot q)\,\mathrm{d}t, \qquad \delta S = 0

변분 적분기는 이 적분을 먼저 잘게 썬다. 시간 격자 tk=kht_k = kh 위에서 이산 라그랑지안

Ld(qk,qk+1)    tktk+1L(q,q˙)dtL_d(q_k, q_{k+1}) \;\approx\; \int_{t_k}^{t_{k+1}} L(q, \dot q)\,\mathrm{d}t

로 정의하고, 이산 작용합 Sd=k=0N1Ld(qk,qk+1)S_d = \sum_{k=0}^{N-1} L_d(q_k, q_{k+1}) 을 내부 점 qkq_k 에 대해 변분하면 이산 오일러-라그랑주(DEL) 방정식이 나온다.

D2Ld(qk1,qk)+D1Ld(qk,qk+1)=0D_2 L_d(q_{k-1}, q_k) + D_1 L_d(q_k, q_{k+1}) = 0

여기서 D1,D2D_1, D_2 는 첫 번째·두 번째 인수에 대한 편미분이다. 이 식은 qk1,qkq_{k-1}, q_k 가 주어지면 qk+1q_{k+1} 을 정하는 2단계 사상이고, 이산 르장드르 변환

pk=D1Ld(qk,qk+1)=D2Ld(qk1,qk)p_k = -D_1 L_d(q_k, q_{k+1}) = D_2 L_d(q_{k-1}, q_k)

으로 위치-운동량 1단계 사상으로 바꿔 쓸 수 있다. 적분기를 만드는 자유도는 딱 하나, LdL_d 를 어떤 구적으로 근사할 것인가뿐이다.

3. 스퇴르머-베를레는 사다리꼴 구적이다[편집]

가장 유명한 사례를 손으로 확인해 보자. L=12mq˙2V(q)L = \tfrac12 m \dot q^2 - V(q) 에 대해 속도를 전진차분으로, 퍼텐셜을 사다리꼴 규칙으로 잡으면

Ld(qk,qk+1)=h[m2(qk+1qkh)2V(qk)+V(qk+1)2]L_d(q_k, q_{k+1}) = h\left[\frac{m}{2}\left(\frac{q_{k+1}-q_k}{h}\right)^2 - \frac{V(q_k) + V(q_{k+1})}{2}\right]

이걸 DEL에 넣으면 정확히

mqk+12qk+qk1h2=V(qk)m\,\frac{q_{k+1} - 2q_k + q_{k-1}}{h^2} = -V'(q_k)

베를레 적분(스퇴르머-베를레) 이 나온다. 게임 엔진과 MD 코드가 수십 년째 아무 생각 없이 써 온 그 세 줄짜리 적분기가, 알고 보면 사다리꼴 구적으로 만든 변분 적분기였던 것이다.2 중점 규칙을 쓰면 암시적 중점법, 다단계 구적을 쓰면 고차 변분 적분기, 갈레르킨 구적을 쓰면 스펙트럴 변분 적분기가 같은 틀에서 줄줄이 나온다.

4. 왜 보존되는가[편집]

4.1. 심플렉틱성[편집]

DEL 사상은 이산 심플렉틱 2-형식 Ω=dqdp\Omega = \mathrm{d}q \wedge \mathrm{d}p 를 정확히 보존한다. 증명은 놀랍도록 짧다 — 이산 작용의 변분에서 경계항만 남기면 그것이 곧 1-형식이고, 외미분을 한 번 더 취하면 d2=0\mathrm{d}^2 = 0 이 나머지를 죽인다. 즉 심플렉틱성은 알고리즘에 억지로 끼워 넣은 성질이 아니라 변분 구조의 부산물이다. 리우빌 정리가 말하는 위상공간 부피 보존도 여기서 따라온다.

4.2. 이산 뇌터 정리[편집]

LdL_d 가 어떤 군 작용에 대해 불변이면, 그에 대응하는 이산 운동량 사상이 정확히 보존된다. 근사적으로가 아니라 반올림 오차를 빼면 정확히. 중심력장에서 각운동량, 병진 대칭계에서 총 선운동량이 그 예다. 뇌터 정리 문서의 이산 버전이 바로 이것이다.

4.3. 에너지는 왜 표류하지 않는가[편집]

여기서 자주 나오는 오해 하나. 변분 적분기는 에너지를 정확히 보존하지 않는다. 대신 후방 오차 해석이 더 좋은 얘기를 해 준다. 심플렉틱 사상의 수치 흐름은, 원래 해밀토니안을 살짝 수정한 수정 해밀토니안(그림자 해밀토니안)

H~=H+h2H2+h4H4+\tilde H = H + h^2 H_2 + h^4 H_4 + \cdots

의 정확한 흐름과 지수적으로 가깝다. 적분기는 H~\tilde H 를 (사실상) 정확히 보존하므로, 우리가 보는 HH 의 오차는 H~H=O(h2)\tilde H - H = O(h^2) 안에서 진동할 뿐 누적되지 않는다. 에너지 그래프가 톱니처럼 흔들리되 우상향·우하향하지 않는 그 그림의 정체다.

단, 조건이 붙는다. 시간 스텝이 고정이어야 한다. 오차 제어를 위해 스텝을 그때그때 바꾸면 수정 해밀토니안이 스텝마다 달라져 보존 논리가 통째로 무너진다. 적응 스텝과 심플렉틱성은 원수지간이며, 굳이 둘 다 원하면 시간 자체를 정준변수로 승격시키는 포아송 재스케일링 같은 특수 처방이 필요하다.3

5. 리 군 위에서, 그리고 충돌이 있을 때[편집]

  • 강체와 리 군. 강체 동역학의 배위공간은 벡터공간이 아니라 SO(3)SO(3) 다. 여기에 일반 적분기를 쓰면 회전행렬이 직교성을 잃거나 사원수의 노름이 새서 매 스텝 재정규화를 하게 되는데, 이 재정규화가 바로 보존 구조를 깨는 범인이다. 리 군 변분 적분기(모저-베셀로프 계열)는 갱신을 군 위에서 직접 정의해 SO(3)SO(3) 를 정확히 유지하면서 각운동량도 정확히 보존한다. 재정규화가 아예 필요 없다.
  • 접촉·충돌(비평활). 충돌이 끼면 속도가 불연속이라 고전적 변분 구조가 그대로는 안 통한다. 비평활 변분 적분기는 스텝 안에서 접촉이 일어난 시각을 미지수로 승격시키고, 그 시각을 포함해 이산 작용을 정류시킨다. 충격량이 이산 운동량의 점프로 자연스럽게 튀어나오며, 관통을 허용하지 않으면서도 에너지를 인위적으로 넣거나 빼지 않는다는 것이 장점이다.
  • 소산이 있으면? 마찰·항력은 보존계가 아니라 변분 원리 밖이다. 이때는 라그랑주-달랑베르 원리로 확장해 이산 외력 항을 넣는다. 보존은 당연히 깨지지만, 깨지는 양이 물리적 소산과 일치하도록 설계할 수 있다는 것이 요점이다. 서모스탯이 붙은 MD도 같은 관점에서 다룬다.

6. 실무에서[편집]

천체역학의 장기 궤도 적분, MD의 마이크로정준 앙상블 샘플링, 로봇·다물체 동역학, 그리고 물리 엔진제약 해결기까지 — 오래 돌려야 하고 에너지가 새면 곤란한 곳이면 어디든 이 계열이 있다. 게임 쪽의 위치 기반 동역학/XPBD도 엄밀히는 변분 적분기라기보다 암시적 이산화 위에서 제약 투영을 반복하는 물건이지만, “이산 작용을 제약과 함께 최소화한다”는 발상은 확실히 같은 뿌리에서 왔다.

정리하면 이렇다. 정확도와 보존은 별개의 축이다. RK4는 한 스텝을 잘 맞히고, 변분 적분기는 100만 스텝을 버틴다. 어느 쪽이 필요한지는 문제가 정한다 — 다만 “일단 돌려” 놓고 밤새 방치할 계획이라면, 후자를 고르는 게 정신 건강에 이롭다.4

7. 관련 문서[편집]

8. Footnotes[편집]

  1. 마스든과 웨스트의 2001년 리뷰 Discrete mechanics and variational integrators 가 이 분야의 표준 출발점이다. 논문 제목 그대로 “이산 역학”이라는 독립된 이론 체계로 취급한다 — 적분기를 근사 도구가 아니라 그 자체로 하나의 역학계로 보겠다는 선언이다.

  2. 그래서 베를레를 “정확도 2차짜리 싸구려 적분기”로 소개하는 건 절반만 맞는 말이다. 차수는 낮지만 심플렉틱·시간가역·운동량 보존이라는 구조적 성질을 전부 갖췄고, 이건 차수 몇 개 올린다고 얻어지는 물건이 아니다. 게임 물리가 40년째 이걸 못 버리는 데는 이유가 있다.

  3. 그래서 심플렉틱 코드에서 “수렴 안 되니까 스텝 줄여”를 자동화하면 안 된다. 에너지 표류가 사라졌다며 좋아하다가 며칠 뒤 장기 궤도가 이상해진 걸 발견하는 게 이 바닥의 통과의례.

  4. 물론 반례도 있다. 근접 조우가 잦은 다체 문제나 화학반응이 얽힌 계처럼 국소 정확도가 절대적으로 중요한 곳에서는 고차 적응 적분기가 이긴다. 심플렉틱이 만능 부적은 아니고, 그저 “오래 돌릴 때 무엇이 깨지지 않기를 원하는가”에 대한 답일 뿐이다.