본문으로 건너뛰기
436 / STRUCTURE-PRESERVING LAB
먼저 알아두면 좋아요 · 정준 좌표·이산화 오차·Jacobian
단원 목록 (600) · 원 구속의 RATTLE·사영·위상 오차
이해하는 속도로 읽으세요.개념도이론실험확인 문제
BUILD YOUR INTUITION

먼저 그림으로 이해하기

한 번에 한 단계씩 살펴보세요.

좋은 수치해법의 성질은 하나의 숫자로 요약되지 않습니다. 같은 시간의 상태·에너지·넓이·왕복을 함께 읽으세요.

Actual Cartesian updates on a free circle. RATTLE preserves energy in this special model but accumulates phase error. Constraint satisfaction alone does not prove canonical area preservation. A finite boundary update can have an undefined derivative.

파랑 RATTLE · 주황 정규화 사영. 초록은 자유 원 운동의 정확한 단계 위치입니다.

원 위의 실제 단계 위치 -1.0330.066991.167-1.11.1q_x · mq_y · m
같은 원에 놓여도 시각별 위치는 다를 수 있습니다. 선분은 단계 위치를 연결하며 원호 전체를 나타내지 않습니다. 정지한 경우 실제 조회점을 표시합니다.
누적 회전 위상 오차 -1.236-0.45870.3183-0.24.2t · stheta_n - theta_exact · rad
각도를 한 바퀴 안으로 접지 않습니다. RATTLE의 오차는 N(asin(nu)−nu)이며 음의 운동량이면 부호가 바뀝니다.
구속을 맞춘 뒤의 에너지 변화 -0.3667-0.16670.03333-0.24.2t · sE_n - E_0 · J
이 자유 원의 RATTLE 에너지 보존을 모든 구속계로 확대하지 않습니다. 사영은 두 구속을 맞추어도 에너지를 잃습니다.
각운동량 보존과 소산 -0.10.51.1-0.24.2t · sL_n · Js
사영의 L_n=L_0/sqrt(1+n nu²)입니다. 영 운동량 한 점에서 변화가 없다는 관찰은 전역 보존 법칙이 아닙니다.
위치 구속의 계산 잔차 -1.00e-12-1.67e-161.00e-12-0.24.2t · s(q dot q - R^2)/2 · m²
실제 Cartesian 갱신의 반올림 잔차를 보여 줍니다. 0으로 강제하지 않습니다.
접선 운동량 구속의 잔차 -1.00e-12-4.16e-171.00e-12-0.24.2t · sq dot p · Js
접선 구속과 위치 구속은 단위가 다릅니다. 작은 두 잔차만으로 올바른 위상·에너지·정준 구조를 인증하지 않습니다.
축약 위상 공간의 넓이 배율 -0.10.51.1-0.24.2t · sdet D(Phi^n) · 1
사영은 (1+n nu²)^(−3/2)로 넓이를 수축합니다. |nu|=1의 RATTLE 점은 유한하지만 양의 단계의 도함수는 정의되지 않습니다.
근의 존재와 조회 상태
항목값
nu1/2
1 - nu²3/4
위치 근정칙
sqrt(1 - nu²)0.866
gamma · kg/s0.2679
rattle query조회 가능
rattle completed steps8/8
rattle reverse position · m5.55e-16
rattle reverse momentum · kg m/s5.55e-16
projected query조회 가능
projected completed steps8/8
projected reverse position · m0.8596
projected reverse momentum · kg m/s0.7975
판별식은 입력 정수 비율로 분류합니다. 실수 근이 없으면 RATTLE을 중단하며, 보폭이나 판별식을 자동 보정하지 않습니다.
rattle · 조회 단계의 축약 Jacobian
성분12
11 · 14.619 · s/(kg m²)
20 · kg m²/s1 · 1
점의 존재와 미분의 존재는 다릅니다. 대시는 0이 아닙니다.
projected · 조회 단계의 축약 Jacobian
성분12
11 · 11.626 · s/(kg m²)
20 · kg m²/s0.1925 · 1
점의 존재와 미분의 존재는 다릅니다. 대시는 0이 아닙니다.
종료 시간을 유지한 세분화
Nh · sRATTLE phase · radProjection phase · radProjection L error · Js
80.50.1888-1.106-0.4226
160.250.04288-0.6984-0.2929
320.1250.01049-0.4079-0.1835
각 행은 같은 물리 시간을 사용합니다. 정칙한 작은 보폭에서 RATTLE 위상 오차는 2차, 사영의 각운동량 오차는 1차입니다.

