B2QSynthesisPluginManager

class B2QSynthesisPluginManager

Bases: object

A simple manager of the installed boson-to-qubit synthesis plugins.

All plugins that are registered under the qiskit_bosons.transpiler.synthesis entry-point will be available to this class and get exposed by the plugins attribute. Below is an example from the pyproject.toml of this package itself:

[project.entry-points."qiskit_bosons.transpiler.synthesis"]
"Evolution.MapperFn" = "qiskit_bosons.transpiler.passes.synthesis:MapperFnEvolutionSynthesis"
"InitializeModes.Occupation" = "qiskit_bosons.transpiler.passes.synthesis:OccupationInitializeModesSynthesis"

An overview of all builtin plugins is given here.

Attributes

plugins: dict[str, list[str]]

A dictionary mapping circuit instruction names to their synthesis methods.

The keys of this dictionary are names of BosonicGate classes. The values are the list of installed B2QSynthesisPlugin methods that may be used to synthesize the instances of that particular gate to its qubit form.

Methods

method(op_name, method_name)

Returns the requested B2QSynthesisPlugin type.

Parameters:
  • op_name (str) – the name of the operation whose plugin to return.

  • method_name (str) – the name of the synthesis plugin.

Returns:

The B2QSynthesisPlugin class.

Return type:

type[B2QSynthesisPlugin]

method_names(op_name)

Returns the names of all installed plugin methods for a given circuit instruction.

Parameters:

op_name (str) – the name of the operation whose synthesis methods to return.

Returns:

The list of installed plugin method names.

Return type:

list[str]

op_names()

Returns the names of all circuit instructions for which any plugin is installed.

Return type:

list[str]