Tracking Results

Result Accessors

julia> @variables x y;
julia> CC = AcbField(256);
julia> F = [x^2 + 3y - 4, y^2 + 3];
julia> G = [x^2 - 1, y^2 - 1];
julia> H = straight_line_homotopy(F, G, [x, y]; CCRing=CC);Compilation Done.
julia> res = track_path(H, [CC(1), CC(-1)]);
julia> success(res)true
julia> solution(res)2-element Vector{ComplexF64}: 2.2975463569110812 + 1.1308046967304004im 1.2885245759880948e-13 - 1.732050807568725im
julia> certified_region(res)2-element Vector{AcbFieldElem}: 2.29754635691108122230730259616393595933914184570312500000000000000000000000000 + 1.13080469673040040490263891115318983793258666992187500000000000000000000000000*im 1.28852457598809476933821027699877959094010293483734130859375000000000000000000e-13 - 1.73205080756872509262223047699080780148506164550781250000000000000000000000000*im
julia> approximate_solution(res; digits=5)2-element Vector{ComplexF64}: 2.29755 + 1.1308im 0.0 - 1.73205im
CertifiedHomotopyTracking.TrackResultType
TrackResult

Result object returned by track_path.

The most commonly used fields are:

  • success::Bool: whether the path was certified and finished in the requested affine chart.
  • status::Symbol: machine-readable status such as :success, :step_too_small, :near_infinity, or :final_refinement_failed.
  • root: certified endpoint region in affine coordinates when possible.
  • projective_root: certified endpoint region in homogeneous coordinates for projective tracking.
  • iterations, accepted_steps, rejected_steps: path-tracking counters.
  • final_t, final_h, final_radius, final_krawczyk_norm: final tracking diagnostics. For inspecting the last attempted step when tracking fails.
  • initial_precision, final_precision: precision used by adaptive tracking.

TrackResult also iterates as (certified_region, success) for compatibility with older code, but new code should prefer the named accessors.

Example

@variables x y;
CC = AcbField(256);
F = [x^2 + 3y - 4, y^2 + 3];
G = [x^2 - 1, y^2 - 1];
H = straight_line_homotopy(F, G, [x, y]; CCRing=CC);

res = track_path(H, [CC(1), CC(-1)]);
success(res)
solution(res)
certified_region(res)
source
Base.successFunction
success(res::TrackResult)

Return res.success.

Use this before trusting the endpoint as a completed certified path. For failure diagnostics inspect res.status.

source
CertifiedHomotopyTracking.solutionFunction
solution(res::TrackResult)

Return a Vector{ComplexF64} obtained from the midpoint of certified_region. This is convenient for display and downstream numerical checks, but it is not itself an interval certificate.

source
solution(cert::PosterioriPathResult)

Return a Vector{ComplexF64} obtained from the midpoint of the certified endpoint region certified_region.

source
CertifiedHomotopyTracking.certified_regionFunction
certified_region(res::TrackResult)

Return the certified endpoint center stored in res.root.

The certification radius is stored separately as res.final_radius; the entries returned here may have zero Arb/ACB radius. For projective tracking this is the endpoint converted back to the original affine chart when possible. If the path ends near infinity in that affine chart, inspect projective_solution.

source
certified_region(cert::PosterioriPathResult)

Return the certified endpoint region obtained by a posteriori certification.

This is the Moore-refined endpoint box for the final trace node, stored as an ACB vector. For projective a posteriori certification, the endpoint box is converted back to the original affine coordinates when possible.

source