F2QSynthesisPluginManager

class F2QSynthesisPluginManager

Bases: object

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

All plugins that are registered under the qiskit_fermions.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_fermions.transpiler.synthesis"]
"Evolution.MapperFn" = "qiskit_fermions.transpiler.passes.synthesis:MapperFnEvolutionSynthesis"
"InitializeModes.TrivialOccupation" = "qiskit_fermions.transpiler.passes.synthesis:TrivialOccupationInitializeModesSynthesis"
"OrbitalRotation.GivensDecomposition" = "qiskit_fermions.transpiler.passes.synthesis:GivensDecompositionOrbitalRotationSynthesis"

An overview of all builtin plugins is given in this table.

Attributes

plugins: dict[str, list[str]]

A dictionary mapping circuit instruction names to their synthesis methods.

The keys of this dictionary are names of FermionicGate classes. The values are the list of installed F2QSynthesisPlugin 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 F2QSynthesisPlugin 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 F2QSynthesisPlugin class.

Return type:

type[F2QSynthesisPlugin]

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]