Pennylane-lightning

Latest version: v0.36.0

Safety actively analyzes 629004 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 6

0.20.2

* Introduce CY kernel to Lightning to avoid issues with decomposition & adjoint. [(203)](https://github.com/PennyLaneAI/pennylane-lightning/pull/203)

0.20.1

Bug fixes

* Fix missing header-files causing build errors in algorithms module.
[(193)](https://github.com/PennyLaneAI/pennylane-lightning/pull/193)

* Fix failed tests for the non-binary wheel.
[(191)](https://github.com/PennyLaneAI/pennylane-lightning/pull/191)

0.20.0

What's Changed
* Add Multi-threaded DOTC, GEMV, GEMM along with BLAS Support by maliasadi in https://github.com/PennyLaneAI/pennylane-lightning/pull/155
* Update PL-Lightning to support new features in PL by maliasadi in https://github.com/PennyLaneAI/pennylane-lightning/pull/179
* Fix missing header for dependent packages by mlxd in https://github.com/PennyLaneAI/pennylane-lightning/pull/180
* setup.py uses CMake by chaeyeunpark in https://github.com/PennyLaneAI/pennylane-lightning/pull/176
* Disable AVX default for PPC and ARM by chaeyeunpark in https://github.com/PennyLaneAI/pennylane-lightning/pull/182
* No init module use for the tests by antalszava in https://github.com/PennyLaneAI/pennylane-lightning/pull/184
* Gate Aggregate Performance Tests; Issue 158 by isschoch in https://github.com/PennyLaneAI/pennylane-lightning/pull/165
* Add VJP support to PL-Lightning by maliasadi in https://github.com/PennyLaneAI/pennylane-lightning/pull/181
* Add np.complex64 support in PL-Lightning by maliasadi in https://github.com/PennyLaneAI/pennylane-lightning/pull/177

New Contributors
* Jaybsoni made their first contribution in https://github.com/PennyLaneAI/pennylane-lightning/pull/159
* isschoch made their first contribution in https://github.com/PennyLaneAI/pennylane-lightning/pull/165

0.19.0

What's Changed
* Update to development version 0.19 by trbromley in https://github.com/PennyLaneAI/pennylane-lightning/pull/150
* Fix C++ compiler warnings by maliasadi in https://github.com/PennyLaneAI/pennylane-lightning/pull/147
* Ensure Lightning adheres to C++17 modernization standard with clang-tidy by mlxd in https://github.com/PennyLaneAI/pennylane-lightning/pull/153
* Add check-tidy to Makefile by maliasadi in https://github.com/PennyLaneAI/pennylane-lightning/pull/156
* Optimise x86_64 builds with AVX friendly opts by mlxd in https://github.com/PennyLaneAI/pennylane-lightning/pull/157
* Version Bump `0.19.0` by github-actions in https://github.com/PennyLaneAI/pennylane-lightning/pull/163
* Fix OpenMP library issues on M1 Macs by mlxd in https://github.com/PennyLaneAI/pennylane-lightning/pull/166
* Fix CI builder release issues by mlxd in https://github.com/PennyLaneAI/pennylane-lightning/pull/168

New Contributors
* github-actions made their first contribution in https://github.com/PennyLaneAI/pennylane-lightning/pull/163

**Full Changelog**: https://github.com/PennyLaneAI/pennylane-lightning/compare/v0.18.0...v0.19.0

0.18.0

New features since last release

* PennyLane-Lightning now provides a high-performance
[adjoint Jacobian](http://arxiv.org/abs/2009.02823) method for differentiating quantum circuits.
[(136)](https://github.com/PennyLaneAI/pennylane-lightning/pull/136)

The adjoint method operates after a forward pass by iteratively applying inverse gates to scan
backwards through the circuit. The method is already available in PennyLane's
`default.qubit` device, but the version provided by `lightning.qubit` integrates with the C++
backend and is more performant, as shown in the plot below:

<img src="https://raw.githubusercontent.com/PennyLaneAI/pennylane-lightning/master/doc/_static/lightning_adjoint.png" width=70%/>

The plot compares the average runtime of `lightning.qubit` and `default.qubit` for calculating the
Jacobian of a circuit using the adjoint method for a range of qubit numbers. The circuit
consists of ten `BasicEntanglerLayers` with a `PauliZ` expectation value calculated on each wire,
repeated over ten runs. We see that `lightning.qubit` provides a speedup of around two to eight
times, depending on the number of qubits.

The adjoint method can be accessed using the standard interface. Consider the following circuit:

python
import pennylane as qml

wires = 3
layers = 2
dev = qml.device("lightning.qubit", wires=wires)

qml.qnode(dev, diff_method="adjoint")
def circuit(weights):
qml.templates.StronglyEntanglingLayers(weights, wires=range(wires))
return qml.expval(qml.PauliZ(0))

weights = qml.init.strong_ent_layers_normal(layers, wires, seed=1967)


The circuit can be executed and its gradient calculated using:

pycon
>>> print(f"Circuit evaluated: {circuit(weights)}")
Circuit evaluated: 0.9801286266677633
>>> print(f"Circuit gradient:\n{qml.grad(circuit)(weights)}")
Circuit gradient:
[[[-1.11022302e-16 -1.63051504e-01 -4.14810501e-04]
[ 1.11022302e-16 -1.50136528e-04 -1.77922957e-04]
[ 0.00000000e+00 -3.92874550e-02 8.14523075e-05]]

[[-1.14472273e-04 3.85963953e-02 0.00000000e+00]
[-5.76791765e-05 -9.78478343e-02 0.00000000e+00]
[-5.55111512e-17 0.00000000e+00 -1.11022302e-16]]]


* PennyLane-Lightning now supports all of the operations and observables of `default.qubit`.
[(124)](https://github.com/PennyLaneAI/pennylane-lightning/pull/124)

Improvements

* A new state-vector class `StateVectorManaged` was added, enabling memory use to be bound to
statevector lifetime.
[(136)](https://github.com/PennyLaneAI/pennylane-lightning/pull/136)

* The repository now has a well-defined component hierarchy, allowing each indepedent unit to be
compiled and linked separately.
[(136)](https://github.com/PennyLaneAI/pennylane-lightning/pull/136)

* PennyLane-Lightning can now be installed without compiling its C++ binaries and will fall back
to using the `default.qubit` implementation. Skipping compilation is achieved by setting the
`SKIP_COMPILATION` environment variable, e.g., Linux/MacOS: `export SKIP_COMPILATION=True`,
Windows: `set SKIP_COMPILATION=True`. This feature is intended for building a pure-Python wheel of
PennyLane-Lightning as a backup for platforms without a dedicated wheel.
[(129)](https://github.com/PennyLaneAI/pennylane-lightning/pull/129)

* The C++-backed Python bound methods can now be directly called with wires and supplied parameters.
[(125)](https://github.com/PennyLaneAI/pennylane-lightning/pull/125)

* Lightning supports arbitrary unitary and non-unitary gate-calls from Python to C++ layer.
[(121)](https://github.com/PennyLaneAI/pennylane-lightning/pull/121)

Documentation

* Added preliminary architecture diagram for package.
[(131)](https://github.com/PennyLaneAI/pennylane-lightning/pull/131)

* C++ API built as part of docs generation.
[(131)](https://github.com/PennyLaneAI/pennylane-lightning/pull/131)

Breaking changes

* Wheels for MacOS <= 10.13 will no longer be provided due to XCode SDK C++17 support requirements.
[(149)](https://github.com/PennyLaneAI/pennylane-lightning/pull/149)

Bug fixes

* An indexing error in the CRY gate is fixed. [(136)](https://github.com/PennyLaneAI/pennylane-lightning/pull/136)

* Column-major data in numpy is now correctly converted to row-major upon pass to the C++ layer.
[(126)](https://github.com/PennyLaneAI/pennylane-lightning/pull/126)

Contributors

This release contains contributions from (in alphabetical order):

Thomas Bromley, Lee James O'Riordan

0.17.0

New features

* C++ layer now supports float (32-bit) and double (64-bit) templated complex data. [(113)](https://github.com/PennyLaneAI/pennylane-lightning/pull/113)

Improvements

* The PennyLane device test suite is now included in coverage reports. [(123)](https://github.com/PennyLaneAI/pennylane-lightning/pull/123)

* Static versions of jQuery and Bootstrap are no longer included in the CSS theme. [(118)](https://github.com/PennyLaneAI/pennylane-lightning/pull/118)

* C++ tests have been ported to use Catch2 framework. [(115)](https://github.com/PennyLaneAI/pennylane-lightning/pull/115)

* Testing now exists for both float and double precision methods in C++ layer. [(113)](https://github.com/PennyLaneAI/pennylane-lightning/pull/113) [(#115)](https://github.com/PennyLaneAI/pennylane-lightning/pull/115)

* Compile-time utility methods with `constexpr` have been added. [(113)](https://github.com/PennyLaneAI/pennylane-lightning/pull/113)

* Wheel-build support for ARM64 (Linux and MacOS) and PowerPC (Linux) added. [(110)](https://github.com/PennyLaneAI/pennylane-lightning/pull/110)

* Add support for Controlled Phase Gate (`ControlledPhaseShift`). [(114)](https://github.com/PennyLaneAI/pennylane-lightning/pull/114)

* Move changelog to `.github` and add a changelog reminder. [(111)](https://github.com/PennyLaneAI/pennylane-lightning/pull/111)

* Adds CMake build system support. [(104)](https://github.com/PennyLaneAI/pennylane-lightning/pull/104)


Breaking changes

* Removes support for Python 3.6. [(127)](https://github.com/PennyLaneAI/pennylane-lightning/pull/127)

* Compilers with C++17 support are now required to build C++ module. [(113)](https://github.com/PennyLaneAI/pennylane-lightning/pull/113)

* Gate classes have been removed with functionality added to StateVector class. [(113)](https://github.com/PennyLaneAI/pennylane-lightning/pull/113)

* We are no longer building wheels for Python 3.6. [(106)](https://github.com/PennyLaneAI/pennylane-lightning/pull/106)

Bug fixes

* Column-major data in numpy is now correctly converted to row-major upon pass to the C++ layer. [(126)](https://github.com/PennyLaneAI/pennylane-lightning/pull/126)

* PowerPC wheel-builder now successfully compiles modules. [(120)](https://github.com/PennyLaneAI/pennylane-lightning/pull/120)

Documentation

* Added community guidelines. [(109)](https://github.com/PennyLaneAI/pennylane-lightning/pull/109)

Contributors

This release contains contributions from (in alphabetical order):

Ali Asadi, Thomas Bromley, Lee James O'Riordan

Page 5 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.