SSM-Clock—Inverse numerics & Determinism (1.6–1.7)

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 by w_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 * steps factor.
  • 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_day never 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)