PauliEvolutionSynthesisDefault
class qiskit.transpiler.passes.synthesis.hls_plugins.PauliEvolutionSynthesisDefault
Bases: HighLevelSynthesisPlugin
Synthesize a PauliEvolutionGate using the default synthesis algorithm.
This plugin name is:PauliEvolution.default which can be used as the key on an HLSConfig object to use this method with HighLevelSynthesis.
This plugin runs other implemented synthesis plugins, forwarding all options to the selected plugins. The choice of which synthesis plugins to run is heuristic. The current implementation generally runs PauliEvolutionSynthesisBasic, but might run PauliEvolutionSynthesisMcts to minimize the CX count if suitable. This selection is subject to change and should not be relied upon.
For greater control, specify HLSConfig with the relevant synthesis plugins directly.
The following plugin option directly influences this plugin:
- optimization_level: The optimization level used to select the synthesis algorithm. Higher levels generate potentially more optimized circuits, at the expense of longer transpilation time.
Methods
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Run synthesis for the given Operation.
Parameters
- high_level_object (Operation) – The Operation to synthesize to a
DAGCircuitobject. - coupling_map (CouplingMap) – The coupling map of the backend in case synthesis is done on a physical circuit.
- target (Target) – A target representing the target backend.
- qubits (list) – List of qubits over which the operation is defined in case synthesis is done on a physical circuit.
- options – Additional method-specific optional kwargs.
Returns
The quantum circuit representation of the Operation
when successful, and None otherwise.
Return type