Release 0.36.0
New features since last release
-
Add compile-time support for AVX2/512 streaming operations in
lightning.qubit
. (#664) -
lightning.kokkos
supports mid-circuit measurements. (#672) -
Add dynamic linking to LAPACK/OpenBlas shared objects in
scipy.libs
for both C++ and Python layer. (#653) -
lightning.qubit
supports mid-circuit measurements. (#650) -
Add finite shots support in
lightning.qubit2
. (#630) -
Add
collapse
andnormalize
methods to theStateVectorLQubit
classes, enabling "branching" of the wavefunction. Add methods to create and seed an RNG in theMeasurements
modules. (#645) -
Add two new python classes (LightningStateVector and LightningMeasurements) to support
lightning.qubit2
. (#613) -
Add analytic-mode
qml.probs
andqml.var
support inlightning.qubit2
. (#627) -
Add
LightningAdjointJacobian
to supportlightning.qubit2
. (#631) -
Add
lightning.qubit2
device which uses the new device API. (#607) (#628) -
Add Vector-Jacobian Product calculation support to
lightning.qubit
. (#644) -
Add support for using new operator arithmetic as the default. (#649)
Breaking changes
-
Split Lightning-Qubit and Lightning-Kokkos CPU Python tests with
pytest-split
. RemoveSERIAL
from Kokkos'exec_model
matrix. Removeall
from Lightning-Kokkos'pl_backend
matrix. Moveclang-tidy
checks totidy.yml
. Avoid editablepip
installations. (#696) -
Update
lightning.gpu
andlightning.kokkos
to raise an error instead of falling back todefault.qubit
. (#689) -
Add
paths
directives to test workflows to avoid running tests that cannot be impacted by changes. (#699) (#695) -
Move common components of
/src/simulator/lightning_gpu/utils/
to/src/utils/cuda_utils/
. (#676) -
Deprecate static LAPACK linking support. (#653)
-
Migrate
lightning.qubit
to the new device API. (#646) -
Introduce
ci:build_wheels
label, which controls wheel building onpull_request
and other triggers. (#648) -
Remove building wheels for Lightning Kokkos on Windows. (#693)
Improvements
-
Add tests for Windows Wheels, fix ill-defined caching, and set the proper backend for
lightning.kokkos
wheels. (#693) -
Replace string comparisons by
isinstance
checks where possible. (#691) -
Refactor
cuda_utils
to remove its dependency oncustatevec.h
. (#681) -
Add
test_templates.py
module where Grover and QSVT are tested. (#684) -
Create
cuda_utils
for common usage of CUDA related backends. (#676) -
Refactor
lightning_gpu_utils
unit tests to remove the dependency on statevector class. (#675) -
Upgrade GitHub actions versions from v3 to v4. (#669)
-
Initialize the private attributes
gates_indices_
andgenerators_indices_
ofStateVectorKokkos
using the definitions of thePennylane::Gates::Constant
namespace. (#641) -
Add
isort
torequirements-dev.txt
and run beforeblack
uponmake format
to sort Python imports. (#623) -
Improve support for new operator arithmetic with
QuantumScriptSerializer.serialize_observables
. (#670) -
Add
workflow_dispatch
to wheels recipes; allowing developers to build wheels manually on a branch instead of temporarily changing the headers. (#679) -
Add the
ENABLE_LAPACK
compilation flag to toggle dynamic linking to LAPACK library. (#678)
Documentation
Bug fixes
-
Fix wire order permutations when using
qml.probs
with out-of-order wires. (#707) -
Lightning Qubit once again respects the wire order specified on device instantiation. (#705)
-
dynamic_one_shot
was refactored to useSampleMP
measurements as a way to return the mid-circuit measurement samples.LightningQubit
'ssimulate
is modified accordingly. (#694) -
LightningQubit
correctly decomposes state prep operations when used in the middle of a circuit. (#687) -
LightningQubit
correctly decomposesqml.QFT
andqml.GroverOperator
iflen(wires)
is greater than 9 and 12 respectively. (#687) -
Specify
isort
--py
(Python version) and-l
(max line length) to stabilizeisort
across Python versions and environments. (#647) -
Fix random
coverage xml
CI issues. (#635) -
lightning.qubit
correctly decomposed state preparation operations with adjoint differentiation. (#661) -
Fix the failed observable serialization unit tests. (#683)
-
Update the
LightningQubit
new device API to work with Catalyst. (#665) -
Update the version of
codecov-action
to v4 and fix the CodeCov issue with the PL-Lightning check-compatibility actions. (#682) -
Refactor of dev prerelease auto-update-version workflow. (#685)
-
Remove gates unsupported by catalyst from toml file. (#698)
-
Increase tolerance for a flaky test. (#703)
Contributors
This release contains contributions from (in alphabetical order):
Ali Asadi, Amintor Dusko, Thomas Germain, Christina Lee, Erick Ochoa Lopez, Vincent Michaud-Rioux, Rashid N H M, Lee James O'Riordan, Mudit Pandey, Shuli Shu