About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
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)
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 withunitary_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.
Methods
from_backend
classmethod from_backend(backend, _skip_target=False, **pass_manager_options)
Construct a configuration based on a backend and user input.
This method automatically gererates a PassManagerConfig object based on the backend’s features. User options can be used to overwrite the configuration.
Parameters
- backend (BackendV1) – The backend that provides the configuration.
- pass_manager_options – User-defined option-value pairs.
Returns
The configuration generated based on the arguments.
Return type
Raises
AttributeError – If the backend does not support a configuration() method.
Was this page helpful?
Report a bug or request content on GitHub.