Purpose. This document defines the Shunyaya Symbolic Mathematics — Jyotish Transit Kernel (SSM-JTK): a deterministic, ephemeris-independent way to evaluate rasi-based planetary transits using SSM’s two-channel numbers.
Goal: on-device forward/backward projections from a tiny, audit-ready manifest per planet — no runtime ephemeris. The public reference is a Golden day-grid CSV (daily 1990–2030) verified with strict rasi and node-identity checks and a one-screen public validator.
Architecture at a glance.
- Two kernel families.
Fixed-n: bodies with a stable mean motion usen = 360 / P_sid, optionally with small harmonics.
Free-n: bodies fit once to a slopenplus the same small harmonic scaffold (design-ready; optional). - One manifest per planet holds the parameters; the evaluator is a few lines.
- Output per day is an SSM number
x = (m, a)withphi((m,a)) = m.
Alignment (recap; rapidity-safe).eps_a = 1e-6, eps_w = 1e-12, clamp_a(z) = max(-1+eps_a, min(+1-eps_a, z))u = atanh(clamp_a(a)) ; pooled alignment a_total = tanh( (sum w_i*atanh(clamp_a(a_i))) / max(sum w_i, eps_w) )
Binary ops: a_mul = tanh(atanh(clamp_a(a1)) + atanh(clamp_a(a2))) ; a_div = tanh(atanh(clamp_a(af)) - atanh(clamp_a(ag)))
Ephemeris-independent angle evaluator (sidereal, Lahiri).wrap360(x) = x - 360*floor(x/360)L(t) = wrap360( a0 + n*t + sum_j sum_{k=1..H_j} [ c_{j,k}*sin(k*w_j*t) + d_{j,k}*cos(k*w_j*t) ] )
Carriers: n = 360 / P_sid (fixed for some bodies; learned once for others), w_j = 2*pi / P_j.
From tropical to sidereal (CSV math):lon_sidereal_lahiri_deg = wrap360(lon_tropical_deg - ayanamsa_deg) with a linearized ayanamsa for CSV math; rasi index rasi = floor(wrap360(L_hat_deg)/30).
Nodes relation. Ketu(t) = wrap360(Rahu(t) + 180).
Minimal manifest schema (per planet, concept).
{
"name": "jupiter",
"t0": "2100-01-01",
"a0_deg": 123.456789,
"n_deg_per_day": 0.083056,
"harmonics": [
{ "P_days": 398.88, "H": 2, "c": [c1, c2], "d": [d1, d2] },
{ "P_days": 365.25, "H": 1, "c": [c1], "d": [d1] }
]
}
Determinism rules.
- Day grid is integer-spaced from
t0. - Apply one
wrap360at the end ofL(t). - No hidden state, no network calls; outputs are pure functions of
(manifest, t). - Collapsing with
phirecovers classical scalars; alignment composes viaM1/M2policies.
Tiny reference pseudocode (angle evaluator).
PI = 3.141592653589793
wrap360(x) = x - 360.0 * floor(x/360.0)
L = wrap360( a0_deg + n_deg_per_day * t + SUM_k [ c_k*sin(k*w*t) + d_k*cos(k*w*t) ] )
# For the linear base, set harmonic lists empty; rasi = floor(L/30).
Navigation
Back: SSM-JTK – Primer — Shunyaya Symbolic Mathematics (00)
Next: SSM-JTK – Benefits (0A)