Corrector Interfaces

The interfaces module provides domain-specific interfaces for correction algorithms.

Periodic Orbit Corrector Interface

_PeriodicOrbitCorrectorInterface()

Adapter wiring periodic orbits to the Newton correction backend.

class hiten.algorithms.corrector.interfaces._PeriodicOrbitCorrectorInterface[source]

Bases: _HitenBaseInterface[_OrbitCorrectionConfig, _OrbitCorrectionProblem, OrbitCorrectionResult, tuple[ndarray, int, float]]

Adapter wiring periodic orbits to the Newton correction backend.

create_problem(*, domain_obj, config, stepper_factory=None)[source]

Create a correction problem.

Parameters:
Returns:

The correction problem.

Return type:

_OrbitCorrectionProblem

to_backend_inputs(problem)[source]

Convert a correction problem to backend inputs.

Parameters:

problem (_OrbitCorrectionProblem) – The correction problem.

Returns:

The backend inputs.

Return type:

_BackendCall

to_domain(outputs, *, problem)[source]

Convert backend outputs to domain results.

Parameters:
Returns:

The domain results.

Return type:

dict of str, Any

to_results(outputs, *, problem, domain_payload=None)[source]

Convert backend outputs to domain results.

Parameters:
  • outputs (tuple of ndarray, int, float) – The backend outputs.

  • problem (_OrbitCorrectionProblem) – The correction problem.

  • domain_payload (dict of str, Any) – The domain payload.

Returns:

The domain results.

Return type:

OrbitCorrectionResult