한 점과 전체 사상을 구분하기

RATTLE은 |nu|<1의 정칙 영역에서 symplectic입니다. |nu|=1에서는 현재 점이 있어도 도함수가 없습니다. 사영은 h=0일 때만 전체 축약 공간에서 symplectic입니다.

정지한 초기 상태에서 사영 행렬식1을 관찰해도 다른 운동량에서의 넓이 수축은 남습니다.

duration s = 4

고정 기준 예제의 그림과 수치입니다. 각 단계에서 같은 그림의 의미를 차례로 살펴보세요. 고정된 기준 예제이며 아래 실험의 설정과 독립적입니다.
1 / 4

축약 좌표에서 구조를 읽는다

원 위에서는 각도 theta와 각운동량 L이 정준 좌표입니다. I=mR²와 nu=hL/I로 물리 회전과 이산 회전을 비교합니다.

Delta theta_exact=nu; Delta theta_RATTLE=asin(nu)

실험에서 확인하기 →
이 단원 목차

완벽한 원 그림만으로 수치 검증이 끝나지 않는다

모든 위치가 원 위에 있고 모든 운동량이 접선이라고 하자. 그림만 보면 시뮬레이션이 맞는다고 생각하기 쉽다. 그러나 이 기하 구속을 만족하면서 각운동량을 잃거나 위상 넓이를 줄이고, 원을 도는 속도도 틀릴 수 있다. 무엇을 보존해야 하는지부터 나누어 본다.

이 단원은 정확히 풀리는 연속계와 두 실제 수치 사상을 비교한다. RATTLE은 구속된 kick과 drift로 위치·접선 운동량 조건을 함께 강제한다. 더 단순한 방법은 자유 drift를 정규화하고 운동량을 새 접선으로 사영한다.

문제는 고정된 원 위의 자유 운동으로 한정한다. 이 특별한 경우 RATTLE은 정확 산술에서 에너지·각운동량을 보존해도 위상 오차가 쌓인다. 이 에너지 성질을 임의의 힘이 있는 모든 구속 Hamiltonian으로 확대하지 않는다.

구속 위상 공간을 명시한다

q,p∈R2q,p\in\mathbb R^2, 반지름 R>0R>0, 질량 m>0m>0이고 구속은

ϕ1=q⋅q−R22=0,ϕ2=q⋅p=0\phi_1=\frac{q\cdot q-R^2}{2}=0,\qquad \phi_2=q\cdot p=0

이다. 첫 단위는 m², 둘째는 Js다. 물리적 상태에는 반지름과 접선 운동량이 모두 맞아야 한다. 에너지는 E=p⋅p/(2m)E=p\cdot p/(2m), 각운동량은 L=qxpy−qypxL=q_xp_y-q_yp_x다.

부호를 포함한 초기 접선 운동량을 ptp_t라 두고 L0=RptL_0=Rp_t, I=mR2I=mR^2를 정의한다. 국소 각도 θ\theta와 각운동량 LL은 정준 짝이다. 이 두 좌표의 symplectic 넓이는 Js 단위를 가지며 위치 평면에서 잰 넓이와 다른 기하량이다. 원 위라는 사실만으로 이 위상 넓이를 보존했다고 판단하지 않는다.

정확한 기준 운동을 쓴다

축약된 물리 방정식은

θ˙=L/I,L˙=0\dot\theta=L/I,\qquad \dot L=0

이다. 길이 hh인 한 단계에 대해 부호 있는 무차원 각도

ν=hL0I=hptmR\nu=\frac{hL_0}{I}=\frac{hp_t}{mR}

