Linear Algebra Interfaces

The interfaces module provides adapters for converting domain objects to linear algebra problems.

Interface Classes

class hiten.algorithms.linalg.interfaces._EigenDecompositionInterface[source]

Bases: _HitenBaseInterface[EigenDecompositionConfig, _EigenDecompositionProblem, EigenDecompositionResults, LinalgBackendResponse]

Adapter producing eigen-decomposition problems from matrices.

create_problem(*, domain_obj, config, options)[source]

Create a eigen-decomposition problem.

Parameters:
  • domain_obj (np.ndarray) – Matrix to decompose.

  • config (EigenDecompositionConfig) – Compile-time configuration (problem type, system type).

  • options (EigenDecompositionOptions, optional) – Runtime options (tolerances). If None, defaults are used.

Returns:

Eigen decomposition problem combining config and options.

Return type:

_EigenDecompositionProblem

to_backend_inputs(problem)[source]

Convert a eigen-decomposition problem to backend inputs.

Parameters:

problem (_EigenDecompositionProblem) – The eigen-decomposition problem.

Returns:

The backend inputs.

Return type:

_BackendCall

to_results(outputs, *, problem, domain_payload=None)[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

class hiten.algorithms.linalg.interfaces._LibrationPointInterface[source]

Bases: _HitenBaseInterface[EigenDecompositionConfig, _EigenDecompositionProblem, EigenDecompositionResults, LinalgBackendResponse]

create_problem(*, domain_obj, config, options)[source]

Create a eigen-decomposition problem.

Parameters:
  • domain_obj (LibrationPoint) – The domain object.

  • config (EigenDecompositionConfig) – Compile-time configuration (problem type, system type).

  • options (EigenDecompositionOptions, optional) – Runtime options (tolerances). If None, defaults are used.

Returns:

Eigen decomposition problem combining config and options.

Return type:

_EigenDecompositionProblem

to_backend_inputs(problem)[source]

Convert a eigen-decomposition problem to backend inputs.

Parameters:

problem (_EigenDecompositionProblem) – The eigen-decomposition problem.

Returns:

The backend inputs.

Return type:

_BackendCall

to_results(outputs, *, problem, domain_payload=None)[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