qiskit-documentation/docs/api/qiskit/0.38/qiskit.transpiler.preset_pa...

35 lines
1.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: level_3_pass_manager
description: API reference for qiskit.transpiler.preset_passmanagers.level_3_pass_manager
in_page_toc_min_heading_level: 1
python_api_type: function
python_api_name: qiskit.transpiler.preset_passmanagers.level_3_pass_manager
---
# qiskit.transpiler.preset\_passmanagers.level\_3\_pass\_manager
<Function id="qiskit.transpiler.preset_passmanagers.level_3_pass_manager" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.21/qiskit/transpiler/preset_passmanagers/level3.py" signature="level_3_pass_manager(pass_manager_config)">
Level 3 pass manager: heavy optimization by noise adaptive qubit mapping and gate cancellation using commutativity rules and unitary synthesis.
This pass manager applies the user-given initial layout. If none is given, a search for a perfect layout (i.e. one that satisfies all 2-qubit interactions) is conducted. If no such layout is found, and device calibration information is available, the circuit is mapped to the qubits with best readouts and to CX gates with highest fidelity.
The pass manager then transforms the circuit to match the coupling constraints. It is then unrolled to the basis, and any flipped cx directions are fixed. Finally, optimizations in the form of commutative gate cancellation, resynthesis of two-qubit unitary blocks, and redundant reset removal are performed.
**Parameters**
**pass\_manager\_config** ([`PassManagerConfig`](qiskit.transpiler.PassManagerConfig "qiskit.transpiler.passmanager_config.PassManagerConfig")) configuration of the pass manager.
**Return type**
[`StagedPassManager`](qiskit.transpiler.StagedPassManager "qiskit.transpiler.passmanager.StagedPassManager")
**Returns**
a level 3 pass manager.
**Raises**
[**TranspilerError**](qiskit.transpiler.TranspilerError "qiskit.transpiler.TranspilerError") if the passmanager config is invalid.
</Function>