를 정의한다. 정확한 nn단계 후 누적 각도는 nνn\nu이며 위치와 운동량이 그만큼 함께 회전한다. 크기·에너지·각운동량은 그대로다.

각도를 2π2\pi로 접은 값만 보지 않고 풀어 쓴 누적 위상을 추적한다. 잘못된 회전 수를 거친 수치 궤적도 원 위의 비슷한 점으로 돌아와 가까워 보일 수 있다. 원 그림만으로는 그 시간 오차를 알아내지 못하므로 누적 위상 차이를 별도 곡선으로 비교한다.

자유 원의 RATTLE 단계를 유도한다

처음 구속 운동량을 p1/2=p−γqp_{1/2}=p-\gamma q로 두고

Q=q+hmp1/2Q=q+\frac hm p_{1/2}

로 이동한다. 초기 구속을 사용해 최종 위치 구속을 대입하면

(1−hγm)2+ν2=1\left(1-\frac{h\gamma}{m}\right)^2+\nu^2=1

이 된다. 항등식에 가까운 가지를 골라

a=1−ν2,Q=aq+hmpa=\sqrt{1-\nu^2},\qquad Q=a q+\frac hm p

라 쓴다. 마지막 방사 방향 보정으로 Q⋅P=0Q\cdot P=0을 맞추면

P=ap−νptRqP=a p-\frac{\nu p_t}{R}q

를 얻는다. γ\gamma의 단위는 kg/s이며 외력 그 자체가 아니다. h≠0h\ne0에서는 γ=hpt2/[mR2(1+a)]\gamma=hp_t^2/[mR^2(1+a)]로 계산하면 작은 차이를 빼는 소거를 피한다. 0 보폭은 0/00/0을 평가하지 않고 항등 갱신과 0 보정으로 따로 정의한다.

정칙한 근·경계·근이 없는 경우를 나눈다

실수인 항등 근처 위치 갱신은 ∣ν∣≤1|\nu|\le1에서 존재한다. 열린 영역 ∣ν∣<1|\nu|<1에서는 제곱근이 매끄럽다. ∣ν∣=1|\nu|=1에는 유한한 사분 회전 상태가 있지만 초기 각운동량에 대한 도함수는 무한대로 커진다.

∣ν∣>1|\nu|>1이면 요청한 보폭의 RATTLE 위치 근이 없다. 연속 원 운동이 사라진 것이 아니라 고른 수치 drift가 해당 가지로 구속 위치에 도달하지 못하는 것이다. 존재하지 않는 다음 상태를 만들기 전에 중단하고 이미 계산한 단계만 남긴다.

분류에는 입력 정수 비율로 계산한 ν\nu와 판별식을 사용한다. 허용 오차로 음의 판별식을 0으로 바꾸지 않는다. 경계의 유한한 갱신은 실패한 단계와도, 정칙한 미분 가능한 사상과도 구별한다. 조건을 나누면 큰 수치 한 개를 단순히 오류라고 부르는 것보다 원인을 정확하게 설명할 수 있다.

축약된 symplectic 사상을 확인한다

항등 근처 가지에서 RATTLE은 δ=arcsin⁡ν\delta=\arcsin\nu만큼 이동하고 LL을 유지한다. 정칙 정의역에서는

(θ′L′)=(θ+arcsin⁡(hL/I)L),DΦh=(1h/(I1−ν2)01)\begin{pmatrix}\theta'\\L'\end{pmatrix} =\begin{pmatrix}\theta+\arcsin(hL/I)\\L\end{pmatrix},\qquad D\Phi_h=\begin{pmatrix} 1&h/(I\sqrt{1-\nu^2})\\0&1 \end{pmatrix}

다. 행렬식은 1이다. 이는 구속면의 내재적 정준 도함수이며 주변 4차원으로 임의 연장한 갱신의 행렬식을 뜻하지 않는다. 같은 넓이라는 말에도 어느 공간인지 명시해야 한다.

