17 KiB
대수좌표 제거 DAE 연구: 수식과 실행 결과
상태: 연구 후보·독립 검토 대기. Owner: formulation, 2026-10-12. 연구의 권장 후보를 소형 문제로 비교했다. Production·tests·PRD·ADR·reference·tolerance는 수정하지 않았다. 실제 shell 검증이나 새 적분법 채택이 아니다.
재현 자료는 Decimal80 probe, 실제 native 기록, stdout, 전체 grid·오차·조건 결과다. python -B compare.py 실행 native0이며 FESA build/CTest는 실행하지 않았다. 모든 문제는 t∈[0,1], h=1/16,...,1/256, exact frame0의 q/v/a와 A0=a0, alpha=-.05,beta=.275625,gamma=.55를 사용했다. 초기 구간을 제외하지 않고 모든 n+1 endpoint의 component infinity-norm 최대 오차를 구했다. 이 raw absolute error는 FESA N7의 normalized/noise-certified metric이 아니다.
1. 관찰과 범위
| 소형 문제·적분 | h=1/256 전체 최대 q / v / a 오차 | 마지막 q / v / a 차수 |
|---|---|---|
| Cubic, full-coordinate | 0 / 1.532799e-5 / .032218337 | 미정 / 2 / 1 |
| Cubic, reduced+미분 복구 | 0 / 0 / 0 | 오차0이므로 미정 |
| Explicit-time, full-coordinate | 0 / 1.532799e-5 / .032218337 | 미정 / 2 / 1 |
| Explicit-time, reduced+미분 복구 | 0 / 0 / 0 | 오차0이므로 미정 |
| Moving-null oscillator, full-coordinate | 1.286321e-5 / 2.430511e-5 / .032224263 | 2.001052 / 2.000946 / 1.000776 |
| Moving-null oscillator, reduced+미분 복구 | 1.977078e-6 / 3.548473e-6 / 9.930913e-6 | 1.999855 / 1.999676 / 1.999113 |
| Moving-null+spectator BC | 각 적분의 바로 위 moving-null 결과와 동일 | 동일 |
Moving-null reduced 결과의 finest hidden0/1/2 최대는 각각 2e-80/2e-80/2e-79; 원 free endpoint E는 1.4e-79 이하다. Full-coordinate의 원 free E도 3.22e-75 이하지만 hidden1/2는 약 1.53276e-5/.03222480다. 따라서 이 probe에서는 endpoint 평형의 높은 정확도와 full-coordinate 가속도의 1차 startup 오차가 공존한다.
이 결과는 고정 null의 exact 해에 국한되지 않는 후보 근거다. 그러나 shell의 구성·하중·회전 branch·coupled modes·stiff frequency를 포함하지 않는다. 실제 C08a/C08b PASS, 일반 DAE 수렴 정리, production 알고리즘 승인을 주장하지 않는다. Decimal80 precision과 작은 root 잔차가 자체 독립 numerical review를 대신하지 않는다.
2. 공통 원 방정식과 국소 제거 계약
소형 모델은 dimensionless 좌표·시간·에너지를 사용하며 물리적 shell 단위나 재료모형을 대체하지 않는다. 원 covector residual은 E(q,v,a,t)=I(q,v,a)+g(q,t), I=M(q)a+c(q,v), g=f_int-F이다. 실제 admissible mass-null N에 대해 N^T I=0이고 원 대수 조건은
[ \psi(q,t)=N(q)^Tg(q,t)=0. ]
고정 BC를 정확히 lift한 free chart에서 q=Q(p,t)가 같은 ψ=0 branch를 parameterize한다고 가정한다. 독립 좌표 p의 dimension은 physical mass rank이다. Q_p가 full column rank이고 [Q_p,N]가 free space를 span해야 한다. 이때 ψ=0와
[ \boxed{R(p,\dot p,\ddot p,t)=Q_p^TE(Q,Q_p\dot p+Q_t,a,t)=0} ]
은 원 free E=0와 동등하다. 새로운 holonomic reaction multiplier를 넣거나 ψ를 다른 constraint로 교체하지 않는다. M_r=Q_p^TMQ_p는 positive definite이어야 한다. Numerical rank·regularity threshold는 이 문서에서 만들지 않는다.
독립 좌표에서만 기존 HHT의 physical/auxiliary acceleration recurrence를 적용한다.
[ \mathcal A_{n+1}=(1+\alpha)\ddot p_{n+1}-\alpha\ddot p_n, \quad p_{n+1}=p_n+h\dot p_n+h^2[(1/2-\beta)\mathcal A_n+\beta\mathcal A_{n+1}], ] [ \dot p_{n+1}=\dot p_n+h[(1-\gamma)\mathcal A_n+\gamma\mathcal A_{n+1}]. ]
Full 좌표와 물리적 rate는 완전한 chain rule로 복구한다.
[ \boxed{q=Q(p,t),\quad v=Q_p\dot p+Q_t,\quad a=Q_p\ddot p+Q_{pp}[\dot p,\dot p]+2Q_{pt}\dot p+Q_{tt}.} ]
따라서 매끄러운 정확 embedding에서는 hidden0/1/2가 해석적으로 0이다. Full q/v/a는 일반적으로 기존 component별 Newmark recurrence를 만족하지 않는다. 이는 output-only null-a recovery와 다른 새 시간적분 계약이다. Full auxiliary A/history에 affine mapping으로 reduced mathcal A를 대입해서는 안 된다. 공개 state/schema와 production history 선택은 미결정이다.
국소 split (p,z)에는 같은 branch의 G=psi_z 가역성이 필요하다. z_p=-G^-1 psi_p, z_t=-G^-1 psi_t이며 고차 미분은 ψ=0를 미분해 구한다. psi_q N 가역성은 transversality 근거이지만 선택한 전역 (p,z) chart를 제공하지 않는다. Basis·branch·patch 전환에는 계약이 필요하며 constant rank, bounded derivative, M_r positivity가 전 구간에서 유지되어야 한다.
3. 정확한 reduced tangent 인계
고정 endpoint t에서 c_v=gamma/(beta h), c_a=1/[(1+alpha)beta h²]다. HHT 종속 reduced rate와 Newton 좌표 변화 ξ에 대해
[ \delta q=Q_p\xi,\quad \delta v=Q_{pp}[\xi,\dot p]+Q_pc_v\xi+Q_{pt}\xi, ] [ \begin{aligned} \delta a={}&Q_{pp}[\xi,\ddot p]+Q_pc_a\xi+Q_{ppp}[\xi,\dot p,\dot p] +2Q_{pp}[c_v\xi,\dot p]\ &+2Q_{ppt}[\xi,\dot p]+2Q_{pt}c_v\xi+Q_{ptt}\xi. \end{aligned} ] [ \boxed{\delta R=(DQ_p[\xi])^TE+ Q_p^T{(D_qI+D_qg)\delta q+D_vI\delta v+M\delta a}.} ]
DQ_p 항은 평형 밖에서 0이 아니다. 기존 내력 tangent가 낮은 차수의 미분을 쓴다고 embedding의 3차 미분과 explicit-time mixed 항을 생략할 수 없다. Shell 구현 전 analytic implicit differentiation 또는 독립 검증한 미분 경로가 필요하다. Exact frame0 q/v/a는 같은 branch와 미분 일관성 조건에 있어야 하며 reduced 초기값으로 그 값을 정확히 복구해야 한다.
4. 실험 모델과 full-coordinate 비교의 의미
Cubic (NR-009 재현). q=(x,z), T=xdot²/2, U=(z-x³)²/2, F=0, M=diag(1,0), N=e_z다. Exact 해는 x=t,z=t³, 초기값은 x0=z0=0,vx0=1,vz0=0,a0=0이다. Embedding Q(p)=(p,p³)에서 M_r=1, physical reduced equation은 pddot=0이다. Full-coordinate 비교는 exact endpoint q가 E=0을 만족하되 x와 z 모두 기존 Newmark rate를 유지한다. 기존 가속도 최대가 increment10에서 나타나는 결과를 재현했으며 finest에서는 t=10/256이다.
Explicit time. T=xdot²/2, synthetic U(q,t)=(z-tx)²/2, F=(2,0), exact x=t²,z=t³, a0=(2,0)다. 시간 의존 potential 연구 모델이며 FESA 현 force-only 공개 입력의 확장이 아니다. Q(p,t)=(p,tp)이므로 vz=p+t pdot, az=2 pdot+t pddot다. Explicit/mixed-time 항을 빼면 oracle이 무효다. M_r=1, pddot=2이다.
Moving-null oscillator. y=x+z²/2, T=ydot²/2로 놓으면
[ U=\tfrac12y^2+\tfrac12(z-y^3)^2,\quad H=(1,z),\quad M=H^TH,\quad N=(-z,1)^T, \quad\psi=N^T\nabla U=z-y^3. ] [ I=H^T(a_x+za_z+v_z^2),\quad E=H^T(\ddot y+y)+(z-y^3)\nabla(z-y^3). ]
Exact reduced 해는 y=sin(t),ydot=cos(t),yddot=-sin(t)이며 Decimal80 sin/cos는 수렴하는 Taylor series로 계산했다. Q(y)=(y-y⁶/2,y³)는 H Q_y=1이므로 해석적으로 M_r=1, MN=0이다. Null 방향이 이동하며 그 미분과 embedding 곡률은 0이 아니다. 계산에서는 실제 full M과 N을 곱해 MN을 평가하고 Q_y^T M Q_y를 계산한다. M_r의 80자리 반올림 편차는 raw JSON에 보존한다.
Production Newton의 수렴과 시간적분을 분리해 비교하기 위해 full-coordinate moving-null 쪽은 정확 endpoint-root oracle을 사용했다. Root finder에서 ψ=0을 대수적으로 대입하고 a_x(q)+z a_z(q)+v_z(q)²+y=0를 풀지만 모든 full 좌표의 v/a/A는 기존 recurrence와 history로 계산한다. 위치만 대수 제거한 root solve는 chain-rule rate를 쓰지 않으므로 reduced time integrator와 다르다. 이 residual/root 결과는 production Newton trial 경로를 검증하지 않는다.
Spectator BC의 제한된 범위. 독립 w에 T_w=wdot² (mass2), force3와 w=0 BC를 추가했다. 최종 probe는 실제 3성분 q/v/a/A, full 3×3 M, full E를 구성하며 L=[e_x,e_z]로 free equation을 선택하고 constrained residual에서 reaction을 구한다. E_w=R_w=-3이고 원 full E max3은 그대로 보존하며 free E와 E-R은 near-zero다. Admissible null은 (-z,1,0), reduced mass는1이다. 이는 분리된 spectator의 projection·reaction 검사일 뿐 moving-null을 가르는 shell partial rotational BC의 검증이 아니다. Rank 전환·구속 성분 변경도 검사하지 않았다. 최초 하드코딩 bookkeeping 버전은 v1-bookkeeping-* 원본 기록으로 보존하고 현재 검증과 구분한다.
5. 다음 검증과 미결정
- 독립 reviewer가 Decimal80 recurrence, moving-null full E, embedding 미분, exact startup과 all-time 차수를 재현해야 한다. 저장된 native0은 실행 완료만 뜻한다.
- 실제 shell에는 locally integrable physical chart, 대수 branch solve, 하중의 explicit-time 의존성을 포함한 Q 미분, positive reduced mass와 admissible partial-BC null이 필요하다. 소형 모델 결과로 충분하지 않다.
- 같은 계수와 exact frame0을 쓴다고 reduced history가 승인된 full-coordinate history와 같아지지 않는다. Production 채택에는 수식·수치 검토와 명시적인 algorithm/state 결정이 필요하다. Tolerance/reference 변경은 제안하지 않는다.
- Full E·반력·hidden0/1/2·물리적 a와 공간 rate·energy/P/L·현행 C08·원본 비교는 각각 필수 evidence다. 이 oscillator는 frequency1이므로 C08b의 stiff-mode 시간 해상도 문제를 해결하지 않는다.
6. 실제 shell chart 후보와 구현-ready capability gap
현재 source는 읽기만 했다. shell evaluator API와 내부 Jet·scalar constraint, 관성 API를 대조했다. 소형 prototype가 구현한 것은 해석적으로 알려진 polynomial Q와 독립 scalar reduced HHT뿐이다. Actual shell algebraic branch solver·Q 미분·reduced trial/state·assembly·tangent는 구현하지 않았다.
6.1 Chart 선택과 물리 동등성의 조건
| 후보 | 필요한 국소 조건 | 관성과 실제 구현 영향 |
|---|---|---|
p=(u3,phi_x,phi_y), 대수 z=phi_z |
Assembled coupled G=psi_z 가역성, 같은 branch, psi_q N 가역성, positive M_r 및 기존 chart/geometry |
p의 회전2개는 director의 physical coordinates가 아니다. Algebraic branch에 따라 d와 M_r가 달라질 수 있으나 전체 Q/곡률/convective terms를 유지하면 원 full E와 동등할 수 있음 |
| Initial-director 기준 η2와 fiber spin σ | Smooth director patch, swing·principal Log 및 spin branch 유효성, psi_sigma 가역성, positive physical mass |
Director mapping은 σ와 무관하여 kinetic fiber를 명시적으로 분리. Rotation-vector mapping·미분·patch 전환의 새 계약 필요 |
첫 후보는 모든 node의 φz를 전역 coupled vector z로 대수 제거한다. G를 각 node의 scalar derivative로 대신하지 않는다. G=psi_z 가역성만으로 [Q_p,N] 가역성이 따라오지는 않는다. ker(M)=span(N)과 psi_q Q_p=0 아래에서는 M_r의 positivity가 range(Q_p)∩span(N)={0}를 확인하며 이 transversality가 원 잔차 동등성에 필요하다. psi_q N 가역성이 같은 조건을 표현한다.
C08b의 현재 수용된 회전이 약 .27rad라는 사실은 locality 근거이지 위 G/positivity의 증명이 아니다. Actual trajectory의 처음·최대·끝·원 실패 부근에서 root branch, G, M_r, [Q_p,N]를 확인하면 그 fixture의 bounded local prototype를 시작할 근거가 될 수 있다. 전 구간·일반 mesh·부분 회전 BC·다른 하중까지 승인되는 것은 아니다.
둘째 후보의 예시는 d=eta_1 e_1+eta_2 e_2+sqrt(1-|eta|²)d0, d·d0>0의 초기 director hemisphere와
[ R(d,\sigma)=R_{swing}(d;d_0)\exp([d_0]_\times\sigma),\qquad \phi=\operatorname{Log}R ]
이다. R_swing d0=d이므로 d·시간 rate와 kinetic mapping은 σ와 무관하다. 이 frame의 local M_r는 대수 spin branch와 무관하지만 η에 따른 configuration dependence와 관성 곡률은 남는다. Existing principal rotation/swing/twist 범위를 통과해야 하며 η hemisphere 또는 Log branch가 바뀌면 silent rechart할 수 없다. 고정 generalized force를 이 chart로 옮길 때에는 원 covector를 Q_p^T F로 pullback한다. 임의의 spatial torque로 재해석하지 않는다.
6.2 실제 보유 operator와 부족한 operator
| 수식 operator | 현재 확인된 capability | Reduced exact full Newton의 gap |
|---|---|---|
| g, Dg | Internal force와 K_int, 외력은 별도 owner | 기존 force/assembly 의미 보존하여 사용 가능 |
| D²g[v,v] | Optional coordinate_direction의 force_directional_second; U의3차 contraction |
Mixed D²g[p,r]는 polarization으로 구할 수 있지만 비용·산술을 검토해야 함. D³g는 API에 없음 |
| Internal ψ, Dψ, D²ψ | drilling_constraint, gradient, Hessian에 raw γ가 아닌 k_de*S_i*gamma_ei를 저장 |
Shared node assembly·동일 unit n 확인 필요. Full ψ에는 external null work가 추가됨 |
| D³ψ 방향 contractions | Scalar Jet 내부 mixed_second[j]는 D³scalar[e_j,v,v]를 수송하지만 constraint용 반환 field에는 노출되지 않음 |
실제 scalar ψ에 대한 third contraction과 mixed polarization의 의미·finite 여부·독립 검산이 필요. Production API 추가는 미승인 |
| n, Dn, D²n[v,v] | DynamicRotationKinematics의 unit null, gradient, directional_second |
Force가 있는 ψ의 D³n와 일반 mixed second contraction 공개 operator가 없음 |
| I, DqI, DvI, M | 기존 nonlinear inertia evaluation | Q·rate를 적용한 전체 chain rule와 DQ_p 항을 새 reduced assembly에서 연결해야 함 |
| Force의 시간미분 | 현재 C08a oracle는 Fdot/Fddot | Mixed-time third ψ에는 F'''까지 필요할 수 있음. 현 oracle를 F'''가 이미 있는 것으로 보고하지 않음 |
일반적인 psi=N^Tg의 직접 미분은
[ D\psi[p]=(DN[p])^Tg+N^TDg[p], ] [ D^2\psi[p,r]=(D^2N[p,r])^Tg+(DN[p])^TDg[r] +(DN[r])^TDg[p]+N^TD^2g[p,r], ] [ \begin{aligned} D^3\psi[p,r,s]={}&(D^3N[p,r,s])^Tg +\sum_{sym}(D^2N[p,r])^TDg[s]\ &+\sum_{sym}(DN[p])^TD^2g[r,s]+N^TD^3g[p,r,s]. \end{aligned} ]
마지막 식의 각 sum_sym은 서로 다른3항의 합이다. 이 경로는 D³g, 즉 내부 energy의4차 미분까지 요구한다. 그러나 현 shell의 정확 scalar identity로 더 낮은 차수 경로가 가능하다. Source는 n_i^T grad(U_phys)=0, Dgamma_ej[n_i]=delta_ij*S_i, S_i=1/|J_l^-1 d_i|를 사용하여
[ \psi_i(q,t)=\sum_{e\ni i}k_{de}S_i(q)\gamma_{ei}(q)-n_i(q)^TF_i(t) ]
를 직접 평가한다. 이 identity와 assembled nodal null convention을 독립 검증하면 scalar ψ의3차 미분으로 충분하며 generic U의4차 tensor를 만들 필요가 없다. C08b의 F=0에서는 ψ의 내부 scalar 3차 contraction이 핵심 gap이다. API의 drilling_constraint_gradient/Hessian를 raw γ의 미분이라 오해하지 않는다. 원 ψ의 단순화는 내력에서 U_drill를 제거하는 근거가 아니다.
F(t)가 q-independent이고 n은 q-only인 C08a convention에서는
[ \psi_{qt}[p]=-Dn[p]^TF',\quad \psi_{qqt}[p,r]=-D^2n[p,r]^TF',\quad \psi_{qtt}[p]=-Dn[p]^TF'',\quad \psi_{ttt}=-n^TF'''. ]
Pure q의 third 항에는 -D³n^T F도 필요하다. Constant public CLOAD에서는 F'/F''/F'''가0이지만 F가 nonzero이면 pure-q null 미분항은 사라지지 않는다. Synthetic time-dependent potential에는 위 force-only 단축식 대신 전체 ψ 미분을 쓴다.
6.3 Implicit embedding 미분의 최소 인계
tilde Q(p,t)=(Q(p,t),t)로 time을 추가한 chart를 쓰면 pure/mixed derivatives를 같은 규칙으로 처리할 수 있다. A=D tilde Q[a], B=D tilde Q[b], C=D tilde Q[c]라 놓으면 대수 좌표의2차·3차 방향 미분은
[ G,D^2z[a,b]=-D^2\psi[A,B], ] [ G,D^3z[a,b,c]=-D^3\psi[A,B,C] -\sum_{sym}D^2\psi[D^2\tilde Q[a,b],C]. ]
p/t의 affine identity 부분은2차 이상에서0이며 RHS는 이전 단계의 Q 미분을 포함한다. 이 규칙은 Q_pp, Q_pt, Q_tt와 δR에 필요한 Q_ppp/Q_ppt/Q_ptt를 제공한다. Dense global3·4차 tensor 전체를 요구하는 것은 아니지만, 실제 필요한 mixed directional contractions와 같은 G의 정확한 solve가 필요하다. Perturbed algebraic root solve를 사용한 FD reduced tangent는 private diagnostic 경로로 연구할 수 있다. 이는 production analytic δR의 capability gap을 닫거나 새 수치기준을 승인하지 않는다.
부분 BC에서는 먼저 exact zero-constrained lift를 정의하고 실제 admissible null의 dimension을 정해야 한다. Constraint가 nodal null을 가르면 단순히 그 null의 constrained 성분을 삭제해서는 안 된다. p/z 수와 G 크기는 실제 rank와 함께 정하며 rank·pivot·chart 변경 규약을 정하지 않은 채 all-free5/node를 보편적으로 쓰지 않는다. Empty-null은 기존 full-coordinate 문제로 환원된다.
이 후보가 C08b의 큰 physical-complement fixed-grid 오차를 고친다는 보장은 없다. Actual prototype에는 current5grids의 full q/v/physical-a 및 공간 rates, 초기/최대/최종 오차 위치, dynamic spectrum·mode amplitude·omega*h, 원 free E/reaction, hidden0/1/2, energy/P/L을 함께 비교하는 조건을 남긴다. 국소 제거의 null-rate 개선과 고주파 temporal resolution의 개선 여부를 별도로 판단해야 한다.