Skip to content

Commit

Permalink
Compile 0.5.0 release notes (#345)
Browse files Browse the repository at this point in the history
  • Loading branch information
DanPuzzuoli authored Mar 18, 2024
1 parent 028d5a2 commit 433393a
Show file tree
Hide file tree
Showing 17 changed files with 64 additions and 131 deletions.
7 changes: 0 additions & 7 deletions releasenotes/notes/0.4/carrier-freq-0-19ad4362c874944f.yaml

This file was deleted.

This file was deleted.

5 changes: 0 additions & 5 deletions releasenotes/notes/0.4/diffrax-bound-0bd80c01b7f4b48f.yaml

This file was deleted.

This file was deleted.

9 changes: 0 additions & 9 deletions releasenotes/notes/0.4/move-repo-c0b48ba3b0ced8db.yaml

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

64 changes: 64 additions & 0 deletions releasenotes/notes/0.5/0.5.0-notes-5d846b13c228f5c3.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
prelude: >
| Qiskit Dynamics ``0.5.0`` introduces a major change to the internal array dispatching
mechanism. Users can now work directly with their supported array library of choice, without
the need to personally manage the dispatching behaviour using the :class:`.Array` class as in
previous versions. Internally, Qiskit Dynamics now uses `Arraylias
<https://qiskit-extensions.github.io/arraylias/>`_ for dispatching. See the :ref:`user guide
entry on using different array libraries with Qiskit Dynamics <how-to use different array
libraries>` for more details on the updated approach.
| To accompany this change, arguments that explicitly control the array library used to store
matrices (e.g. ``evaluation_mode``) in models and related classes have also been changed. See
the upgrade notes for a list of such changes, as well as the updated :ref:`user guide on
configuring simulations for performance <configuring simulations>` for how to use the new
versions of these arguments.
| Due to the scale of these changes, this release will generally break any pre-existing
Dynamics code utilizing :class:`.Array` or any of the aformentioned model and solver
arguments. The :class:`.Array` class and ``array`` and ``dispatch`` submodules have been
deprecated, and will be removed in ``0.6.0``. The documentation for the previous release
``0.4.5`` is still available `here
<https://qiskit-extensions.github.io/qiskit-dynamics/stable/0.4/>`_.
features:
- |
Adds the :meth:`.DynamicsBackend.solve` method for running simulations of circuits and schedules
for arbitrary input types, and returning the ODE simulation results.
deprecations:
- |
The ``array`` and ``dispatch`` submodules of Qiskit Dynamics have been deprecated as of version
0.5.0, and will be removed in version ``0.6.0``.
upgrade:
- |
Support for Python 3.12 has been added, and Python 3.8 has been dropped.
- |
The upper bound on JAX and Diffrax in the last version of Qiskit Dynamics has been removed.
Users should try to use the latest version of JAX.
- |
The interface for :class:`.GeneratorModel`, :class:`.HamiltonianModel`, and
:class:`.LindbladModel` have been modified. The ``copy`` method has been removed, and all setter
methods other than ``in_frame_basis`` and ``signals`` have been removed. The ``evaluation_mode``
construction argument has been replaced by ``array_library``, which controls which array library
is used internally to store and evaluate operations, and the additional ``vectorized`` boolean
argument has been added to :class:`.LindbladModel` to control whether the equation is evaluated
in vectorized mode. Note that, regardless of array library used, dense arrays must be supplied
to the constructors of these classes, due to peculiarities of the internal setup for sparse
libraries.
- |
In conjunction with the change to the ``evaluation_mode`` argument in the model classes, the
:class:`.Solver` class has been updated to take the ``array_library`` constructor argument, as
well as the ``vectorized`` constructor argument (for use when Lindblad terms are present).
- |
Similar to the :class:`.Solver` initialization method, the :meth:`.DynamicsBackend.from_backend`
constructor method argument ``evaluation_mode`` has been removed and replaced by the arguments
``array_library`` and ``vectorized``.
- |
The logic in :meth:`.Solver.solve` for automatic ``jit`` compiling when using JAX and simulating
a list of schedules has been updated to no longer be based on when ``Array.default_backend() ==
"jax"``. The attempted automatic ``jit`` now occurs based purely on whether
``method="jax_odeint"``, or ``method`` is a Diffrax integration method. A warning will be raised
if the ``array_library`` is not known to be compatible with the compilation routine. (For now,
``"scipy_sparse"`` is the only ``array_library`` not compatible with this routine, however a
warning will still be raised if no explicit ``array_library`` is provided, as in this case the
JAX-compatibility is unknown.)
6 changes: 0 additions & 6 deletions releasenotes/notes/backend-arraylias-eb88f65de28bdf3c.yaml

This file was deleted.

This file was deleted.

This file was deleted.

12 changes: 0 additions & 12 deletions releasenotes/notes/model-changes-221fb43b3e9cc0dd.yaml

This file was deleted.

This file was deleted.

4 changes: 0 additions & 4 deletions releasenotes/notes/python-versions-655040935a2359c2.yaml

This file was deleted.

15 changes: 0 additions & 15 deletions releasenotes/notes/solver-class-arraylias-80781bb527c3bf52.yaml

This file was deleted.

10 changes: 0 additions & 10 deletions releasenotes/notes/update-jax-a50ce1b7d6b47219.yaml

This file was deleted.

0 comments on commit 433393a

Please sign in to comment.