diff --git a/releasenotes/notes/0.12/add-NoiseModel-from_backendproperties-1a3d6d976133a661.yaml b/releasenotes/notes/0.12/add-NoiseModel-from_backendproperties-1a3d6d976133a661.yaml new file mode 100644 index 0000000000..b3ffaa7863 --- /dev/null +++ b/releasenotes/notes/0.12/add-NoiseModel-from_backendproperties-1a3d6d976133a661.yaml @@ -0,0 +1,10 @@ +--- +features: + - | + Added a new class method :meth:`~.NoiseModel.from_backend_properties` to + the :class:`NoiseModel`. This enables constructing a new :class:`~.NoiseModel` + from a :class:`~qiskit.providers.BackendProperties` object. Similar functionality used + to be present in the :meth:`.NoiseModel.from_backend` constructor, + however it was removed since a :class:`~qiskit.providers.BackendProperties` object alone + doesn't contain sufficient information to create a :class:`~.NoiseModel` + object. diff --git a/releasenotes/notes/0.12/add-aer-density-matrix-e2439120b24c91c9.yaml b/releasenotes/notes/0.12/add-aer-density-matrix-e2439120b24c91c9.yaml new file mode 100644 index 0000000000..6bb8fba7ea --- /dev/null +++ b/releasenotes/notes/0.12/add-aer-density-matrix-e2439120b24c91c9.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + Added a new class, :class:`~.AerDensityMatrix`, to the :mod:`qiskit_aer.quantum_info` + module. This class is used to provide the same interface to the + upstream :class:`~qiskit.quantum_info.DensityMatrix` class in Qiskit but backed by + Qiskit Aer's simulation. diff --git a/releasenotes/notes/0.12/add-grouping-fcc4fad69ccdac26.yaml b/releasenotes/notes/0.12/add-grouping-fcc4fad69ccdac26.yaml new file mode 100644 index 0000000000..9b2f21a6a6 --- /dev/null +++ b/releasenotes/notes/0.12/add-grouping-fcc4fad69ccdac26.yaml @@ -0,0 +1,18 @@ +--- +features: + - | + Added a new keyword argument, ``abelian_grouping``, to + the :class:`~.Estimator`. This argument is used to control whether the + :class:`~.Estimator` will group the input observables into qubit-wise + commutable observables which reduces the number of circuit executions + required to compute the expectation value and improves the runtime + performance of the :class:`~.Estimator`. By default this is set to + ``True``. +upgrade: + - | + The default behavior of the :class:`~.Estimator` primitive will now + group the input observable into qubit-wise commutable observables. + The grouping reduces the number of circuits to be executed and improves + the performance. If you desire the previous behavior you can initialize + your :class:`~.Estimator` instance with the keyword argument + ``abelian_grouping=False``. diff --git a/releasenotes/notes/add_initialize_density_matrix-a72b1a614b09726e.yaml b/releasenotes/notes/0.12/add_initialize_density_matrix-a72b1a614b09726e.yaml similarity index 100% rename from releasenotes/notes/add_initialize_density_matrix-a72b1a614b09726e.yaml rename to releasenotes/notes/0.12/add_initialize_density_matrix-a72b1a614b09726e.yaml diff --git a/releasenotes/notes/delete-args-and-methods-in-primitives-8013546db867e849.yaml b/releasenotes/notes/0.12/delete-args-and-methods-in-primitives-8013546db867e849.yaml similarity index 100% rename from releasenotes/notes/delete-args-and-methods-in-primitives-8013546db867e849.yaml rename to releasenotes/notes/0.12/delete-args-and-methods-in-primitives-8013546db867e849.yaml diff --git a/releasenotes/notes/deprecate-37-b3ec705b9f469b0b.yaml b/releasenotes/notes/0.12/deprecate-37-b3ec705b9f469b0b.yaml similarity index 100% rename from releasenotes/notes/deprecate-37-b3ec705b9f469b0b.yaml rename to releasenotes/notes/0.12/deprecate-37-b3ec705b9f469b0b.yaml diff --git a/releasenotes/notes/deprecate-pulse-simulator-27cde3ece112c346.yaml b/releasenotes/notes/0.12/deprecate-pulse-simulator-27cde3ece112c346.yaml similarity index 100% rename from releasenotes/notes/deprecate-pulse-simulator-27cde3ece112c346.yaml rename to releasenotes/notes/0.12/deprecate-pulse-simulator-27cde3ece112c346.yaml diff --git a/releasenotes/notes/0.12/fix-ndarray-contiguity-e903d0fda4744100.yaml b/releasenotes/notes/0.12/fix-ndarray-contiguity-e903d0fda4744100.yaml new file mode 100644 index 0000000000..66becd045e --- /dev/null +++ b/releasenotes/notes/0.12/fix-ndarray-contiguity-e903d0fda4744100.yaml @@ -0,0 +1,9 @@ +--- +fixes: + - | + Fixed an issue when creating a new :class:`~.AerStatevector` instance + from a ``numpy.ndarray`` that had non-contiguous memory. Previously, + this would result in unexpected behavior (and a potential error) as + the :class:`~.AerStatevector` assumed the input array was contiguous. This + has been fixed so that memory layout is checked and the ``numpy.ndarray`` + will be copied internally as a contiguous array before using it. diff --git a/releasenotes/notes/0.12/fix-split-cregs-5b5494a92c4903e7.yaml b/releasenotes/notes/0.12/fix-split-cregs-5b5494a92c4903e7.yaml new file mode 100644 index 0000000000..3754429422 --- /dev/null +++ b/releasenotes/notes/0.12/fix-split-cregs-5b5494a92c4903e7.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - | + Fixed an issue with the :class:`.Sampler` class where it would previously + fail if the input :class:`~.QuantumCircuit` contained multiple + multiple classical registers. + Fixed `#1679 `__ diff --git a/releasenotes/notes/fix_batch_execution-da4d88dbee26731b.yaml b/releasenotes/notes/0.12/fix_batch_execution-da4d88dbee26731b.yaml similarity index 100% rename from releasenotes/notes/fix_batch_execution-da4d88dbee26731b.yaml rename to releasenotes/notes/0.12/fix_batch_execution-da4d88dbee26731b.yaml diff --git a/releasenotes/notes/fix_tensor_network_not_installed-a23b8ef65e6e643e.yaml b/releasenotes/notes/0.12/fix_tensor_network_not_installed-a23b8ef65e6e643e.yaml similarity index 100% rename from releasenotes/notes/fix_tensor_network_not_installed-a23b8ef65e6e643e.yaml rename to releasenotes/notes/0.12/fix_tensor_network_not_installed-a23b8ef65e6e643e.yaml diff --git a/releasenotes/notes/0.12/mps_fix_apply_measure-84c29a728ae0e717.yaml b/releasenotes/notes/0.12/mps_fix_apply_measure-84c29a728ae0e717.yaml new file mode 100644 index 0000000000..7762a5c64c --- /dev/null +++ b/releasenotes/notes/0.12/mps_fix_apply_measure-84c29a728ae0e717.yaml @@ -0,0 +1,14 @@ +--- + +fixes: + - | + Fixed an issue in the matrix product state simulation method (i.e. + setting the keyword argument ``method="matrix_product_state"`` when + initializing an :class:`~.AerSimulator` object) where the simulator + would incorrectly sort the qubits prior to performing measurment + potentially resulting in an infinite loop. This has been fixed so + the measurement of the qubits occurs in the order of the current MPS + structure and then sorting afterwards as a post-processing step. This also + will likely improve the performance of the simulation method and enable + more accurate representation of entangled states. + Fixed `#1694 `__ diff --git a/releasenotes/notes/0.12/optimized_stabilizer-f696742e7f881d0d.yaml b/releasenotes/notes/0.12/optimized_stabilizer-f696742e7f881d0d.yaml new file mode 100644 index 0000000000..936da033a2 --- /dev/null +++ b/releasenotes/notes/0.12/optimized_stabilizer-f696742e7f881d0d.yaml @@ -0,0 +1,9 @@ +--- +Features: + - | + The performance of the ``stabilizer`` simulation method (i.e. when setting + the keyword argument ``method="stabilizer"`` when initializing an + :class:`~.AerSimulator` instance) has been improved. This + was accomplished by changing the internal data order to align data access + for improved CPU cache locality and improving the efficiency of integer + bit operations. diff --git a/releasenotes/notes/0.12/own_assembler-0c76e67a054bd12c.yaml b/releasenotes/notes/0.12/own_assembler-0c76e67a054bd12c.yaml new file mode 100644 index 0000000000..90adb0546b --- /dev/null +++ b/releasenotes/notes/0.12/own_assembler-0c76e67a054bd12c.yaml @@ -0,0 +1,48 @@ +--- +features: + - | + The overhead for running simulations with :meth:`~.AerSimulator.run` + (for all simulator backend classess) has been greatly reduced. This was + accomplished by no longer internally serializing + :class:`~qiskit.circuit.QuantumCircuit` objects into + :class:`~qiskit.qobj.QasmQobj` and instead the + :class:`~qiskit.circuit.QuantumCircuit` object directly to + an internal C++ circuit structure used for simulation. This improvement + is most noticeable for simulations of circuts with a small number of qubits + or parameterized circuits using the ``parameter_binds`` keyword argument + of :meth:`~.AerSimulator.run`. + Note that pulse simualation (via the now deprecated :class:`~.PulseSimulator`) + and DASK-based simulation still use the internal serialization and will + not see this performance improvement. + - | + Added a new method to the :class:`~.AerJob`, :meth:`~.AerJob.circuits`, which + returns a list of :class:`~qiskit.circuit.QuantumCircuit` objects. This method returns + ``None`` if Qobj is used for simulation. +deprecations: + - | + The :meth:`~.AerJob.qobj` method of the :class:`AerJob` class is + now deprecated and will be removed in a future release. The use of + the qobj format as input to :meth:`~.AerSimulator.run` has been + deprecated since qiskit-aer 0.9.0 and in most cases this method + would return ``None`` now anyway. If you'd like to get the input + to the ``run()`` method now you can use the :meth:`~.AerJob.circuits` + method instead, which will return the :class:`~.QuantumCircuit` + objects that were simulated in the job. +upgrade: + - | + The behavior of :meth:`~.AerSimulator.run` method has changed when invalid + or otherwise unsimulatable :class:`~.QuantumCircuit` objects are passed as + an input. Previously, in these cases the :meth:`~.AerSimulator.run` method + would return an :class:`~.AerJob` whose :meth:`~.AerJob.result` method would + return a :class:`~.Result` with the ``ERROR`` or ``PARTIAL COMPLETED`` + (depending on whether all the circuit inputs or only some were invalid or not). + Starting in this release instead of returning a result object with these statuses + an exception will be raised instead. This change was necessary because + of the performance improvements by no longer internally serializing the + :class:`~.QuantumCircuit` objects to a Qobj before passing it to C++, instead + the direct conversion from :class:`~.QuantumCircuit` now errors directly when + trying to simulate a circuit Qiskit Aer is unable to execute. If you desire the + previous behavior you can build Qiskit Aer in standalone mode and manually + serialize your :class:`~.QuantumCircuit` objects to a JSON representation of + the :class:`~.QasmQobj` which you then pass to the standalone Aer binary + which will retain the previous behavior. diff --git a/releasenotes/notes/0.12/prepare-0.12-0da477fc0492ca5d.yaml b/releasenotes/notes/0.12/prepare-0.12-0da477fc0492ca5d.yaml new file mode 100644 index 0000000000..3a1cc05e73 --- /dev/null +++ b/releasenotes/notes/0.12/prepare-0.12-0da477fc0492ca5d.yaml @@ -0,0 +1,13 @@ +--- +prelude: > + The Qiskit Aer 0.12.0 release highlights are: + + * Added a new GPU tensor network simulator based on + `cuTensorNet `__ + * Added a new :class:`~.AerDensityMatrix` class to the :mod:`qiskit_aer.quantum_info` module + * Greatly improving the runtime performance of the :class:`~.AerSimulator` and the legacy + :class:`~.QasmSimulator`, :class:`~.StatevectorSimulator`, and :class:`~.UnitarySimulator` + classes by directly converting the input :class:`~.QuantumCircuit` objects to an internal + C++ representation instead of first serializing the circuit to a :class:`~.QasmQobj`. This + improvement will be most noticeable for circuits with a small number of qubits or parameterized + circuits using the ``parameter_binds`` keyword argument. diff --git a/releasenotes/notes/remove-deprecated-noise-functions-52128d161d3327e9.yaml b/releasenotes/notes/0.12/remove-deprecated-noise-functions-52128d161d3327e9.yaml similarity index 100% rename from releasenotes/notes/remove-deprecated-noise-functions-52128d161d3327e9.yaml rename to releasenotes/notes/0.12/remove-deprecated-noise-functions-52128d161d3327e9.yaml diff --git a/releasenotes/notes/0.12/remove-qobj-684e68e99b212973.yaml b/releasenotes/notes/0.12/remove-qobj-684e68e99b212973.yaml new file mode 100644 index 0000000000..593fb804d9 --- /dev/null +++ b/releasenotes/notes/0.12/remove-qobj-684e68e99b212973.yaml @@ -0,0 +1,8 @@ +--- +upgrade: + - | + The previously deprecated ``qobj`` argument name of the + :class:`~.AerSimulator` and :class:`~.PulseSimulator` classes' + :meth:`~.AerSimulator.run` method has now been removed. This argument + name was deprecated as part of the Qiskit Aer 0.8.0 release and has + been by the ``circuits`` and ``schedules`` argument name respectively. diff --git a/releasenotes/notes/remove-setup_requires-751a406e2782885e.yaml b/releasenotes/notes/0.12/remove-setup_requires-751a406e2782885e.yaml similarity index 88% rename from releasenotes/notes/remove-setup_requires-751a406e2782885e.yaml rename to releasenotes/notes/0.12/remove-setup_requires-751a406e2782885e.yaml index e2851fd28d..9626c7ac4c 100644 --- a/releasenotes/notes/remove-setup_requires-751a406e2782885e.yaml +++ b/releasenotes/notes/0.12/remove-setup_requires-751a406e2782885e.yaml @@ -3,7 +3,7 @@ upgrade: - | Aer's ``setup.py`` has been updated to no longer attempt to make calls to ``pip`` to install build requirements, both manually and via the ``setup_requires`` option in - ``setuptools.setup``. The preferred way to build Aer is to use a PEP 517-compatible + ``setuptools.setup``. The preferred way to build Aer is to use a `PEP 517 `__-compatible builder such as: .. code-block:: text diff --git a/releasenotes/notes/support_break_and_continue_gates-bf30316fcacd4b6b.yaml b/releasenotes/notes/0.12/support_break_and_continue_gates-bf30316fcacd4b6b.yaml similarity index 100% rename from releasenotes/notes/support_break_and_continue_gates-bf30316fcacd4b6b.yaml rename to releasenotes/notes/0.12/support_break_and_continue_gates-bf30316fcacd4b6b.yaml diff --git a/releasenotes/notes/support_kraus-ec31e636c6793b8c.yaml b/releasenotes/notes/0.12/support_kraus-ec31e636c6793b8c.yaml similarity index 100% rename from releasenotes/notes/support_kraus-ec31e636c6793b8c.yaml rename to releasenotes/notes/0.12/support_kraus-ec31e636c6793b8c.yaml diff --git a/releasenotes/notes/0.12/tensor_network_gpu-e8eb3e40be3c35f7.yaml b/releasenotes/notes/0.12/tensor_network_gpu-e8eb3e40be3c35f7.yaml new file mode 100644 index 0000000000..5f84d655f0 --- /dev/null +++ b/releasenotes/notes/0.12/tensor_network_gpu-e8eb3e40be3c35f7.yaml @@ -0,0 +1,24 @@ +--- +features: + - | + Added a new simulation method based on NVIDIA's `cuTensorNet `__ + APIs of cuQuantum SDK. This provides a GPU accelerated general tensor + network simulator that can simulate any quantum circuit, by internally + translating the circuit into a tensor network to perform the simulation. + To use this simulation method, set ``method="tensor_network"`` and + ``device="GPU"`` when initializing an :class:`~.AerSimulator` object. + For example:: + + from qiskit_aer import AerSimulator + + tensor_net_sim = AerSimulator(method="tensor_network", device="GPU") + + This method supports both statevector and density matrix simulations. + Noise simulation can also be done with a density matrix single shot + simulation if there are not any :class:`~.SaveStatevector` operations + in the circuit. + + This new simulation method also supports parallelization with multiple GPUs and + MPI processes by using tensor network slicing technique. However, this type of + simulation will likely take a very long time if the input circuits are + complicated. diff --git a/releasenotes/notes/0.12/use_conan_1.x-f12570e2cfc8bb26.yaml b/releasenotes/notes/0.12/use_conan_1.x-f12570e2cfc8bb26.yaml new file mode 100644 index 0000000000..118774443d --- /dev/null +++ b/releasenotes/notes/0.12/use_conan_1.x-f12570e2cfc8bb26.yaml @@ -0,0 +1,9 @@ +--- +issues: + - | + This release of Qiskit Aer is not compatible with the Conan 2.X release + series. If you are building Qiskit Aer from source manually ensure that + you are using a Conan 1.x release. Compatibility with newer versions + of Conan will be fixed in a future release. You can refer to + issue `#1730 `__ for + more details. diff --git a/releasenotes/notes/0.12/use_specified_bla_vendor-ca0322e993378048.yaml b/releasenotes/notes/0.12/use_specified_bla_vendor-ca0322e993378048.yaml new file mode 100644 index 0000000000..fa94365f75 --- /dev/null +++ b/releasenotes/notes/0.12/use_specified_bla_vendor-ca0322e993378048.yaml @@ -0,0 +1,8 @@ +--- +features: + - | + The ``BLA_VENDOR`` environment variable can now be specified to use a + different BLAS library when building Qiskit Aer from source. By default + if this is not specified OpenBLAS will be used by default. If + the BLAS library specified in `BLA_VENDOR`` can not be found then the + Cmake build process will stop. diff --git a/releasenotes/notes/add-NoiseModel-from_backendproperties-1a3d6d976133a661.yaml b/releasenotes/notes/add-NoiseModel-from_backendproperties-1a3d6d976133a661.yaml deleted file mode 100644 index 92064cd491..0000000000 --- a/releasenotes/notes/add-NoiseModel-from_backendproperties-1a3d6d976133a661.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - Add a new class method :meth:`~.NoiseModel.from_backend` to :class:`NoiseModel`. - The function allows to construct a noise model from a `BackendProperties` object, - which can seen as a spin-off of a removed functionality of `NoiseModel.from_backend`. diff --git a/releasenotes/notes/add-grouping-fcc4fad69ccdac26.yaml b/releasenotes/notes/add-grouping-fcc4fad69ccdac26.yaml deleted file mode 100644 index b981a628ea..0000000000 --- a/releasenotes/notes/add-grouping-fcc4fad69ccdac26.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -features: - - | - Add ``abelian_grouping`` option to :class:`~Estimator`. -upgrade: - - | - In default, :class:`~Estimator` groups the qubit-wise commutable observables. - The grouping reduces the number of circuits to be executed and improves the performance. diff --git a/releasenotes/notes/add-python-311-support-027047fb389116dd.yaml b/releasenotes/notes/add-python-311-support-027047fb389116dd.yaml deleted file mode 100644 index c7dcd91fdc..0000000000 --- a/releasenotes/notes/add-python-311-support-027047fb389116dd.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - | - Added support for running Qiskit Aer with Python 3.11 support. diff --git a/releasenotes/notes/cmake_cuda_arch-817eb0b7232bd291.yaml b/releasenotes/notes/cmake_cuda_arch-817eb0b7232bd291.yaml deleted file mode 100644 index b0c70bde7a..0000000000 --- a/releasenotes/notes/cmake_cuda_arch-817eb0b7232bd291.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - cmake 3.18 or later requires setting CMAKE_CUDA_ARCHITECTURES with - architecture value for the target GPU. - This fix sets CMAKE_CUDA_ARCHITECTURES by referring to AER_CUDA_ARCH. diff --git a/releasenotes/notes/fix-AerSimulator_from_backend_BackendV2-bccf835bc42a193d.yaml b/releasenotes/notes/fix-AerSimulator_from_backend_BackendV2-bccf835bc42a193d.yaml deleted file mode 100644 index afe8f550cd..0000000000 --- a/releasenotes/notes/fix-AerSimulator_from_backend_BackendV2-bccf835bc42a193d.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -fixes: - - | - Fixed support in the :meth:`.AerSimulator.from_backend` method for instantiating - an :class:`~.AerSimulator` instance from an a :class:`~.BackendV2` object. - Previously, attempting to use :meth:`.AerSimulator.from_backend` with a - :class:`~.BackendV2` object would have raised an :class:`~.AerError` saying this - wasn't supported. diff --git a/releasenotes/notes/fix-device-noise-models-2eca2f9c9dc25771.yaml b/releasenotes/notes/fix-device-noise-models-2eca2f9c9dc25771.yaml deleted file mode 100644 index 9e6cb9a505..0000000000 --- a/releasenotes/notes/fix-device-noise-models-2eca2f9c9dc25771.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -fixes: - - | - Fixes a bug where :meth:`NoiseModel.from_backend` with a ``BackendV2`` object may generate - a noise model with excessive ``QuantumError`` s on non-Gate instructions while, - for example, only ``ReadoutError`` s should be sufficient for measures. - This commit updates :meth:`NoiseModel.from_backend` with a ``BackendV2`` object so that - it returns the same noise model as that called with the corresponding ``BackendV1`` object. - That is, the resulting noise model does not contain any ``QuantumError`` s on measures and - it may contain only thermal relaxation errors on other non-gate instructions such as resets. - Note that it still contains ``ReadoutError`` s on measures. diff --git a/releasenotes/notes/fix-local-noise-pass-83815d5a80f9a0e9.yaml b/releasenotes/notes/fix-local-noise-pass-83815d5a80f9a0e9.yaml deleted file mode 100644 index 4a4eca4b5c..0000000000 --- a/releasenotes/notes/fix-local-noise-pass-83815d5a80f9a0e9.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Fixes a bug in the handling of instructions with clbits in :class:`.LocalNoisePass`. - Previously, it was accidentally erasing clbits of instructions (e.g. measures) - to which the noise is applied in the case of ``method="append"``. diff --git a/releasenotes/notes/fix-ndarray-contiguity-e903d0fda4744100.yaml b/releasenotes/notes/fix-ndarray-contiguity-e903d0fda4744100.yaml deleted file mode 100644 index 8c63f1929b..0000000000 --- a/releasenotes/notes/fix-ndarray-contiguity-e903d0fda4744100.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - If non contiguous numpy.ndarray is input, an AerStatevector instance with - unexpected data is created. So this fix discontiguity of the memory layout - of numpy.ndarray if it is detected. diff --git a/releasenotes/notes/fix-split-cregs-5b5494a92c4903e7.yaml b/releasenotes/notes/fix-split-cregs-5b5494a92c4903e7.yaml deleted file mode 100644 index 4f55497c6f..0000000000 --- a/releasenotes/notes/fix-split-cregs-5b5494a92c4903e7.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - Fix the bug where the :class:`.Sampler` fails if the input circuit has multiple classical - registers. diff --git a/releasenotes/notes/fix-temperature-a9c51c4599af3a49.yaml b/releasenotes/notes/fix-temperature-a9c51c4599af3a49.yaml deleted file mode 100644 index b83388bfb0..0000000000 --- a/releasenotes/notes/fix-temperature-a9c51c4599af3a49.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -fixes: - - | - Fixed a bug in :meth:`NoiseModel.from_backend` where using the ``temperature`` kwarg with - a non-default value would incorrectly compute the excited state population for - the specified temperature. Previously, there was an additional factor of 2 in - the Boltzman distribution calculation leading to an incorrect smaller value - for the excited state population. diff --git a/releasenotes/notes/fix-topological-control-flow-e2f1a25098004f00.yaml b/releasenotes/notes/fix-topological-control-flow-e2f1a25098004f00.yaml deleted file mode 100644 index e528ffb52b..0000000000 --- a/releasenotes/notes/fix-topological-control-flow-e2f1a25098004f00.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -fixes: - - | - Fixed incorrect logic in the control-flow compiler that could allow unrelated instructions to - appear "inside" control-flow bodies during execution, causing incorrect results. For example, - previously:: - - from qiskit import QuantumCircuit - from qiskit_aer import AerSimulator - - backend = AerSimulator(method="statevector") - - circuit = QuantumCircuit(3, 3) - circuit.measure(0, 0) - circuit.measure(1, 1) - - with circuit.if_test((0, True)): - with circuit.if_test((1, False)): - circuit.x(2) - - with circuit.if_test((0, False)): - with circuit.if_test((1, True)): - circuit.x(2) - - circuit.measure(range(3), range(3)) - print(backend.run(circuit, method=method, shots=100).result()) - - would print ``{'010': 100}`` as the nested control-flow operations would accidentally jump over - the first X gate on qubit 2, which should have been executed. diff --git a/releasenotes/notes/fix-vervose-warnings-efbbbfcb4b65a2a5.yaml b/releasenotes/notes/fix-vervose-warnings-efbbbfcb4b65a2a5.yaml deleted file mode 100644 index e6c333ef32..0000000000 --- a/releasenotes/notes/fix-vervose-warnings-efbbbfcb4b65a2a5.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -fixes: - - | - Fixes a bug where ``NoiseModel.from_backend()`` prints verbose warnings when - supplying a backend that reports un-physical device parameters such as T2 > 2 * T1 - due to statistical errors in their estimation. - This commit removes such warnings because they are not actionable for users in the sense - that there are no means other than truncating them to the theoretical bounds as - done within ``noise.device`` module. - See `Issue 1631 `__ - for details of the fixed bug. diff --git a/releasenotes/notes/fix_GPU_statevector-715da5ead0a59fb5.yaml b/releasenotes/notes/fix_GPU_statevector-715da5ead0a59fb5.yaml deleted file mode 100644 index aaa6f314ec..0000000000 --- a/releasenotes/notes/fix_GPU_statevector-715da5ead0a59fb5.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -fixes: - - | - This is fix for GPU statevector simulator. - Chunk distribution tried to allocate all free memory on GPU, - but this causes memory allocation error. - So this fix allocates 80 percent of free memory. - Also this fixes size of matrix buffer when noise sampling is applied. diff --git a/releasenotes/notes/fix_aer_statevector_mps-c3dd40b936700ff4.yaml b/releasenotes/notes/fix_aer_statevector_mps-c3dd40b936700ff4.yaml deleted file mode 100644 index 622ace2172..0000000000 --- a/releasenotes/notes/fix_aer_statevector_mps-c3dd40b936700ff4.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -issues: - - | - Fix two bugs in AerStatevector. AerStatevector uses mc* instructions, which are - not enabled in matrix_product_state method. This commit changes AerStatevector - not to use MC* and use H, X, Y, Z, U and CX. AerStatevector also failed if an - instruction is decomposed to empty QuantumCircuit. This commit allows such - instruction. diff --git a/releasenotes/notes/fix_bug_in_tail_while-6a9201d1ad6ba6e8.yaml b/releasenotes/notes/fix_bug_in_tail_while-6a9201d1ad6ba6e8.yaml deleted file mode 100644 index 7940e5a46d..0000000000 --- a/releasenotes/notes/fix_bug_in_tail_while-6a9201d1ad6ba6e8.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -fixes: - - | - Fixes an issue when while_loop is the tail of QuantumCircuit. while_loop - is translated to jump and mark instructions. However, if a while_loop is - at the end of a circuit, its mark instruction is truncated wrongly. This - fix corrects the truncation algorithm to always remain mark instructions. diff --git a/releasenotes/notes/fix_cache_blocking_AerState-ccb035bb5be6f895.yaml b/releasenotes/notes/fix_cache_blocking_AerState-ccb035bb5be6f895.yaml deleted file mode 100644 index 71331940b6..0000000000 --- a/releasenotes/notes/fix_cache_blocking_AerState-ccb035bb5be6f895.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -fixes: - - | - This is a fix of AerState running with cache blocking. AerState wrongly configured - transpiler of Aer for cache blocking, and then its algorithm to swap qubits - worked wrongly. This fix corrects AerState to use this transpiler. More specifically, - After the transpilation, a swapped qubit map is recoverd to the original map - when using AerState. This fix is necessary for AerStatevector to use multiple-GPUs. diff --git a/releasenotes/notes/improve-statevector-initialization-75274fdcb4106d24.yaml b/releasenotes/notes/improve-statevector-initialization-75274fdcb4106d24.yaml deleted file mode 100644 index 19c7c6d3eb..0000000000 --- a/releasenotes/notes/improve-statevector-initialization-75274fdcb4106d24.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -fixes: - - | - This is fix for AerStatevector. - It was not possible to create an AerStatevector instance directly from - terra's Statevector. - This fix allows a Statevector as AerStatevector's input. diff --git a/releasenotes/notes/mps_fix_apply_measure-84c29a728ae0e717.yaml b/releasenotes/notes/mps_fix_apply_measure-84c29a728ae0e717.yaml deleted file mode 100644 index 963957661a..0000000000 --- a/releasenotes/notes/mps_fix_apply_measure-84c29a728ae0e717.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -fixes: - - | - Fixed issue . - Changed the MPS measurement algorithm so that it does not move the qubits - to the sorted positions before measuring. We measure the qubits in the - order of the current MPS structure and then sort the measurement values - as a post-process. Beside fixing the bug, this is expected to improve - performance and enable more accurate representation of entangled states. \ No newline at end of file diff --git a/releasenotes/notes/optimized_stabilizer-f696742e7f881d0d.yaml b/releasenotes/notes/optimized_stabilizer-f696742e7f881d0d.yaml deleted file mode 100644 index d3905a3d19..0000000000 --- a/releasenotes/notes/optimized_stabilizer-f696742e7f881d0d.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - Optimization of stabilizer simulator performance by changing data order. - By this change, data access have been improved to use cache memory - effectivelly. And also integer bit operations have been improved. diff --git a/releasenotes/notes/own_assembler-0c76e67a054bd12c.yaml b/releasenotes/notes/own_assembler-0c76e67a054bd12c.yaml deleted file mode 100644 index bcb53b5520..0000000000 --- a/releasenotes/notes/own_assembler-0c76e67a054bd12c.yaml +++ /dev/null @@ -1,24 +0,0 @@ ---- -features: - - | - Aer simulates :class:`~qiskit.circuit.QuantumCircuit` without serialization to - :class:`~qiskit.qobj.QasmQobj`. Instead, Aer converts a circuit to - a :class:`.AerCircuit` instance that a wrapper of internal circuit structure - of Aer C++. With this change, because overheads of serialization is reduced, - performance of simulation especially for low-qubit circuts is improved. - Note that pulse simualation and DASK-based simulation still use Qobj and - :class`.AerJob` does not return Qobj otherwise. - - | - :class:`AerJob` has a new method :meth:`circuits` that return a list of - :class:`~qiskit.circuit.QuantumCircuit` This method returns `None` if Qobj - is used for simulation. -deprecations: - - | - A method :meth:`qobj` of :class:`AerJob` is deprecated because Using a qobj - is deprecated as of qiskit-aer 0.9.0. Once qobj support is removed, :meth:`qobj` - will return always `None`. -upgrade: - - | - If a circuit includes gates not in basis gates, previously Aer returns a result - with `ERROR` or `PARTIAL COMPLETED` status. From this release, Aer throws an - error when :meth:`reesult()` is called. diff --git a/releasenotes/notes/remove-qobj-684e68e99b212973.yaml b/releasenotes/notes/remove-qobj-684e68e99b212973.yaml deleted file mode 100644 index 34010c20ea..0000000000 --- a/releasenotes/notes/remove-qobj-684e68e99b212973.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -upgrade: - - | - In Aer 0.8.0, the ``qobj`` parameter was replaced by ``circuits`` and ``schedules`` - in :class:`.AerSimulator` and :class:`.PulseSimulator` respectively. The ``qobj`` - parameter for ``backend.run`` is now removed. diff --git a/releasenotes/notes/sampler-cache-78f916cedb0c5421.yaml b/releasenotes/notes/sampler-cache-78f916cedb0c5421.yaml deleted file mode 100644 index b167488a35..0000000000 --- a/releasenotes/notes/sampler-cache-78f916cedb0c5421.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -upgrade: - - | - Improved the performance of :class:`.Sampler` introducing cache of transpiled circuits. diff --git a/releasenotes/notes/sampler-counts-90e5aaabccdc415b.yaml b/releasenotes/notes/sampler-counts-90e5aaabccdc415b.yaml deleted file mode 100644 index 1bd60d8138..0000000000 --- a/releasenotes/notes/sampler-counts-90e5aaabccdc415b.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -fixes: - - | - :attr:`.SamplerResult.quasi_dists` contain the data about the number of qubits. - :meth:`QuasiDistribution.binary_probabilities` returns bitstrings with correct length. diff --git a/releasenotes/notes/set_seed_for_each_in_aerstatevec-ef5fcac628dec63b.yaml b/releasenotes/notes/set_seed_for_each_in_aerstatevec-ef5fcac628dec63b.yaml deleted file mode 100644 index fcadc88a4c..0000000000 --- a/releasenotes/notes/set_seed_for_each_in_aerstatevec-ef5fcac628dec63b.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Previously seed is not initialized in AerStatevector and then sampled results - are always same. With this commit, a seed is initialized for each sampling - and sampled results can be vary. diff --git a/releasenotes/notes/support_terra_primitive_022-8852b784608bcdcb.yaml b/releasenotes/notes/support_terra_primitive_022-8852b784608bcdcb.yaml deleted file mode 100644 index 98424916fc..0000000000 --- a/releasenotes/notes/support_terra_primitive_022-8852b784608bcdcb.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -fixes: - - | - Fixed compatibility of the :class:`~.qiskit_aer.primitives.Sampler` and :class:`~.qiskit_aer.primtives.Estimator` - primitive classes with qiskit-terra 0.22.0 release. In qiskit-terra 0.22.0 breaking API changes were made to the - abstract interface which broke compatibility with these classes, this has been addressed so that - :class:`~.qiskit_aer.primitives.Sampler` and :class:`~.qiskit_aer.primtives.Estimator` can now be used with - qiskit-terra >= 0.22.0. diff --git a/releasenotes/notes/tensor_network_gpu-e8eb3e40be3c35f7.yaml b/releasenotes/notes/tensor_network_gpu-e8eb3e40be3c35f7.yaml deleted file mode 100644 index 039dcca749..0000000000 --- a/releasenotes/notes/tensor_network_gpu-e8eb3e40be3c35f7.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -features: - - | - Implementing general tensor network simulator for GPU accelerated by - NVIDIA's cuTensoNet APIs of cuQuantum SDK. Any quantum circuits can - be translated into tensor network and can be simulated. - To use this simulation method, set method=tensor_network and device=GPU - This method supports both statevector and density matrix simulations, - noise simulation can be done by single shot with density matrix - if there is no save_statevector operation. - This method supports parallelization by multiple GPUs and MPI processes - by using tensor network slicing technique. - (Note : It will take very long time if the circuits is complicated.) diff --git a/releasenotes/notes/use_conan_1.x-f12570e2cfc8bb26.yaml b/releasenotes/notes/use_conan_1.x-f12570e2cfc8bb26.yaml deleted file mode 100644 index c9a004bfeb..0000000000 --- a/releasenotes/notes/use_conan_1.x-f12570e2cfc8bb26.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -issues: - - | - Aer isn't compatible with Conan 2.X API (https://github.com/Qiskit/qiskit-aer/issues/1730). diff --git a/releasenotes/notes/use_specified_bla_vendor-ca0322e993378048.yaml b/releasenotes/notes/use_specified_bla_vendor-ca0322e993378048.yaml deleted file mode 100644 index e9e6d6b4c3..0000000000 --- a/releasenotes/notes/use_specified_bla_vendor-ca0322e993378048.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - | - Allow a BLA_VENDOR specified by the user, when this is not the case it defaults to OpenBLAS. Note also, if the specified BLAS library is not found Cmake's setup stops.