1.6 Inverse numerics (v1.1): stacking + multistart (ephemeris-free)
Stacking (symbolic window). We sum energies across S phase snapshots separated by delta_days. This collapses wrong valleys by forcing consensus across offsets:
E_stack(t) = SUM_s [ E_s(t) ] # s = 0..S-1
snapshot_shift = s * delta_days
- For each snapshot
s, shift only the model phase byw_i * (s * delta_days); observed phases remain fixed. - Why it works. Wrong valleys align poorly across offsets; the true t stays consistent.
- Practice.
S = 5,delta_days = 0.5(12 h) is effective for{1, 7, 29.5306, 365.2422}. - 12 h avoids day-period self-repeats; it forces multi-rhythm leverage.
Multistart refine (Brent on top-K). Evaluate E_stack(t) on a coarse grid, pick the top K minima by energy, and run a 1-D bracketed refine (Brent’s method) on each. Keep the best refined solution.
step_d = grid_step_min / (24*60) # e.g., 2 min
candidates = K best coarse bins # e.g., K = 7
refine: th = brent_min(a, b, E_stack) # per candidate
select: choose smallest refined E_stack(th)
- Why it works. Noise can make the best coarse bin miss the bowl center; refining multiple promising bins removes this fragility while staying 1-D.
Complexity (high-level).
N_grid ~ T_search / step_d
Cost ~ S * (#channels) * N_grid + K * steps * S * (#channels)
- Stacking grows cost by
S, but destroys aliases. - Multistart adds a small
K * stepsfactor. - Use coarse_stride > 1 if speed is needed (skip every Nth point on the coarse scan).
1.7 Determinism and reproducibility
Invariants.
- Frozen physics.
period_days,b0_i,w_deg_per_daynever change at runtime. - Pure inverse. No external calls, no time-of-day, no random seeds.
- One wrap. Wrap only inside
angdiff; do not re-wrap intermediates. - Modular error. All time errors are reported modulo
T_search.
Artifacts.
- Manifest: one JSON listing channels
{label, period_days, b0_deg, w_deg_per_day}. - Runner: a small ASCII script that consumes manifest + phases and prints (tau_hat_days, confidence).
- Bench: a small ASCII script that generates synthetic phases and reports pass-rate / error stats.
Navigation
Back: SSM-Clock—Identifiability, Confidence & Reliability (1.3–1.5)
Next: SSM-Clock—Extensions & Defaults (1.8–1.9)