Poincare Interfaces
The interfaces module provides domain translation interfaces for Poincare map computations.
Center Manifold Interfaces
- class hiten.algorithms.poincare.centermanifold.interfaces._CenterManifoldInterface[source]
Bases:
_PoincareBaseInterface
[_CenterManifoldMapConfig
,_CenterManifoldMapProblem
,CenterManifoldMapResults
,tuple
[ndarray
|None
,ndarray
|None
]]- create_problem(*, domain_obj, config)[source]
Compose an immutable problem payload for the backend.
- Parameters:
config (
ConfigT
| None, optional) – The configuration to use for the problem*args (Any) – Additional arguments to pass to the problem.
domain_obj (CenterManifold)
- Returns:
The problem payload.
- Return type:
ProblemT
- to_backend_inputs(problem)[source]
Translate a problem into backend invocation arguments.
- Parameters:
problem (
ProblemT
) – The problem to translate into backend invocation arguments.- Returns:
The backend invocation arguments.
- Return type:
- to_domain(outputs, *, problem)[source]
Optional hook to mutate or derive domain artefacts from outputs.
- Parameters:
outputs (
OutputsT
) – The outputs to mutate or derive domain artefacts from.problem (
ProblemT
) – The problem to mutate or derive domain artefacts from.
- Returns:
The domain artefacts.
- Return type:
Any
- to_results(outputs, *, problem)[source]
Package backend outputs into user-facing result objects.
- Parameters:
outputs (
OutputsT
) – The outputs to package into user-facing result objects.problem (
ProblemT
) – The problem to package into user-facing result objects.domain_payload (Any, optional) – The domain payload to package into user-facing result objects.
- Returns:
The user-facing result objects.
- Return type:
ResultT
- solve_missing_coord(varname, fixed_vals, *, h0, H_blocks, clmo_table, initial_guess=0.001, expand_factor=2.0, max_expand=40, symmetric=False, xtol=1e-12)[source]
Solve H(q,p) = h0 for one coordinate given fixed values.
Returns the coordinate value (root) if a valid bracket is found and the root is located; otherwise returns None.
- find_turning(q_or_p, *, h0, H_blocks, clmo_table, initial_guess=0.001, expand_factor=2.0, max_expand=40, symmetric=False, xtol=1e-12)[source]
Find absolute turning point for a CM coordinate.
Solves for the maximum absolute value of the coordinate where the energy constraint can be satisfied, with all other CM coordinates set to zero.
- lift_plane_point(plane, *, section_coord, h0, H_blocks, clmo_table, initial_guess=0.001, expand_factor=2.0, max_expand=40, symmetric=False, xtol=1e-12)[source]
Lift a 2D plane point to a 4D center-manifold state.
Returns (q2, p2, q3, p3) on the section if solvable; otherwise None.
Synodic Interfaces
- class hiten.algorithms.poincare.synodic.interfaces._SynodicInterface[source]
Bases:
_PoincareBaseInterface
[_SynodicMapConfig
,_SynodicMapProblem
,SynodicMapResults
,Tuple
[ndarray
,ndarray
,ndarray
|None
]]- create_problem(*, domain_obj, config)[source]
Compose an immutable problem payload for the backend.
- Parameters:
config (
ConfigT
| None, optional) – The configuration to use for the problem*args (Any) – Additional arguments to pass to the problem.
- Returns:
The problem payload.
- Return type:
ProblemT
- to_backend_inputs(problem)[source]
Translate a problem into backend invocation arguments.
- Parameters:
problem (
ProblemT
) – The problem to translate into backend invocation arguments.- Returns:
The backend invocation arguments.
- Return type:
- to_results(outputs, *, problem)[source]
Package backend outputs into user-facing result objects.
- Parameters:
outputs (
OutputsT
) – The outputs to package into user-facing result objects.problem (
ProblemT
) – The problem to package into user-facing result objects.domain_payload (Any, optional) – The domain payload to package into user-facing result objects.
- Returns:
The user-facing result objects.
- Return type:
ResultT