근의 경계에서는 선택 상태를 계산할 수 있어도 도함수는 미정이다. 0 보폭 사상은 항등식이다. 첫 비영 단계가 근의 정의역 밖이어도, 아직 아무 갱신도 하지 않은 초기 단계의 항등 도함수까지 없어진 것은 아니다. 실습은 이 차이를 그대로 유지한다.

정확한 불변량에도 위상 오차가 남는 이유를 본다

RATTLE의 NN단계 누적 위상은 Narcsin⁡νN\arcsin\nu이고 실제 물리 위상은 NνN\nu다. 따라서

ΔθN=N(arcsin⁡ν−ν)\Delta\theta_N=N(\arcsin\nu-\nu)

다. 작은 ν\nu에서 arcsin⁡ν=ν+ν3/6+O(ν5)\arcsin\nu=\nu+\nu^3/6+O(\nu^5)이므로 T=NhT=Nh를 유지하면 전체 위상 오차가 2차가 된다.

m=R=pt=1m=R=p_t=1, h=1/2h=1/2 s, N=8N=8을 고르자. 정확한 이동은 4 rad인데 RATTLE은 8π/68\pi/6만큼 돈다. 차이는 약 0.18879020.1887902 rad다. 두 계산의 에너지가 모두 1/21/2 J, 각운동량이 1 Js로 유지되어도 이 시간 오차는 존재한다. 정확한 보존량 곡선을 얻었다는 이유로 궤적 정확도 검사를 생략할 수 없다.

정규화된 drift와 접선 사영을 유도한다

단순한 대안은 drift 동안 구속 반력을 무시한다.

Q~=q+hmp,Q=RQ~∥Q~∥.\widetilde Q=q+\frac hm p,\qquad Q=R\frac{\widetilde Q}{\|\widetilde Q\|}.

이어서 원래 운동량을 새 접선에 사영한다.

P=p−Q⋅pR2Q.P=p-\frac{Q\cdot p}{R^2}Q.

정확 산술에서는 반지름과 접선 구속이 모두 맞는다. 하지만 축약 사상은

θ′=θ+arctan⁡ν,L′=L1+ν2\theta'=\theta+\arctan\nu,\qquad L'=\frac{L}{\sqrt{1+\nu^2}}

다. 운동량 성분 하나를 제거했기 때문이다. 위치를 정규화했다고 원래 역학을 유지할 물리적 구속 충격량을 제공한 것은 아니다. 여기서는 이 구체적인 알고리즘을 검사한다. 가능한 모든 사영 방법이 동일한 결함을 가진다는 주장이 아니다.

소산과 위상 넓이 수축을 계산한다

사영된 운동량은 닫힌 식으로

Ln=L01+nν02,En=E01+nν02L_n=\frac{L_0}{\sqrt{1+n\nu_0^2}},\qquad E_n=\frac{E_0}{1+n\nu_0^2}

가 된다. Ln+12L_{n+1}^2의 역수를 취하면 점화식이 간단해진다. 초기 운동량 0은 0으로 나누는 유도 대신 원래 갱신에서 직접 확인한다. 앞의 여덟 단계 예에서는 에너지가 1/21/2 J에서 1/61/6 J로 감소한다.

누적 축약 Jacobian의 행렬식은

det⁡DΦh n=(1+nν02)−3/2\det D\Phi_h^{\,n}=(1+n\nu_0^2)^{-3/2}

이다. 여덟 단계에서 3−3/2≈0.192453^{-3/2}\approx0.19245다. 두 기하 구속을 맞추면서도 정준 넓이가 크게 수축할 수 있다. 오른쪽 위 미분 성분에는 초기 운동량 변화가 뒤의 모든 각도 증가를 바꾸는 효과도 들어간다. 구현과 독립 검증은 이 의존성을 생략하지 않는다.

정지한 선택과 근의 경계를 정직하게 다룬다

pt=0p_t=0이면 두 알고리즘의 선택 위치·운동량이 그대로다. 사영 사상의 행렬식도 그 상태에서는 1이지만 비영 보폭에서 전체 축약 정의역의 symplectic 성질을 증명하지 않는다. 이웃한 비영 운동량은 여전히 넓이를 줄인다. 특수한 선택 하나와 전역 구조를 분리한다.

