Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
---
prelude: >
Support for Python 3.8 has been dropped.
upgrade:
- |
Python 3.8 support was dropped as Python 3.8 reached End Of Life
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
fixes:
- |
Compatibility fix for scipy 1.14 version. csr_matrix.H had been deprecated
Compatibility fix for scipy 1.14 version. ``csr_matrix.H`` had been deprecated
and was removed. The :class:`.NumPyEigensolver` algorithm, which
had been using that, has been updated to use an alternative.
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,39 @@
prelude: >
This release compiles a series of important updates to the package, including:

- dropped support for Python 3.8 and added support for Python 3.13
- added support for PrimitivesV2
- addressed deprecations from the 1.x cycle

These changes allow for qiskit-algorithms to now support
* dropped support for Python 3.8 and added support for Python 3.13
* added support for ``PrimitivesV2``
* addressed deprecations from the Qiskit 1.x cycle
These changes allow for ``qiskit-algorithms`` to now support
`Qiskit 2.x <https://docs.quantum.ibm.com/api/qiskit/release-notes/2.0>`__
while maintaining support for the 1.x cycle.
while maintaining support for the 1.x cycle.

In further detail:

Following up on the deprecation of V1 primitives in Qiskit 1.X and their
subsequent removal in Qiskit 2.X, this release of ``qiskit-algorithms``
drops their support in favor of the V2 primitives. You can read about
how to modify your imports in your code in the
`Qiskit migration guide to the V2 primitives <https://quantum.cloud.ibm.com/docs/en/migration-guides/v2-primitives>__.
Since V2 primitives may require users to transpile their circuit, it is
now possible for the users to provide the classes that define their own
:class:`~qiskit.circuit.QuantumCircuit` with a ``Transpiler``
along with some options. A ``Transpiler`` is any object having a ``run``
method that can take as input a
:class:`~qiskit.circuit.QuantumCircuit` or a list thereof and
additional options and returns the transpiled version of its input(s)
according to the provided options.

Following up on the deprecation of ``BlueprintCircuit`` in the 2.1 version of Qiskit, most
tests have been updated to use the replacements functions instead. These circuits are still
supported by ``qiskit-algorithms``, though their use is now deprecated, and their support will
be removed when the oldest supported Qiskit version is 3.0.

The :class:`.AmplificationProblem` and :class:`.Grover` classes now support being
passed :class:`~qiskit.circuit.library.Gate` objects to support the use of
:class:`~qiskit.circuit.library.PhaseOracleGate` in addition to
:class:`~qiskit.circuit.library.PhaseOracle`.

The :class:`.AdaptVQE` class now supports a new way to specify its ansatz, following up on the
deprecation of :class:`~qiskit.circuit.library.EvolvedOperatorAnsatz`.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
fixes:
- |
Resolved the issue with multiply-defined Scipy bounds in Optimizers. In line with Scipy, now only the ``minimize()``
Resolved the issue with multiply-defined Scipy bounds in :mod:`qiskit_algorithms.optimizers`. In line with Scipy, now only the ``minimize()``
method supports the ``bounds`` keyword. An error is raised when trying to pass ``bounds`` in the Optimizer constructor
via ``kwargs`` or ``options``.
Original file line number Diff line number Diff line change
@@ -1,18 +1,4 @@
---
prelude: >
Following up on the deprecation of V1 primitives in Qiskit 1.X and their
subsequent removal in Qiskit 2.X, this release of ``qiskit-algorithms``
drops their support in favor of the V2 primitives. You can read about
how to modify your imports in your code in the
[Qiskit migration guide to the V2 primitives](https://quantum.cloud.ibm.com/docs/en/migration-guides/v2-primitives).
Since V2 primitives may require users to transpile their circuit, it is
now possible for the users to provide the classes that define their own
:class:`~qiskit.circuit.QuantumCircuit` with a ``Transpiler``
along with some options. A ``Transpiler`` is any object having a ``run``
method that can take as input a
:class:`~qiskit.circuit.QuantumCircuit` or a list thereof and
additional options and returns the transpiled version of its input(s)
according to the provided options.
features:
- |
Some classes, notably those that create their own
Expand All @@ -23,7 +9,7 @@ features:
the transpiled version of its input(s) according to the provided options.
Passing a ``Transpiler`` to such a class is done via the `transpiler`
keyword-only argument at instantiation, and additional options passed to
its `run` method can be passed using the `transpiler_options` keyword-only
its ``run`` method can be passed using the ``transpiler_options`` keyword-only
argument at instantiation. The classes that support this feature are

- :class:`.Grover`
Expand All @@ -45,7 +31,7 @@ features:
to those above, these classes don't create their own
:class:`qiskit.circuit.QuantumCircuit`, which is instead provided by the user.
As such, transpiling the circuits prior to passing them to theses classes
has the same effect as providing these classes with a `Transpiler`. These classes are
has the same effect as providing these classes with a ``Transpiler``. These classes are

- :class:`.FiniteDiffEstimatorGradient`
- :class:`.FiniteDiffSamplerGradient`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
upgrade:
- |
The list of arguments for `QNSPSA.get_fidelity()` has been updated to
remove the keyword enforcement for `sampler` so also allowing it now
as positional. Additionally the `sampler` must be explicitly specified, as a
The list of arguments for :meth:`.QNSPSA.get_fidelity()` has been updated to
remove the keyword enforcement for ``sampler`` so also allowing it now
as positional. Additionally the ``sampler`` must be explicitly specified, as a
valid object, as it no longer supports `None` nor defaults to that.
Loading