mis.pipeline.basesolver
source module mis.pipeline.basesolver
Shared definitions for solvers.
This module is useful mostly for users interested in writing new solvers.
Classes
-
BaseSolver — Abstract base class for all solvers (quantum or classical).
source class BaseSolver(instance: MISInstance, config: SolverConfig)
Bases : ABC
Abstract base class for all solvers (quantum or classical).
Provides the interface for solving, embedding, pulse shaping, and execution of MISproblems.
The BaseSolver also provides a method to execute the Pulse and Register
Initialize the solver with the MISinstance and configuration.
Parameters
-
instance : MISInstance — The MISproblem to solve.
-
config : SolverConfig — Configuration settings for the solver.
Methods
source method BaseSolver.solve() → list[MISSolution]
Solve the given MISinstance.
Parameters
-
instance — if None (default), use the original instance passed during
-
initialization. Otherwise, pass a custom instance. Used e.g. for
-
preprocessing.
Returns
-
list[MISSolution] — A list of solutions, ranked from best (lowest energy) to worst (highest energy).
source method BaseSolver.embedding() → Register
Generate or retrieve an embedding for the instance.
Returns
-
dict — Embedding information for the instance.
source method BaseSolver.pulse(embedding: Register) → Pulse
Generate a pulse schedule for the quantum device based on the embedding.
Parameters
-
embedding : Register — Embedding information.
Returns
-
Pulse — Pulse schedule.
source method BaseSolver.detuning(embedding: Register) → list[Detuning]
Return detunings to be executed alongside the pulses.
Parameters
-
embedding : Register — Embedding information.
Returns
-
list[Detuning] — The list of detunings.