Certified complex numbers over real backends
Combine refinable real representations, calculate complex functions, and inspect principal-branch evidence.
Construct one complex number
The lowercase complex plugin represents one complex number using two certified singleton real components. Exact Rationals work directly:
Arithmetic follows the usual Cartesian formulas and embeds real Rationals on the real axis:
Mix certified real representations
Components need not use the same backend. Here an isolating algebraic real and a continued-fraction real retain their own refinement procedures:
Both returned intervals enclose the same mathematical sqrt(2). A finite .ball(midpoint,radius) is intentionally rejected here because it denotes a set, not one refinable real.
Refine arithmetic and entire functions
Elementary complex functions build recipes from the certified real Numerics algorithms. Refining the result gives another containing rectangle:
Inspect zero separation before division
Origin containment is a certification question. Exact inputs decide immediately, while a coarse refinable input can remain unknown until given a tighter request:
Exact division by zero is rejected. A quotient over refinable components keeps zero separation as a deferred certified obligation in its component recipes.
Keep branch outcomes visible
The convenience functions use the principal convention -pi < argument <= pi. The result forms additionally preserve cut and origin classification:
The boundary values are conventional principal values, but their :branchBoundary status warns analytic transformations that no open neighborhood avoids the cut.
Enclose images of complex sets
Regions denote sets rather than hidden singleton values. A centered disc uses the direct validated analytic kernel, while a rectangle uses outward interval ranges:
Subdivide uncertainty without hiding it
Any cells left by the work/depth budget remain in unresolved, still carrying their certified outward rectangles.