Abstract
Extends plane geometry to centre-aware space. A point is (x, y, a), where a ∈ [−1, +1] is alignment. Interpolation happens in rapidity u = atanh(a), and distances are Euclidean in the embedded coordinates (x, y, λ_u * u). Collapse recovers classical geometry.
📍 Symbolic point
A symbolic point is
P = (x, y, a)
x, y— classical coordinates (with units)a ∈ [−1, +1]— alignment with the centre
Interpretation
A point is not only where it is but also how stable it is relative to its centre.
Numeric examples
P = (2, 3, +0.9)— stable point near centre (Pearo).Q = (2, 3, −0.7)— same location, drifting toward instability (Nearo).
🚀 Rapidity coordinate & scaling (u-space)
Work with rapidity
u = atanh(a)
Clamp first: a_clamped = clamp(a, −1+eps, +1−eps), with eps = 1e−6.
Because u is dimensionless while x, y carry units, introduce a geometry scale for the alignment axis:
λ_u > 0 # geometry.lambda_u (default 1)
Choose λ_u so that λ_u * u has the same length units as x, y.
📈 Symbolic line (⊕-compatible interpolation)
Line through P1 = (x1, y1, a1) and P2 = (x2, y2, a2).
For t ∈ [0, 1]:
x(t) = (1 − t) x1 + t x2
y(t) = (1 − t) y1 + t y2
u(t) = (1 − t) atanh(a1_clamped) + t atanh(a2_clamped)
a_line(t) = tanh( u(t) )
This avoids linear artefacts in a and keeps alignment bounded.
Numeric exampleP1 = (0,0,+0.8), P2 = (1,1,−0.6)u1 ≈ 1.099, u2 ≈ −0.693t = 0.5 → u_mid ≈ 0.203 → a_mid = tanh(0.203) ≈ +0.200
Midpoint leans slightly Pearo despite a Nearo endpoint.
📏 Symbolic distance (λ-weighted)
For P1 = (x1, y1, a1) and P2 = (x2, y2, a2) with u_i = atanh(a_i_clamped):
d_λ(P1, P2) = sqrt( (x2 − x1)^2 + (y2 − y1)^2 + ( λ_u * (u2 − u1) )^2 )
- Two points can be co-located in
x–yyet far apart symbolically if their alignments differ. - Distance grows as either point approaches
|a| → 1(since|u| → ∞). - Tune
λ_uto weigh alignment differences against spatial offsets.
Numeric exampleP1 = (0,0,+0.9), P2 = (0,0,−0.9), λ_u = 1u1 ≈ +1.472, u2 ≈ −1.472d = |λ_u| * |u2 − u1| ≈ 2.944 — classically the same point; symbolically far apart.
Properties
- Translation-invariant in
x, y, u - Rotation-invariant in the
x–yplane - Triangle inequality holds (Euclidean in
(x, y, λ_u * u))
Manifest fieldgeometry.lambda_u: 1 (declare any other choice; ensure units are consistent).
🟢 Symbolic shapes (examples)
Classical circle{ (x, y) : sqrt( (x − x0)^2 + (y − y0)^2 ) = r }
Symbolic circle (sphere in x–y–u space)
Let u = atanh(a), u0 = atanh(a0_clamped):
{ (x, y, a) : sqrt( (x − x0)^2 + (y − y0)^2 + ( λ_u * (u − u0) )^2 ) = r }
Interpretation — radius couples spatial displacement with alignment drift.
Numeric check
Centre (0,0,+0.8) → u0 ≈ 1.099, r = 2, λ_u = 1.
At (1,1,a):
sqrt(1^2 + 1^2 + (atanh(a) − 1.099)^2) = 2
→ determines allowable a at that location.
Symbolic square (illustration)
Classical corners: (0,0), (1,0), (1,1), (0,1)
Symbolic corners: (0,0,+1), (1,0,+1), (1,1,−0.6), (0,1,−0.6)
Geometrically still a square; symbolically the top edge drifts Nearo, exposing an unstable boundary.
⚖️ Centres & barycentres (alignment-aware)
Given points P_i = (x_i, y_i, a_i) with weights w_i ≥ 0 (default w_i = 1):
x_bar = ( Σ w_i x_i ) / ( Σ w_i )
y_bar = ( Σ w_i y_i ) / ( Σ w_i )
u_bar = ( Σ w_i atanh(a_i_clamped) ) / ( Σ w_i )
a_bar = tanh(u_bar)
Geometric analogue of the rapidity mean used by ⊕; stays in [-1, +1] and avoids edge artefacts.
🔻 Collapse to classical geometry
Applying phi discards alignment: points map to (x, y) and distances reduce to
d_classical( (x1,y1), (x2,y2) ) = sqrt( (x2 − x1)^2 + (y2 − y1)^2 )
All symbolic shapes reduce to their classical counterparts.
✅ Takeaway
Symbolic geometry embeds the plane into (x, y, λ_u * u), making stability a first-class geometric axis. Interpolation in u keeps alignment bounded; distances and shapes can weight stability differences via λ_u. Collapse recovers ordinary geometry; keeping a reveals hidden stresses in maps, meshes, and fields.
Navigation
Previous → Calculus foundations
Next → Topology & continuity
Disclaimer
Observation only. Reproducible math; domain claims require independent peer review. Defaults: gamma=1, mult_mode=M2, clamp_eps=1e-6, |a|<1.