Release v0.34.0
New features since last release
-
Support added for Python 3.12 wheel builds. (#541)
-
Lightning-Qubit support arbitrary controlled gates (any wires and any control values). The kernels are implemented in the
LMmodule. (#576) -
Shot-noise related methods now accommodate observable objects with arbitrary eigenvalues. Add a Kronecker product method for two diagonal matrices. (#570)
-
Add shot-noise support for probs in the C++ layer. Probabilities are calculated from generated samples. All Lightning backends support this feature. Please note that target wires should be sorted in ascending manner. (#568)
-
Add
LMkernels to apply arbitrary controlled operations efficiently. (#516) -
Add shots support for variance value, probs, sample, counts calculation for given observables (
NamedObs,TensorProdandHamiltonian) based on Pauli words,IdentityandHadamardin the C++ layer. All Lightning backends support this support feature. (#561) -
Add shots support for expectation value calculation for given observables (
NamedObs,TensorProdandHamiltonian) based on Pauli words,IdentityandHadamardin the C++ layer by addingmeasure_with_samplesto the measurement interface. All Lightning backends support this support feature. (#556) -
qml.QubitUnitaryoperators can be included in a circuit differentiated with the adjoint method. Lightning handles circuits with arbitrary non-differentiableqml.QubitUnitaryoperators. 1,2-qubitqml.QubitUnitaryoperators with differentiable parameters can be differentiated using decomposition. (#540)
Breaking changes
-
Set the default version of Kokkos to 4.2.00 throughout the project (CMake, CI, etc.) (#578)
-
Overload
applyOperationwith a fifthmatrixargument to all state vector classes to support arbitrary operations inAdjointJacobianBase. (#540)
Improvements
-
Ensure aligned memory used for numpy arrays with state-vector without reallocations. (#572)
-
Unify error messages of shot measurement related unsupported observables to better Catalyst. (#577)
-
Add configuration files to improve compatibility with Catalyst. (#566)
-
Refactor shot-noise related methods of MeasurementsBase class in the C++ layer and eigenvalues are not limited to
1and-1. AddgetObs()method to Observables class. RefactorapplyInPlaceShotsto allow users to get eigenvalues of Observables object. Deprecated_preprocess_statemethod inMeasurementsBaseclass for safer use of theLightningQubitRawbackend. (#570) -
Modify
setup.pyto use backend-specific build directory (f"build_{backend}") to accelerate rebuilding backends in alternation. (#540) -
Update Dockerfile and rewrite the
build-wheel-lightning-gpustage to build Lightning-GPU from thepennylane-lightningmonorepo. (#539) -
Add the MPI test CI workflows of Lightning-GPU in compatibility cron jobs. (#536)
-
Add MPI synchronization in places to safely handle communicated data. (#538)
-
Add release option in compatibility cron jobs to test the release candidates of PennyLane and the Lightning plugins against one another. (#531)
-
Add GPU workflows in compatibility cron jobs to test Lightning-GPU and Lightning-Kokkos with the Kokkos CUDA backend. (#528)
Documentation
-
Fixed a small typo in the documentation page for the PennyLane-Lightning GPU device. (#563)
-
Add OpenGraph social preview for Lightning docs. (#574)
Bug fixes
-
Fix CodeCov file contention issue when uploading data from many workloads. (#584)
-
Ensure the
lightning.gpuintermediate wheel builds are uploaded to TestPyPI. (#575) -
Allow support for newer clang-tidy versions on non-x86_64 platforms. (#567)
-
Do not run C++ tests when testing for compatibility with PennyLane, hence fixing plugin-matrix failures. Fix Lightning-GPU workflow trigger. (#571)
-
Revert single-node multi-GPU batching behaviour to match PennyLaneAI/pennylane-lightning-gpu#27. (#564)
-
Move deprecated
stateprepQuantumScriptargument into the operation list inmpitests/test_adjoint_jacobian.py. (#540) -
Fix MPI Python unit tests for the adjoint method. (#538)
-
Fix the issue with assigning kernels to ops before registering kernels on macOS. (#582)
-
Update
MANIFEST.into include device config files andCHANGELOG.md. (#585)
Contributors
This release contains contributions from (in alphabetical order):
Ali Asadi, Isaac De Vlugt, Amintor Dusko, Vincent Michaud-Rioux, Erick Ochoa Lopez, Lee James O'Riordan, Shuli Shu