qiskit/releasenotes/notes/0.16/passmanager_remove-c8f8c0b4...

38 lines
1.2 KiB
YAML

---
features:
- |
A new method :meth:`~qiskit.transpiler.PassManager.remove` has been added
to the :class:`qiskit.transpiler.PassManager` class. This method enables
removing a pass from a :class:`~qiskit.transpiler.PassManager` instance.
It works on indexes, similar to
:meth:`~qiskit.transpiler.PassManager.replace`. For example, to
remove the :class:`~qiskit.transpiler.passes.RemoveResetInZeroState` pass
from the pass manager used at optimization level 1:
.. code-block:: python
from qiskit.transpiler.preset_passmanagers import level_1_pass_manager
from qiskit.transpiler.passmanager_config import PassManagerConfig
pm = level_1_pass_manager(PassManagerConfig())
pm.draw()
.. code-block::
[0] FlowLinear: UnrollCustomDefinitions, BasisTranslator
[1] FlowLinear: RemoveResetInZeroState
[2] DoWhile: Depth, FixedPoint, Optimize1qGates, CXCancellation
The stage ``[1]`` with ``RemoveResetInZeroState`` can be removed like this:
.. code-block:: python
pass_manager.remove(1)
pass_manager.draw()
.. code-block::
[0] FlowLinear: UnrollCustomDefinitions, BasisTranslator
[1] DoWhile: Depth, FixedPoint, Optimize1qGates, CXCancellation