Shunyaya Symbolic Mathematics — Rational functions (2.32)

Abstract
We lift rational functions to symbolic numerals (m, a) in a way that preserves classical magnitudes while keeping alignment bookkeeping clean. For a classical rational function f(m) = p(m)/q(m), we define f*(m,a) = ( f(m) , a ) on the domain q(m) != 0 (and on any chosen monotone sub-intervals for order claims). Products/quotients inside composite formulas use the default multiplicative rule (M2) on the alignment channel. Under collapse phi(m,a) = m, all results reduce to the classical theory.


Definition and domain

Lift.

Given f(m) = p(m) / q(m), define
f*(m, a) = ( p(m)/q(m) , a )      on D = { m : q(m) != 0 }.

  • The alignment a is carried because f is a unary magnitude map.
  • When you build f from symbolic factors (e.g., (m,a) odiv (g(m),b)), combine alignments by M2: u_out = atanh(a) - atanh(b) ; a_out = tanh(u_out) Magnitude uses the usual quotient.

Continuity & monotonicity.
f is continuous on each component of D. Local monotonicity holds on intervals that avoid critical points where

f'(m) = (p'(m) q(m) - p(m) q'(m)) / q(m)^2 = 0

and the poles where q(m)=0. Order claims use the “composition on monotone domains” rule (see 2.38 cross-link).


Zeros, poles, and removable singularities

Zeros. Points where p(m0)=0 and q(m0) != 0; multiplicity inherited from p.

Poles. Points where q(m0)=0 and p(m0) != 0; order inherited from q.
Near a simple pole m0, |f(m)| -> +inf as m -> m0±.

Removable singularities (cancellations).
If p and q share a factor (m - m0)^k, simplify first:

p = (m - m0)^k * p̃ ,     q = (m - m0)^k * q̃
⇒ f(m) = p̃(m) / q̃(m)   for m != m0

Default policy: leave m0 excluded (partial function). Optional policy (declare in manifest): fill by limit f(m0) := lim_{m->m0} p(m)/q(m) when it exists (the “removable fill-in”).

Poles/zeros table (per problem).

  • List zeros {(m_i, mult r_i)} and poles {(n_j, order s_j)}.
  • Note one-sided signs of f around each n_j if needed.

Division-by-zero conventions (meadow note)

  • Default (recommended): partialf*(m,a) is undefined when q(m)=0.
  • Meadow-0 (optional): totalize by setting division by zero to zero: (x,a) odiv (0,b) := (0, +1) This preserves algebraic identities but changes analysis near poles. Use only when a total algebraic structure is required; state it in the manifest.
  • Limit-fill (optional): if the singularity is removable, define the value by the limit; otherwise leave undefined.

State your choice in the reproducibility manifest (division_policy = partial | meadow0 | limit_fill).


Ordering and tie rules

  • On any interval where f is monotone increasing: (m1,a1) <=_m (m2,a2) ⇒ f*(m1,a1) <=_m f*(m2,a2) For decreasing intervals, the magnitude order reverses.
  • When magnitudes tie (e.g., different preimages mapping to the same f(m)), break ties using your declared symbolic preorder (e.g., via S_beta), not by cross-branch inference.

Worked examples

A) Removable singularity.
f(m) = (m^2 - 1) / (m - 1); simplify to m + 1 on m != 1.

  • Default (partial):
    f*((1, a)) is undefined (domain excludes m=1).
  • Limit-fill option:
    lim_{m->1} f(m) = 2, so f*((1, a)) = (2, a) if declared.
  • Away from m=1: f*((3, 0.4)) = (4, 0.4).

B) Simple pole.
g(m) = 1 / (m - 2); domain m != 2.
g*((1.5, -0.3)) = ( -2 , -0.3 ); g*((3, 0.8)) = ( 1 , 0.8 ).
Approaching m=2, magnitudes blow up; a is carried only where defined. Under meadow-0, g*((2, a)) = (0, +1) by convention (but this alters asymptotics).

C) Quotient via M2 alignment.
Evaluate (x,a) odiv (h(x), b) at x=2. Suppose h(2)=4, a=0.6, b=-0.2.

m_out = 2 / 4 = 0.5
u_out = atanh(0.6) - atanh(-0.2) ≈ 0.693 + 0.203 = 0.896
a_out = tanh(0.896) ≈ 0.714
Result: (0.5, 0.714)

This illustrates M2 on the alignment channel for expression-level quotients.


Numerical and symbolic notes (manifest)

  • Simplify first. When feasible, cancel common factors before evaluation (records: simplify_rational = true/false).
  • Critical set. Record poles and stationary points for monotonicity claims: C = { m : q(m)=0 } ∪ { m : p'(m)q(m) - p(m)q'(m) = 0 }
  • Evaluation scheme. Use Horner’s rule for p and q; avoid overflow near poles by scaling or interval arithmetic if needed.
  • Division policy. Declare division_policy as above; if meadow0, note the analytical caveats in the page manifest.
  • Zero-class. Any exact zero in magnitude is canonicalized to (0, +1).

Takeaway

Rational functions lift cleanly as ( p(m)/q(m) , a ) on their classical domain. Poles/zeros control continuity and order; M2 governs alignment when rational expressions are built from products/quotients. Choose and declare a clear division-by-zero policy (partial, meadow-0, or limit-fill). Under collapse, everything matches the classical theory.


Navigation
Previous → Elementary algebraic functions — powers & roots (2.31)
Next → Inverse trigonometric functions (2.33)


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.