From 743ff0e72cc2aae40ece59a2039e58fc2a8637f3 Mon Sep 17 00:00:00 2001 From: Raynel Sanchez <87539502+raynelfss@users.noreply.github.com> Date: Wed, 27 Nov 2024 09:45:23 -0500 Subject: [PATCH] More corrections on release notes Co-authored-by: Julien Gacon Co-authored-by: Alexander Ivrii --- ...-commutation-checker-8a78a4715bf78b4e.yaml | 4 +--- .../hls-with-ancillas-d6792b41dfcf4aac.yaml | 15 ++++++++---- ...nary-as-entanglement-02037cb2d46e1c41.yaml | 6 ----- .../1.3/prepare-1.3.0-7c45598775fc2bbf.yaml | 23 +++++++++++++------ 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/releasenotes/notes/1.3/Parameterized-commutation-checker-8a78a4715bf78b4e.yaml b/releasenotes/notes/1.3/Parameterized-commutation-checker-8a78a4715bf78b4e.yaml index f0965deb0b06..796640479e0d 100644 --- a/releasenotes/notes/1.3/Parameterized-commutation-checker-8a78a4715bf78b4e.yaml +++ b/releasenotes/notes/1.3/Parameterized-commutation-checker-8a78a4715bf78b4e.yaml @@ -6,9 +6,7 @@ features_circuits: :class:`.RXXGate`, :class:`.RYYGate`, :class:`.RZZGate`, :class:`.RZXGate`, :class:`.RXGate`, :class:`.RYGate`, :class:`.RZGate`, :class:`.PhaseGate`, :class:`.U1Gate`, :class:`.CRXGate`, :class:`.CRYGate`, :class:`.CRZGate`, - :class:`.CPhaseGate`. - - Before, these were only supported with bound parameters. + :class:`.CPhaseGate`. Before, these were only supported with bound parameters. diff --git a/releasenotes/notes/1.3/hls-with-ancillas-d6792b41dfcf4aac.yaml b/releasenotes/notes/1.3/hls-with-ancillas-d6792b41dfcf4aac.yaml index f551d2bc34be..6f4c9eba978c 100644 --- a/releasenotes/notes/1.3/hls-with-ancillas-d6792b41dfcf4aac.yaml +++ b/releasenotes/notes/1.3/hls-with-ancillas-d6792b41dfcf4aac.yaml @@ -1,10 +1,17 @@ --- features_transpiler: - | - A new argument ``qubits_initially_zero`` has been added to :func:`qiskit.compiler.transpile`, - :func:`.generate_preset_pass_manager`, and to :class:`~.PassManagerConfig`. - If set to ``True``, the qubits are assumed to be initially in the state :math:`|0\rangle`, - potentially allowing additional optimization opportunities for individual transpiler passes. + A new argument ``qubits_initially_zero`` has been added to :func:`qiskit.compiler.transpile`, + :func:`.generate_preset_pass_manager`, and to :class:`~.PassManagerConfig`. + If set to the default value of ``True``, the qubits are assumed to be initially in the state + :math:`|0\rangle`, potentially allowing additional optimization opportunities for individual + transpiler passes. In particular, the :class:`.HighLevelSynthesis` transpiler pass will choose + a better decomposition for each :class:`.MCXGate` gate in a circuit when an idle auxiliary qubit + in the state :math:`|0\rangle` is available. + + However, there are cases when ``qubits_initially_zero`` should be set to ``False``, such + as when transpiling for backends that do not properly initialize qubits, or when manually + calling transpiler passes on subcircuits of a larger quantum circuit. - | The constructor for the :class:`.HighLevelSynthesis` transpiler pass now accepts an additional argument: ``qubits_initially_zero``. If set to ``True``, the pass assumes that the diff --git a/releasenotes/notes/1.3/paulifeaturemap-takes-dictionary-as-entanglement-02037cb2d46e1c41.yaml b/releasenotes/notes/1.3/paulifeaturemap-takes-dictionary-as-entanglement-02037cb2d46e1c41.yaml index cb347c6da3ba..fc45f3ed3d29 100644 --- a/releasenotes/notes/1.3/paulifeaturemap-takes-dictionary-as-entanglement-02037cb2d46e1c41.yaml +++ b/releasenotes/notes/1.3/paulifeaturemap-takes-dictionary-as-entanglement-02037cb2d46e1c41.yaml @@ -1,10 +1,4 @@ --- -fixes: - - | - Previously, the entanglement in :class:`.PauliFeatureMap` and :class:`.ZZFeatureMap` - could be given as ``List[int]`` or ``List[List[int]]``, which was incompatible with the fact - that entanglement blocks of different sizes are used. Now, the entanglement can be - given as dictionary with ``{block_size: entanglement}`` pairs. features_circuits: - | :class:`.PauliFeatureMap` and :class:`.ZZFeatureMap` now support specifying the diff --git a/releasenotes/notes/1.3/prepare-1.3.0-7c45598775fc2bbf.yaml b/releasenotes/notes/1.3/prepare-1.3.0-7c45598775fc2bbf.yaml index 4a69d5bdd22c..3b6e284397e5 100644 --- a/releasenotes/notes/1.3/prepare-1.3.0-7c45598775fc2bbf.yaml +++ b/releasenotes/notes/1.3/prepare-1.3.0-7c45598775fc2bbf.yaml @@ -17,11 +17,20 @@ prelude: > :class:`.CommutationAnalysis`, :class:`.ConsolidateBlocks`, :class:`.UnitarySynthesis`, and others. - * Improvements to the circuit library that increase compilation quality and - construction speed. These changes include developments such as improved qubit - tracking for :class:`.HighLevelSynthesis`, structural circuits as part of the library - such as :func:`.iqp`. Additionally the :class:`.PauliEvolutionGate` has been updated - to leverage high level synthesis plugins including a new plugin that leverages the - circuit synthesis library `Rustiq `_. - + * Improvements to the circuit library that increase compilation quality and circuit + construction speed. Operations are now distinguished into: + + * Structural operations, that have a unique decomposition, and are represented as + functions that return a :class:`.QuantumCircuit` (for example: :func:`.real_amplitudes`). + Most of these functions are built in Rust, resulting in significantly faster circuit + construction runtime. + * Abstract operations, that can be implemented using different decompositions, are + represented as :class:`.Gate` or :class:`qiskit.circuit.Instruction` (for example: + :class:`.PauliEvolutionGate`). This allows building an abstract quantum circuit + and letting the compiler choose the optimal decomposition. + + Using an abstract circuit description is especially powerful in combination with + improvements to the :class:`.HighLevelSynthesis` transpiler pass, which can now take + into account idle auxiliary qubits to find the best available decomposition for a given gate. + * The minimum required Python version is now 3.9.