Operator canon (portable verbs over SSM numerals)
Let a symbolic numeral be:
x = (m, a) # magnitude m in R, alignment a in (-1, +1) phi(m, a) = m # collapse back to classical value
SSMS supplies collapse-safe operators that act on (m, a) and preserve classical results under phi:
s_add, s_sub, s_mul, s_div, s_pow s_gt, s_eq # banded comparisons (details in 0.3) min, max, abs, round # helpers
Clamp and rapidity path (keep alignment bounded)
sign(z) = 1 if z >= 0 else -1 clamp_a(a, eps_a): if abs(a) >= 1 - eps_a: return sign(a) * (1 - eps_a) else: return a u(a) = atanh( clamp_a(a, eps_a) ) # encode to rapidity a_of(u) = tanh(u) # decode back to alignment
Streaming-safe sum (example for two terms; generalizes to N terms)
Weights favor larger magnitudes but keep alignment bounded via rapidity.
# inputs x1 = (m1, a1) x2 = (m2, a2) gamma >= 0 eps_w > 0 # magnitude channel m_sum = m1 + m2 # alignment channel via rapidity-average w1 = abs(m1)^gamma w2 = abs(m2)^gamma u1 = u(a1) u2 = u(a2) u_sum = (w1*u1 + w2*u2) / max(w1 + w2, eps_w) a_sum = a_of(u_sum) # output s_add(x1, x2) = (m_sum, a_sum) s_sub(x1, x2) = s_add(x1, (m2 * -1, a2)) # classical subtraction in m; same rapidity recipe
Notes:
gamma = 1is a good default.- Accumulators
(U, W)make sums associative in streaming and batch.
Products and divisions (bounded alignment combine)
Classical magnitude follows usual arithmetic; the alignment channel uses one of two portable laws.
Combine policies:
M1 (simple): a' = a1 * a2
M2 (rapidity): u' = u(a1) + u(a2)
a' = a_of(u')
Multiplication:
m_mul = m1 * m2 a_mul = M2(a1, a2) # default s_mul(x1, x2) = (m_mul, a_mul)
Division (policy around the multiplicative inverse of the magnitude):
# choose one policy for inv_m(m) # "strict" : forbid 1/0 (error or NaN by policy) # "meadow" : totalize with 1/0 = 0 (algebraic meadow) # "soft" : guard small |m| with a floor before inversion m_div = m1 / inv_m(m2) # per chosen policy a_div = M2(a1, a2_with_sign) # combine via M2; sign handling follows classical parity s_div(x1, x2) = (m_div, a_div)
Notes:
- M2 is associative in rapidity space and keeps
|a'| < 1. - M1 is simpler and fast; M2 is the safer default for long chains.
- Division never alters the classical result under
phi; the policy only determines how you handle zero or near-zero magnitudes.
Integer powers (k in Z)
m_pow = m^k a_pow = a_of( k * u(a) ) # a_pow = tanh( k * atanh(a) ) s_pow( (m, a), k ) = (m_pow, a_pow)
Optional environment gate (alignment-only)
a_env = g_t * a_op # g_t in [0, 1] # magnitudes remain unchanged; gate applies to the final alignment channel only
Minimal defaults (declare once)
gamma = 1 eps_a = 1e-6 eps_w = 1e-12
Algebraic consistency (collapse safety)
- For every SSMS operator
op,phi( op( (m1,a1), (m2,a2) ) ) = op_classical(m1, m2). - Bounds hold by construction:
|a| < 1withclamp_a.
Navigation
Previous: Abstract and Overview (0.1)
Next: Continuity and Micro Examples with Banded Comparisons (0.3)