Skip to main contentIBM Quantum Documentation
This page is from the dev version of Qiskit SDK. Go to the stable version

PassManagerConfig

class qiskit.transpiler.PassManagerConfig(initial_layout=None, basis_gates=None, inst_map=None, coupling_map=None, layout_method=None, routing_method=None, translation_method=None, scheduling_method=None, instruction_durations=None, backend_properties=None, approximation_degree=None, seed_transpiler=None, timing_constraints=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, target=None, hls_config=None, init_method=None, optimization_method=None, qubits_initially_zero=True)

GitHub

Bases: object

Pass Manager Configuration.

Initialize a PassManagerConfig object

Parameters

  • initial_layout (Layout) – Initial position of virtual qubits on physical qubits.
  • basis_gates (list) – List of basis gate names to unroll to.
  • inst_map (InstructionScheduleMap) – Mapping object that maps gate to schedule.
  • coupling_map (CouplingMap) – Directed graph represented a coupling map.
  • layout_method (str) – the pass to use for choosing initial qubit placement. This will be the plugin name if an external layout stage plugin is being used.
  • routing_method (str) – the pass to use for routing qubits on the architecture. This will be a plugin name if an external routing stage plugin is being used.
  • translation_method (str) – the pass to use for translating gates to basis_gates. This will be a plugin name if an external translation stage plugin is being used.
  • scheduling_method (str) – the pass to use for scheduling instructions. This will be a plugin name if an external scheduling stage plugin is being used.
  • instruction_durations (InstructionDurations) – Dictionary of duration (in dt) for each instruction.
  • backend_properties (BackendProperties) – Properties returned by a backend, including information on gate errors, readout errors, qubit coherence times, etc.
  • approximation_degree (float) – heuristic dial used for circuit approximation (1.0=no approximation, 0.0=maximal approximation)
  • seed_transpiler (int) – Sets random seed for the stochastic parts of the transpiler.
  • timing_constraints (TimingConstraints) – Hardware time alignment restrictions.
  • unitary_synthesis_method (str) – The string method to use for the UnitarySynthesis pass. Will search installed plugins for a valid method. You can see a list of installed plugins with unitary_synthesis_plugin_names().
  • target (Target) – The backend target
  • hls_config (HLSConfig) – An optional configuration class to use for HighLevelSynthesis pass. Specifies how to synthesize various high-level objects.
  • init_method (str) – The plugin name for the init stage plugin to use
  • optimization_method (str) – The plugin name for the optimization stage plugin to use.
  • qubits_initially_zero (bool) – Indicates whether the input circuit is zero-initialized.

Methods

from_backend

classmethod from_backend(backend, _skip_target=False, **pass_manager_options)

GitHub

Construct a configuration based on a backend and user input.

This method automatically generates a PassManagerConfig object based on the backend’s features. User options can be used to overwrite the configuration.

Deprecated since version 1.3

The method PassManagerConfig.from_backend will stop supporting inputs of type BackendV1 in the backend parameter in a future release no earlier than 2.0. BackendV1 is deprecated and implementations should move to BackendV2.

Parameters

  • backend (BackendV1 orBackendV2) – The backend that provides the configuration.
  • pass_manager_options – User-defined option-value pairs.

Returns

The configuration generated based on the arguments.

Return type

PassManagerConfig

Raises

AttributeError – If the backend does not support a configuration() method.

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