Skip to main content
IBM Quantum Platform

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

Deprecated since version 1.3

qiskit.transpiler.passmanager_config.PassManagerConfig.__init__()’s argument inst_map is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and this argument uses a dependency on the package.

Deprecated since version 1.4

qiskit.transpiler.passmanager_config.PassManagerConfig.__init__()’s argument backend_properties is deprecated as of Qiskit 1.4. It will be removed in Qiskit 2.0. The BackendProperties data structure has been deprecated and will be removed in Qiskit 2.0. The target input argument should be used instead. You can use Target.from_configuration() to build the target from the properties object, but in 2.0 you will need to generate a target directly.

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.