ν=1\nu=1이면 RATTLE은 유한한 사분 회전을 하고 이 자유 원의 불변량을 유지하지만 일반 도함수는 유한하지 않다. ν=1.1\nu=1.1이면 요청한 첫 단계를 진행할 수 없다. 정규화 방법은 계속 상태를 반환해도, 계산을 할 수 있다는 사실만으로 물리적 정확도가 좋아지는 것은 아니다.

정지 궤적·정칙 사상·유한한 근의 경계·도달할 수 없는 갱신은 다른 표시가 필요하다. 미정 도함수와 없는 상태를 0이나 첫 정칙 표본으로 바꾸면 이 구분이 사라진다.

같은 물리 시간에서 세분화한다

(N,h)(N,h), (2N,h/2)(2N,h/2), (4N,h/4)(4N,h/4)를 비교한다. 끝나는 물리 시간은 모두 같다. 작은 보폭에서 RATTLE 위상 오차의 비율은 4에 가까워져 2차 정확도와 맞는다.

정규화 drift 뒤 접선 사영의 운동량 손실은 다르다. 고정 시간에서 Nν02N\nu_0^2는 hh에 비례하므로 각운동량 오차가 일반적으로 1차다. 구속 방정식을 정확하게 맞췄다고 상태 정확도까지 높은 차수로 올라가지 않는다. 무엇의 차수를 잰 것인지도 명시한다.

사영 각도는 매번 달라지는 운동량으로 누적한다. 초기 운동량을 고정한 Narctan⁡ν0N\arctan\nu_0로 계산하면 다른 알고리즘이다. 초기 각운동량을 음수로 바꾸면 위상 방향이 반대가 되지만 제곱 판별식과 에너지 손실 인자는 같다. 부호와 크기를 분리해서 읽을 수 있는 사례다.

실제 부동소수점 갱신과 이상적 항등식을 비교한다

제품은 표시한 모든 단계에서 Cartesian 갱신을 실행한다. 매 프레임 RATTLE 위치를 새로 정규화한 원으로 대체하지 않는다. 따라서 위치·접선 잔차에 누적된 반올림 오차가 드러난다. 그림이 완벽한 원처럼 보여도 수치 잔차를 함께 확인한다.

닫힌 에너지·각운동량·위상 식은 별도의 이상적 기준이다. 검증기는 축약 해를 80자리 정밀도로 독립 평가한다. 수치 일치는 선언한 허용치로 비교하지만 근의 정확한 분류는 입력 정수 관계에서 계산한다.

작은 구속 잔차는 시험한 정밀도에서 구현이 일관적이라는 근거다. 정확 산술의 증명이나 축약 symplectic 유도를 대신하지 않는다. 유한차분이나 학습한 접선 모형에서 행렬식을 1에 가깝게 측정했을 때에도 마찬가지다. 실험과 구조 정리를 다른 수준의 근거로 남긴다.

제어·조회·왕복의 의미를 확인한다

반지름·부호 있는 접선 운동량 코드는 2로, 보폭 코드는 20으로 나눈다. 단위는 각각 m, kg m/s, s다. 초기 각도는 사분면과 유리수 원의 매개변수 u=code/4u=\mathrm{code}/4로 고른다. 조회는 별도의 실제 정수 단계다.

조회가 요청한 단계 수를 넘으면 실행 범위 밖이다. RATTLE이 그 전에 멈췄으면 단계 실패로 조회 상태가 없다. 두 경우 모두 마지막 점을 자동 선택하지 않는다. 연속 기준 운동과 대안 사영의 실행은 여전히 비교할 수 있다.

완료한 종료 상태에서 음의 보폭으로 돌아오는 검사도 한다. 선택한 가지에서 RATTLE은 반올림 오차 범위로 원래 위상 상태에 돌아온다. 소산하는 사영은 돌아올 때에도 운동량을 제거해 일반적으로 왕복에 실패한다. 위치와 운동량 왕복 오차는 서로 다른 단위를 유지해 보고한다.

구속된 AI 모형의 진단으로 옮긴다

