Shunyaya Symbolic Mathematical Chemistry – Alignment Assignment + Direction (4.2–4.3)

Short version. We map a single, dimensionless contrast e to two bounded alignments for reactants and products with one symmetric rule. This keeps everything bounded, collapse-safe, and gives direction without lookup tables: for fixed stoichiometry, sign(RSI) = sign(e).

Why this matters

  • One rule, two sides. The reactant and product alignments mirror each other, delivering a clean, auditable “which way wants to happen” signal.
  • Bounded and stable. tanh keeps |a| < 1; a tiny clamp avoids +/-1 saturation.
  • Direction from algebra, not tables. Once e is fixed, the sign of RSI follows mechanically.

Key properties at a glance

  • Pair symmetry: a_prod = -a_react for the same e.
  • Monotone: increasing e raises a_prod and lowers a_react.
  • Bounded: a_react, a_prod stay in (-1, +1) with the clamp.
  • Sign linkage: sign(a_prod) = sign(e).
  • Direction lemma (recap): with weights w = |m|^gamma (gamma >= 0), sign(RSI) = sign(e).
  • Calibration knobs: c sets steepness (see 4.4A). eps_a prevents numeric overflow near +/-1.

Implementation notes

  • Clamp before rapidities. Always clamp every alignment to |a| <= 1 - eps_a before any atanh.
  • Fix the lens. Keep c > 0 and one contrast lens for the whole study (see 4.1).
  • Guard denominators. Use eps_w > 0 when forming RSI.

Plain ASCII formulas (copy-ready)

Definition (alignment assignment)

a_react = tanh( -c * e )
a_prod  = tanh( +c * e )

; numeric guard (apply after computing a)
a := sign(a) * min( abs(a), 1 - eps_a )

Minimal pseudocode (alignment)

input: e, c > 0, eps_a > 0

a_react := tanh( -c * e )
a_prod  := tanh( +c * e )

a_react := (1 if a_react >= 0 else -1) * min( abs(a_react), 1 - eps_a )
a_prod  := (1 if a_prod  >= 0 else -1) * min( abs(a_prod),  1 - eps_a )

return a_react, a_prod

Direction without tables (Sign Lemma recap)

Given: w = |m|^gamma (gamma >= 0), W_r = sum_over_reactants(w_r) > 0

U_r = sum_r( w_r * atanh(a_react) ) = -(c * e) * W_r
V_p = sum_p( w_p * atanh(a_prod) )  =  (c * e) * W_p
s   = ( V_p - U_r ) / W_r = (c * e) * ( 1 + W_p / W_r )
RSI = tanh( s )

=> sign(RSI) = sign(e)


Navigation
Previous – Contrast (e): canonical definition (4.1)
Next – Choosing Scales + Calibration (4.4–4.4A)