- class 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)[source]¶
Pass Manager Configuration.
Initialize a PassManagerConfig object
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
UnitarySynthesispass. Will search installed plugins for a valid method.
target (Target) -- The backend target
hls_config (HLSConfig) -- An optional configuration class to use for
HighLevelSynthesispass. 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.
Construct a configuration based on a backend and user input.