Release 0.36.0
New features since last release
-
Add compile-time support for AVX2/512 streaming operations in
lightning.qubit. (#664) -
lightning.kokkossupports mid-circuit measurements. (#672) -
Add dynamic linking to LAPACK/OpenBlas shared objects in
scipy.libsfor both C++ and Python layer. (#653) -
lightning.qubitsupports mid-circuit measurements. (#650) -
Add finite shots support in
lightning.qubit2. (#630) -
Add
collapseandnormalizemethods to theStateVectorLQubitclasses, enabling "branching" of the wavefunction. Add methods to create and seed an RNG in theMeasurementsmodules. (#645) -
Add two new python classes (LightningStateVector and LightningMeasurements) to support
lightning.qubit2. (#613) -
Add analytic-mode
qml.probsandqml.varsupport inlightning.qubit2. (#627) -
Add
LightningAdjointJacobianto supportlightning.qubit2. (#631) -
Add
lightning.qubit2device 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. RemoveSERIALfrom Kokkos'exec_modelmatrix. Removeallfrom Lightning-Kokkos'pl_backendmatrix. Moveclang-tidychecks totidy.yml. Avoid editablepipinstallations. (#696) -
Update
lightning.gpuandlightning.kokkosto raise an error instead of falling back todefault.qubit. (#689) -
Add
pathsdirectives 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.qubitto the new device API. (#646) -
Introduce
ci:build_wheelslabel, which controls wheel building onpull_requestand 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.kokkoswheels. (#693) -
Replace string comparisons by
isinstancechecks where possible. (#691) -
Refactor
cuda_utilsto remove its dependency oncustatevec.h. (#681) -
Add
test_templates.pymodule where Grover and QSVT are tested. (#684) -
Create
cuda_utilsfor common usage of CUDA related backends. (#676) -
Refactor
lightning_gpu_utilsunit 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_ofStateVectorKokkosusing the definitions of thePennylane::Gates::Constantnamespace. (#641) -
Add
isorttorequirements-dev.txtand run beforeblackuponmake formatto sort Python imports. (#623) -
Improve support for new operator arithmetic with
QuantumScriptSerializer.serialize_observables. (#670) -
Add
workflow_dispatchto wheels recipes; allowing developers to build wheels manually on a branch instead of temporarily changing the headers. (#679) -
Add the
ENABLE_LAPACKcompilation flag to toggle dynamic linking to LAPACK library. (#678)
Documentation
Bug fixes
-
Fix wire order permutations when using
qml.probswith out-of-order wires. (#707) -
Lightning Qubit once again respects the wire order specified on device instantiation. (#705)
-
dynamic_one_shotwas refactored to useSampleMPmeasurements as a way to return the mid-circuit measurement samples.LightningQubit'ssimulateis modified accordingly. (#694) -
LightningQubitcorrectly decomposes state prep operations when used in the middle of a circuit. (#687) -
LightningQubitcorrectly decomposesqml.QFTandqml.GroverOperatoriflen(wires)is greater than 9 and 12 respectively. (#687) -
Specify
isort--py(Python version) and-l(max line length) to stabilizeisortacross Python versions and environments. (#647) -
Fix random
coverage xmlCI issues. (#635) -
lightning.qubitcorrectly decomposed state preparation operations with adjoint differentiation. (#661) -
Fix the failed observable serialization unit tests. (#683)
-
Update the
LightningQubitnew device API to work with Catalyst. (#665) -
Update the version of
codecov-actionto 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