학습 시뮬레이터가 정규화된 좌표와 접선 출력을 강제해도 구속 다양체 위의 역학은 바뀔 수 있다. 시각적 구속 오차만이 아니라 축약 위상 사상을 평가해야 한다.

불변량 거동, 누적 위상, 종료 상태 오차, 갱신의 존재 범위, 초기 데이터 감도를 추적한다. 보존 결과가 자유 운동의 특별한 성질인지 힘이 있는 더 큰 문제족에도 성립하는지 명시한다. 실패한 보폭을 몰래 적응시키기보다 훈련·평가 데이터에 실패 자체를 남긴다.

이 예가 모든 구속 문제에서 RATTLE의 정확한 에너지 보존이나 사영 신경망의 전역 symplectic 성질을 증명하지는 않는다. 원 그림과 접선 화살표만으로 검증을 끝내는 주장에 대해, 이해하고 직접 계산할 수 있는 반례를 제공한다.

해설과 함께 여섯 가지를 확인한다

문제 1

m=R=pt=1m=R=p_t=1, h=1/2h=1/2일 때 RATTLE의 각도 증가를 정확한 값과 비교하라.

해설: ν=1/2\nu=1/2이므로 δ=arcsin⁡(1/2)=π/6\delta=\arcsin(1/2)=\pi/6이다. 정확한 증가는 1/21/2 rad다. 에너지·각운동량이 유지되어도 양의 각도 차이가 매 단계 쌓인다.

문제 2

같은 예의 여덟 단계 후 사영 에너지를 구하라.

해설: 1+Nν02=1+8/4=31+N\nu_0^2=1+8/4=3이다. 따라서 E8=(1/2)/3=1/6E_8=(1/2)/3=1/6 J, L8=1/3L_8=1/\sqrt3 Js다. 정확 산술에서 두 기하 구속 잔차는 동시에 0일 수 있다.

문제 3

∣ν∣=1|\nu|=1과 ∣ν∣>1|\nu|>1이 왜 다른가?

해설: 같을 때는 판별식 0이고 선택한 상태의 유한한 사분 회전이 존재한다. 도함수에는 1/1−ν21/\sqrt{1-\nu^2}가 있어 미정이다. 더 크면 이 보폭에 맞는 실수 구속 drift 근 자체가 없다.

문제 4

0 운동량의 사영 궤적이 symplectic 성질을 증명하는가?

해설: 아니다. 선택 궤적이 정지하고 그 점의 행렬식은 1이지만 주변 비영 운동량의 행렬식은 1보다 작다. 특별한 선택 하나로 전체 정의역의 구조를 인증하지 못한다.

문제 5

사영의 전체 각도가 Narctan⁡ν0N\arctan\nu_0가 아닌 이유는?

해설: 매 사영에서 각운동량이 감소한다. 다음 증가에는 νj=ν0/1+jν02\nu_j=\nu_0/\sqrt{1+j\nu_0^2}를 써야 한다. 초기 값을 고정해 누적하면 실제 구현과 다른 사상을 시뮬레이션한다.

문제 6

RATTLE 실패 뒤의 조회 단계에는 무엇이 들어가는가?

해설: 계산한 상태가 없으므로 조회를 미정으로 두고 단계 실패 이유를 반환한다. 이전 실제 상태와 여전히 유효한 연속 기준은 보존한다. 마지막 점 복사는 존재하지 않는 수치 연속을 꾸며 내는 셈이다.

읽을거리와 유도의 범위

구속·대칭성·구속면 위 symplectic 성질은 Hairer·Lubich·Wanner 6.2–6.3절을 참고한다. 분할·변분 배경은 Hairer의 강의를 따른다. 자유 원의 명시적 근, 축약 사상, 사영 소산, 위상 오차와 존재 범위는 여기서 직접 유도한다. 일반 이론을 근거로 모든 구속 문제의 정확한 물리 에너지 보존까지 주장하지 않는다.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. nu=1에서 RATTLE의 첫 점이 유한하면 Jacobian도 있나요?
2. 사영의 두 구속 잔차가 작으면 에너지도 보존하나요?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.