Release Notes#

0.4.5#

Prelude#

Release 0.4.5 removes version pin qiskit<1.0 from setup.py. Otherwise there are no material changes.

0.4.4#

Bug Fixes#

  • Fixes a bug in solve_lmde_perturbation() in which the perturbation_labels argument was being unexpectedly re-ordered, leading to errors when retrieving results.

0.4.3#

Prelude#

Qiskit Dynamics 0.4.3 is a minor maintenance release.

Upgrade Notes#

  • The package now depends on qiskit rather than qiskit-terra.

Other Notes#

0.4.2#

Prelude#

Qiskit Dynamics 0.4.2 is an incremental release with minor bug fixes and additional warnings to help guide users through issues.

Upgrade Notes#

  • The subsystem_labels option has been removed from the DynamicsBackend. This removal impacts some technical aspects of the backend returned by DynamicsBackend.from_backend() when the subsystem_list argument is used. Using the subsystem_list argument with DynamicsBackend.from_backend() restricts the internally constructed model to the qubits in subsystem_list. When doing so previously, the option subsystem_labels would be set to subsystem_labels, and subsystem_dims would record only the dimensions for the systems in subsystem_labels. To account for the fact that subsystem_labels no longer exists, DynamicsBackend.from_backend() now constructs subsystem_dims to list a dimension for all of the qubits in the original backend, however now the dimensions of the removed systems are given as 1 (i.e. they are treated as trivial quantum systems with a single state). This change is made only for technical bookkeping purposes, and has no impact on the core simulation behaviour.

Bug Fixes#

  • In the case that envelope is a constant, the Signal.__init__() method has been updated to not attempt to evaluate carrier_freq == 0.0 if carrier_freq is a JAX tracer. In this case, it is not possible to determine if the Signal instance is constant. This resolves an error that was being raised during JAX tracing if carrier_freq is abstract.

  • DynamicsBackend.options.normalize_states now also controls whether or not the probability distribution over outcomes is normalized before sampling outcomes.

Other Notes#

  • For users that have JAX installed, a warning has been added upon import of Qiskit Dynamics to notify the user of issues with certain versions: JAX versions newer than 0.4.6 break the perturbation module, and to use perturbation module with versions 0.4.4, 0.4.5, or 0.4.6, it is necessary to set os.environ['JAX_JIT_PJIT_API_MERGE'] = '0' before importing JAX or Dynamics.

  • A warning has been added to InstructionToSignals class when converting pulse schedules to signals to notify the user if the usage of SetFrequency or ShiftFrequency commands result in a digital carrier frequency larger than the Nyquist frequency of the envelope sample size dt.

0.4.1#

Prelude#

Qiskit Dynamics 0.4.1 is an incremental release with minor bug fixes, documentation updates, and usability features.

New Features#

  • The DynamicsBackend.from_backend() method has been updated to automatically populate the control_channel_map option based on the supplied backend if the user does not supply one.

Known Issues#

  • Due to a bug in JAX, Dynamics can only be used with jax<=0.4.6. As they depend on newer versions of JAX, Dynamics is also now only compatible with diffrax<=0.3.1 and equinox<=0.10.3.

Bug Fixes#

  • A bug in DynamicsBackend.__init__() causing existing measurement instructions for a user-supplied Target to be overwritten has been fixed.

  • Fixes a bug in the perturbation module with internal sorting of Multiset instances, which caused incorrect computation of perturbation theory terms when >10 perturbations are present.

Other Notes#