diff --git a/qiskit/transpiler/preset_passmanagers/__init__.py b/qiskit/transpiler/preset_passmanagers/__init__.py index 9b6efe661b2e..6a8dab2ba336 100644 --- a/qiskit/transpiler/preset_passmanagers/__init__.py +++ b/qiskit/transpiler/preset_passmanagers/__init__.py @@ -84,7 +84,7 @@ def generate_preset_pass_manager( routing_method=None, translation_method=None, scheduling_method=None, - approximation_degree=None, + approximation_degree=1.0, seed_transpiler=None, unitary_synthesis_method="default", unitary_synthesis_plugin_config=None, diff --git a/releasenotes/notes/preset-pass-manager-approximation-degree-503198b1974adf79.yaml b/releasenotes/notes/preset-pass-manager-approximation-degree-503198b1974adf79.yaml new file mode 100644 index 000000000000..01cf21e335f9 --- /dev/null +++ b/releasenotes/notes/preset-pass-manager-approximation-degree-503198b1974adf79.yaml @@ -0,0 +1,12 @@ +--- +upgrade: + - | + The implicit use of ``approximation_degree!=1.0`` by default in the + :func:`~.generate_preset_pass_manager` function has been + disabled. The previous default could cause undue and unexpected approximations, especially in + workloads involving Trotterization or similar runs of operations that are close, but decidedly + not equal, to the identity. + + This change brings the inner pass-manager generation defaults in line with :func:`.transpile`, + which was always the intention. See `#8595 `__ for + more detail.