Skip to main content
IBM Quantum Platform
This page is from the dev version of Qiskit SDK. Go to the stable version.

PauliEvolutionSynthesisDefault

class qiskit.transpiler.passes.synthesis.hls_plugins.PauliEvolutionSynthesisDefault

GitHub

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)

GitHub

Run synthesis for the given Operation.

Parameters

  • high_level_object (Operation) – The Operation to synthesize to a DAGCircuit object.
  • 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

QuantumCircuit

Was this page helpful?
Report a bug, typo, or request content on GitHub.