Abstract
We treat inverses and implicit solutions in symbolic space. For monotone f: R -> R, the inverse lift is f^{-1}*(y,a) = ( f^{-1}(y) , a ) on the appropriate range—alignment is carried from the target. For general implicit equations F(m, p)=0, the magnitude channel follows the classical Implicit Function Theorem, while the alignment of the solved quantity aggregates from inputs using sensitivity weights. Newton-style solvers update the magnitude; alignment is unchanged. Collapse phi(m,a)=m restores the classical theory.
Monotone inverse (unary)
Let f be continuous and strictly monotone on a domain D ⊂ R, with range R_f = f(D) and classical inverse f^{-1}: R_f -> D. Define the inverse lift
inv_f*((y, a)) = ( f^{-1}(y) , a ) for y in R_f
- Alignment propagation. The inverse reports the stability of the target value
y; hence we carrya. - Order. If
fis increasing, magnitude order is preserved; if decreasing, it is reversed. - Collapse.
phi( inv_f*((y,a)) ) = f^{-1}(y).
Guards & branches (nonmonotone f).
If f is not globally monotone (e.g., f(m)=m^2), choose a branch:
branch = "principal" (e.g., m >= 0) | "negative" | "nearest_to_seed" | "alignment_sign"
domain_guard = "error" | "nan"
Newton inversion (practical solver)
To solve f(m) = y* for m:
Given y* and seed m0 in D:
repeat until convergence:
m_{k+1} = m_k - ( f(m_k) - y* ) / f'(m_k) # line-search/bracketing optional
Return ( m*, a_y )
- Alignment: output
(m*, a_y)carries the target’s alignment. - Guards: stop if
|f'(m_k)|is too small; enforce domainD; optionally maintain a bracket. - Convergence: standard local quadratic convergence when
f'is nonzero and continuous near the root.
Manifest knobs
newton.tol = 1e-12
newton.max_iter = 50
newton.bracket = optional [L,U]
newton.deriv = "analytic" | "secant"
inverse.branch = <as above>
Implicit functions (multivariate)
Consider F(m, p) = 0, solving for m as a function of parameters p = (p_1,…,p_k) near a point where ∂F/∂m ≠ 0. Classical IFT gives a differentiable solution m = g(p).
Symbolic lift.
- Inputs:
p_i = (m_i, a_i). - Output magnitude:
phi( g*(p) ) = g(m_1,…,m_k)(classical). - Output alignment (sensitivity-weighted rapidity mean):
u_i = atanh( clamp(a_i, -1+eps, +1-eps) ), eps = 1e-6 s_i = | ∂g/∂p_i | = | (∂F/∂p_i) / (∂F/∂m) | by IFT a_out = tanh( ( Σ_i s_i * u_i ) / ( Σ_i s_i ) ) if Σ s_i > 0Fallback if alls_i = 0: usea_out = tanh( mean(u_i) )or+1(declare). - Collapse: with all
a_i = +1the alignment is+1andg*(p)collapses tog.
Root-finding form (no parameters).
For F(m)=0, the default tag is that of the target constant (usually (0, +1)), hence (m*, +1) unless you explicitly tag the target.
Worked examples
A) Inverting the exponential (increasing).
Solve exp(m) = 3 with target (y, a_y) = (3, 0.6).
- Inverse lift (closed form):
inv_exp*((3, 0.6)) = ( log(3) , 0.6 ) ≈ ( 1.098612 , 0.6 ). - Newton (seed m0 = 1):
m1 = 1 - (e^1 - 3)/e^1 ≈ 1.103638 m2 = m1 - (e^{m1} - 3)/e^{m1} ≈ 1.098663Return(1.09866…, 0.6).
B) Square-root branches (nonmonotone f(m)=m^2).
Target (y, a_y) = (9, -0.3); choose a policy.
branch = "principal"(m >= 0):inv_{square}*((9, -0.3)) = ( +3 , -0.3 ).branch = "alignment_sign"(pick sign bya_y): sincea_y < 0, choose negative branch ⇒( -3 , -0.3 ).
C) Two-parameter implicit example.F(m, p1, p2) = m^2 - p1 * p2 = 0 ⇒ m = sqrt( p1 * p2 ) on p1>0, p2>0, principal branch.
Parameters: p1 = (4, 0.5), p2 = (9, 0.1).
- Magnitude:
m = sqrt(36) = 6. - Sensitivities:
∂g/∂p1 = p2 / (2 m) = 9/12 = 0.75,∂g/∂p2 = p1 / (2 m) = 4/12 ≈ 0.3333. - Alignment:
u1 = atanh(0.5)=0.5493,u2 = atanh(0.1)=0.1003u_out = (0.75*0.5493 + 0.3333*0.1003) / (0.75 + 0.3333) ≈ 0.411 a_out = tanh(0.411) ≈ 0.389Result:( 6 , 0.389 ).
Ordering and continuity
- Order via monotonicity. If
fis increasing onD, theny1 <= y2impliesf^{-1}(y1) <= f^{-1}(y2)on magnitudes; decreasing reverses order. - Continuity. Inverse and implicit lifts are continuous where the classical maps are continuous and
∂F/∂m ≠ 0. - Composition identities.
f*( inv_f*((y,a)) ) = ( y , a ) inv_f*( f*(m,a) ) = ( m , a ) when m in D
Implementation notes (manifest)
inverse.domain = D
inverse.range = R_f
inverse.branch = "principal" | "negative" | "nearest_to_seed" | "alignment_sign"
domain_guard = "error" | "nan"
newton.tol = 1e-12
newton.max_iter = 50
newton.line_search = on/off
newton.bracket = optional [L,U]
derivative.mode = "analytic" | "secant"
derivative.safeguard = eps_fprime = 1e-12
implicit.alignment.policy = "sensitivity_mean"
implicit.sensitivity = s_i = |(∂F/∂p_i)/(∂F/∂m)|
fallback_alignment = "mean_u" # if Σ s_i = 0
zero_policy = "canonical_zero" # (0,+1) for exact zeros
Takeaway
Inverse and implicit operations in SSM act on magnitudes exactly as in classical analysis, while alignment is (i) carried from the target for unary inverses and (ii) aggregated from parameters via IFT sensitivities for implicit maps. Newton updates modify only m; a is preserved. Under collapse, every construction is classical.
Navigation
Previous → Multivariate lifts & aggregators (2.44)
Next → Inequalities through functions (2.46)
Disclaimer
Observation only. Results reproduce mathematically; domain claims require independent peer review. Defaults: mult_mode = M2, clamp_eps = 1e-6, |a| < 1. All formulas are presented in plain text. Collapse uses phi(m,a) = m.