qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager¶
- generate_preset_pass_manager(optimization_level, backend=None, target=None, basis_gates=None, inst_map=None, coupling_map=None, instruction_durations=None, backend_properties=None, timing_constraints=None, initial_layout=None, layout_method=None, routing_method=None, translation_method=None, scheduling_method=None, approximation_degree=None, seed_transpiler=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, hls_config=None, init_method=None, optimization_method=None)[Quellcode]¶
Generate a preset
PassManager
This function is used to quickly generate a preset pass manager. A preset pass manager are the default pass managers used by the
transpile()
function. This function provides a convenient and simple method to construct a standalonePassManager
object that mirrors what the transpile- Parameter
optimization_level (int) –
The optimization level to generate a
PassManager
for. This can be 0, 1, 2, or 3. Higher levels generate more optimized circuits, at the expense of longer transpilation time:0: no optimization
1: light optimization
2: heavy optimization
3: even heavier optimization
backend (Backend) – An optional backend object which can be used as the source of the default values for the
basis_gates
,inst_map
,couplig_map
,backend_properties
,instruction_durations
,timing_constraints
, andtarget
. If any of those other arguments are specified in addition tobackend
they will take precedence over the value contained in the backend.target (Target) – The
Target
representing a backend compilation target. The following attributes will be inferred from this argument if they are not set:coupling_map
,basis_gates
,instruction_durations
,inst_map
,timing_constraints
andbackend_properties
.basis_gates (list) – List of basis gate names to unroll to (e.g:
['u1', 'u2', 'u3', 'cx']
).inst_map (InstructionScheduleMap) – Mapping object that maps gate to schedules. If any user defined calibration is found in the map and this is used in a circuit, transpiler attaches the custom gate definition to the circuit. This enables one to flexibly override the low-level instruction implementation.
coupling_map (CouplingMap) – Directed graph represented a coupling map.
instruction_durations (InstructionDurations) – Dictionary of duration (in dt) for each instruction.
timing_constraints (TimingConstraints) – Hardware time alignment restrictions.
initial_layout (Layout) – Initial position of virtual qubits on physical qubits.
layout_method (str) – The
Pass
to use for choosing initial qubit placement. Valid choices are'trivial'
,'dense'
,'noise_adaptive'
, and,'sabre'
representingTrivialLayout
,DenseLayout
,NoiseAdaptiveLayout
,SabreLayout
respectively. This can also be the external plugin name to use for thelayout
stage of the outputStagedPassManager
. You can see a list of installed plugins by usinglist_stage_plugins()
with"layout"
for thestage_name
argument.routing_method (str) – The pass to use for routing qubits on the architecture. Valid choices are
'basic'
,'lookahead'
,'stochastic'
,'sabre'
, and'none'
representingBasicSwap
,LookaheadSwap
,StochasticSwap
,SabreSwap
, and erroring if routing is required respectively. This can also be the external plugin name to use for therouting
stage of the outputStagedPassManager
. You can see a list of installed plugins by usinglist_stage_plugins()
with"routing"
for thestage_name
argument.translation_method (str) – The method to use for translating gates to basis gates. Valid choices
'unroller'
,'translator'
,'synthesis'
representingUnroller
,BasisTranslator
, andUnitarySynthesis
respectively. This can also be the external plugin name to use for thetranslation
stage of the outputStagedPassManager
. You can see a list of installed plugins by usinglist_stage_plugins()
with"translation"
for thestage_name
argument.scheduling_method (str) – The pass to use for scheduling instructions. Valid choices are
'alap'
and'asap'
. This can also be the external plugin name to use for thescheduling
stage of the outputStagedPassManager
. You can see a list of installed plugins by usinglist_stage_plugins()
with"scheduling"
for thestage_name
argument.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.
unitary_synthesis_method (str) – The name of the unitary synthesis method to use. By default
'default'
is used. You can see a list of installed plugins withunitary_synthesis_plugin_names()
.unitary_synthesis_plugin_config (dict) – An optional configuration dictionary that will be passed directly to the unitary synthesis plugin. By default this setting will have no effect as the default unitary synthesis method does not take custom configuration. This should only be necessary when a unitary synthesis plugin is specified with the
unitary_synthesis
argument. As this is custom for each unitary synthesis plugin refer to the plugin documentation for how to use this option.hls_config (HLSConfig) – An optional configuration class
HLSConfig
that will be passed directly toHighLevelSynthesis
transformation pass. This configuration class allows to specify for various high-level objects the lists of synthesis algorithms and their parameters.init_method (str) – The plugin name to use for the
init
stage of the outputStagedPassManager
. By default an external plugin is not used. You can see a list of installed plugins by usinglist_stage_plugins()
with"init"
for the stage name argument.optimization_method (str) – The plugin name to use for the
optimization
stage of the outputStagedPassManager
. By default an external plugin is not used. You can see a list of installed plugins by usinglist_stage_plugins()
with"optimization"
for thestage_name
argument.
- Rückgabe
The preset pass manager for the given options
- Rückgabetyp
- Verursacht
ValueError – if an invalid value for
optimization_level
is passed in.