pennylane-lightning-tensor 0.42.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. pennylane_lightning_tensor-0.42.0/.github/CHANGELOG.md +2755 -0
  2. pennylane_lightning_tensor-0.42.0/CMakeLists.txt +199 -0
  3. pennylane_lightning_tensor-0.42.0/LICENSE +212 -0
  4. pennylane_lightning_tensor-0.42.0/MANIFEST.in +9 -0
  5. pennylane_lightning_tensor-0.42.0/PKG-INFO +220 -0
  6. pennylane_lightning_tensor-0.42.0/README.md +178 -0
  7. pennylane_lightning_tensor-0.42.0/cmake/FindCBLAS.cmake +74 -0
  8. pennylane_lightning_tensor-0.42.0/cmake/FindMKL.cmake +86 -0
  9. pennylane_lightning_tensor-0.42.0/cmake/FindSCIPY_OPENBLAS32.cmake +28 -0
  10. pennylane_lightning_tensor-0.42.0/cmake/process_options.cmake +102 -0
  11. pennylane_lightning_tensor-0.42.0/cmake/support_catalyst.cmake +74 -0
  12. pennylane_lightning_tensor-0.42.0/cmake/support_kokkos.cmake +106 -0
  13. pennylane_lightning_tensor-0.42.0/cmake/support_pllgpu.cmake +98 -0
  14. pennylane_lightning_tensor-0.42.0/cmake/support_pltensortncuda.cmake +54 -0
  15. pennylane_lightning_tensor-0.42.0/cmake/support_simulators.cmake +40 -0
  16. pennylane_lightning_tensor-0.42.0/cmake/support_tests.cmake +51 -0
  17. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/CMakeLists.txt +29 -0
  18. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/__init__.py +16 -0
  19. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/__pycache__/__init__.cpython-310.pyc +0 -0
  20. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/__pycache__/_version.cpython-310.pyc +0 -0
  21. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/_version.py +19 -0
  22. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/algorithms/AdjointJacobianBase.hpp +212 -0
  23. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/algorithms/CMakeLists.txt +21 -0
  24. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/algorithms/JacobianData.hpp +394 -0
  25. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/algorithms/tests/CMakeLists.txt +71 -0
  26. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/algorithms/tests/Test_AdjointJacobian.cpp +667 -0
  27. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/algorithms/tests/mpi/Test_AdjointJacobianMPI.cpp +395 -0
  28. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/algorithms/tests/mpi/runner_algorithms_mpi.cpp +10 -0
  29. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/algorithms/tests/runner_algorithms.cpp +2 -0
  30. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/bindings/Bindings.cpp +91 -0
  31. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/bindings/Bindings.hpp +959 -0
  32. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/bindings/BindingsBase.hpp +136 -0
  33. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/bindings/BindingsCudaUtils.hpp +101 -0
  34. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/bindings/BindingsMPI.hpp +581 -0
  35. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/bindings/CMakeLists.txt +11 -0
  36. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/gates/CMakeLists.txt +6 -0
  37. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/gates/Constant.hpp +431 -0
  38. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/gates/GateOperation.hpp +206 -0
  39. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/gates/Gates.hpp +1385 -0
  40. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/measurements/.clang-tidy +233 -0
  41. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/measurements/CMakeLists.txt +17 -0
  42. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/measurements/MeasurementsBase.hpp +524 -0
  43. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/measurements/tests/CMakeLists.txt +68 -0
  44. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/measurements/tests/Test_MeasurementsBase.cpp +1713 -0
  45. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/measurements/tests/mpi/Test_MeasurementsBaseMPI.cpp +1515 -0
  46. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/measurements/tests/mpi/runner_measurements_mpi.cpp +10 -0
  47. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/measurements/tests/runner_measurements.cpp +2 -0
  48. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/observables/CMakeLists.txt +17 -0
  49. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/observables/Observables.hpp +701 -0
  50. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/observables/tests/CMakeLists.txt +67 -0
  51. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/observables/tests/Test_Observables.cpp +684 -0
  52. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/observables/tests/mpi/Test_ObservablesMPI.cpp +626 -0
  53. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/observables/tests/mpi/runner_observables_mpi.cpp +10 -0
  54. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/observables/tests/runner_observables.cpp +2 -0
  55. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/CMakeLists.txt +16 -0
  56. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/base/CMakeLists.txt +17 -0
  57. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/base/StateVectorBase.hpp +207 -0
  58. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/base/tests/CMakeLists.txt +40 -0
  59. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/base/tests/Test_StateVectorBase.cpp +175 -0
  60. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/base/tests/runner_base.cpp +2 -0
  61. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/CMakeLists.txt +90 -0
  62. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/MPIWorker.hpp +311 -0
  63. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/StateVectorCudaBase.hpp +278 -0
  64. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/StateVectorCudaMPI.cpp +19 -0
  65. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/StateVectorCudaMPI.hpp +2244 -0
  66. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/StateVectorCudaManaged.cpp +19 -0
  67. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/StateVectorCudaManaged.hpp +2613 -0
  68. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/algorithms/AdjointJacobianGPU.hpp +358 -0
  69. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/algorithms/AdjointJacobianGPUMPI.hpp +339 -0
  70. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/algorithms/AlgorithmsGPU.cpp +33 -0
  71. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/algorithms/AlgorithmsGPUMPI.cpp +36 -0
  72. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/algorithms/CMakeLists.txt +28 -0
  73. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/algorithms/JacobianDataMPI.hpp +95 -0
  74. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/algorithms/tests/CMakeLists.txt +65 -0
  75. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/algorithms/tests/Test_AdjointJacobianGPU.cpp +721 -0
  76. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/algorithms/tests/mpi/Test_AdjointJacobianGPUMPI.cpp +571 -0
  77. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/algorithms/tests/mpi/runner_lightning_gpu_algorithms_mpi.cpp +10 -0
  78. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/algorithms/tests/runner_lightning_gpu_algorithms.cpp +2 -0
  79. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/bindings/CMakeLists.txt +17 -0
  80. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/bindings/LGPUBindings.hpp +428 -0
  81. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/bindings/LGPUBindingsMPI.hpp +323 -0
  82. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/catalyst/CMakeLists.txt +25 -0
  83. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/catalyst/LightningGPUObsManager.hpp +208 -0
  84. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/catalyst/LightningGPUSimulator.cpp +545 -0
  85. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/catalyst/LightningGPUSimulator.hpp +178 -0
  86. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/catalyst/tests/CMakeLists.txt +39 -0
  87. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/catalyst/tests/Test_LightningGPUGradient.cpp +298 -0
  88. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/catalyst/tests/Test_LightningGPUMeasures.cpp +1948 -0
  89. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/catalyst/tests/Test_LightningGPUSimulator.cpp +811 -0
  90. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/catalyst/tests/runner_lightning_gpu_catalyst.cpp +2 -0
  91. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/CMakeLists.txt +14 -0
  92. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/cuGateCache.cpp +19 -0
  93. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/cuGateCache.hpp +297 -0
  94. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/tests/CMakeLists.txt +70 -0
  95. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/tests/Test_StateVectorCudaManaged_Generators.cpp +2001 -0
  96. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/tests/Test_StateVectorCudaManaged_NonParam.cpp +1509 -0
  97. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/tests/Test_StateVectorCudaManaged_Param.cpp +2243 -0
  98. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/tests/mpi/Test_StateVectorCudaMPI_Generators.cpp +336 -0
  99. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/tests/mpi/Test_StateVectorCudaMPI_NonParam.cpp +403 -0
  100. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/tests/mpi/Test_StateVectorCudaMPI_Param.cpp +397 -0
  101. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/tests/mpi/mpi_runner_lightning_gpu_gates.cpp +10 -0
  102. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/gates/tests/runner_lightning_gpu_gates.cpp +2 -0
  103. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/initSV.cu +158 -0
  104. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/CMakeLists.txt +22 -0
  105. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/MeasurementsGPU.hpp +855 -0
  106. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/MeasurementsGPUMPI.hpp +798 -0
  107. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/CMakeLists.txt +69 -0
  108. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/Test_StateVectorCudaManaged_Expval.cpp +390 -0
  109. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/Test_StateVectorCudaManaged_Measure.cpp +277 -0
  110. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/Test_StateVectorCudaManaged_Var.cpp +159 -0
  111. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/mpi/Test_StateVectorCudaMPI_Expval.cpp +485 -0
  112. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/mpi/Test_StateVectorCudaMPI_Measure.cpp +459 -0
  113. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/mpi/Test_StateVectorCudaMPI_Var.cpp +252 -0
  114. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/mpi/runner_lightning_gpu_measurements_mpi.cpp +10 -0
  115. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/measurements/tests/runner_lightning_gpu_measurements.cpp +2 -0
  116. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/observables/CMakeLists.txt +31 -0
  117. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/observables/ObservablesGPU.cpp +33 -0
  118. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/observables/ObservablesGPU.hpp +296 -0
  119. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/observables/ObservablesGPUMPI.cpp +33 -0
  120. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/observables/ObservablesGPUMPI.hpp +314 -0
  121. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/observables/tests/CMakeLists.txt +60 -0
  122. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/observables/tests/Test_ObservablesGPU.cpp +305 -0
  123. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/observables/tests/mpi/Test_ObservablesGPUMPI.cpp +353 -0
  124. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/observables/tests/mpi/runner_lightning_gpu_observables_mpi.cpp +10 -0
  125. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/observables/tests/runner_lightning_gpu_observables.cpp +2 -0
  126. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/tests/CMakeLists.txt +65 -0
  127. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/tests/Test_StateVectorCudaManaged.cpp +303 -0
  128. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/tests/mpi/Test_StateVectorCudaMPI.cpp +321 -0
  129. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/tests/mpi/runner_lightning_gpu_mpi.cpp +10 -0
  130. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/tests/runner_lightning_gpu.cpp +2 -0
  131. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/CMakeLists.txt +13 -0
  132. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/CSRMatrix.hpp +214 -0
  133. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/MPILinearAlg.hpp +119 -0
  134. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/MPIManagerGPU.hpp +170 -0
  135. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/MPI_helpers.hpp +165 -0
  136. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/TestHelpersStateVectors.hpp +42 -0
  137. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/TestHelpersStateVectorsMPI.hpp +42 -0
  138. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/cuStateVecError.hpp +97 -0
  139. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/cuStateVec_helpers.hpp +166 -0
  140. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/tests/CMakeLists.txt +68 -0
  141. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/tests/Test_LinearAlgebra.cpp +120 -0
  142. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/tests/mpi/Test_CSRMatrix.cpp +157 -0
  143. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/tests/mpi/Test_LinearAlgebraMPI.cpp +129 -0
  144. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/tests/mpi/Test_MPIManagerGPU.cpp +418 -0
  145. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/tests/mpi/runner_lightning_gpu_utils_mpi.cpp +10 -0
  146. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_gpu/utils/tests/runner_lightning_gpu_utils.cpp +2 -0
  147. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/CMakeLists.txt +98 -0
  148. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/StateVectorKokkos.cpp +23 -0
  149. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/StateVectorKokkos.hpp +941 -0
  150. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/StateVectorKokkosMPI.cpp +23 -0
  151. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/StateVectorKokkosMPI.hpp +1490 -0
  152. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/algorithms/AdjointJacobianKokkos.hpp +184 -0
  153. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/algorithms/AdjointJacobianKokkosMPI.hpp +190 -0
  154. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/algorithms/AlgorithmsKokkos.cpp +33 -0
  155. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/algorithms/AlgorithmsKokkosMPI.cpp +32 -0
  156. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/algorithms/CMakeLists.txt +25 -0
  157. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/algorithms/tests/CMakeLists.txt +66 -0
  158. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/algorithms/tests/Test_AdjointJacobianKokkos.cpp +187 -0
  159. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/algorithms/tests/mpi/Test_AdjointJacobianKokkosMPI.cpp +119 -0
  160. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/algorithms/tests/mpi/runner_lightning_kokkos_algorithms_mpi.cpp +10 -0
  161. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/algorithms/tests/runner_lightning_kokkos_algorithms.cpp +2 -0
  162. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/bindings/CMakeLists.txt +16 -0
  163. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/bindings/LKokkosBindings.hpp +494 -0
  164. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/bindings/LKokkosBindingsMPI.hpp +353 -0
  165. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/catalyst/CMakeLists.txt +52 -0
  166. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/catalyst/LightningKokkosObsManager.hpp +208 -0
  167. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/catalyst/LightningKokkosSimulator.cpp +572 -0
  168. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/catalyst/LightningKokkosSimulator.hpp +180 -0
  169. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/catalyst/tests/CMakeLists.txt +39 -0
  170. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/catalyst/tests/Test_LightningKokkosGradient.cpp +298 -0
  171. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/catalyst/tests/Test_LightningKokkosMeasures.cpp +1948 -0
  172. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/catalyst/tests/Test_LightningKokkosSimulator.cpp +791 -0
  173. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/catalyst/tests/runner_lightning_kokkos_catalyst.cpp +2 -0
  174. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/BasicGateFunctors.hpp +2173 -0
  175. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/BasicGeneratorFunctors.hpp +1133 -0
  176. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/CMakeLists.txt +14 -0
  177. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/GateFunctors.hpp +18 -0
  178. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/MatrixGateFunctors.hpp +778 -0
  179. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/README.md +149 -0
  180. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/CMakeLists.txt +72 -0
  181. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/Test_StateVectorKokkos_Generator.cpp +797 -0
  182. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/Test_StateVectorKokkos_NonParam.cpp +1689 -0
  183. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/Test_StateVectorKokkos_Param.cpp +2797 -0
  184. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/mpi/Test_StateVectorKokkosMPI_Generator.cpp +243 -0
  185. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/mpi/Test_StateVectorKokkosMPI_NonParam.cpp +716 -0
  186. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/mpi/Test_StateVectorKokkosMPI_Param.cpp +425 -0
  187. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/mpi/runner_lightning_kokkos_gates_mpi.cpp +10 -0
  188. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/gates/tests/runner_lightning_kokkos_gates.cpp +2 -0
  189. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/CMakeLists.txt +21 -0
  190. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/ExpValFunctors.hpp +717 -0
  191. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/MeasurementsKokkos.hpp +779 -0
  192. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/MeasurementsKokkosMPI.hpp +672 -0
  193. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/MeasuresFunctors.hpp +726 -0
  194. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/CMakeLists.txt +73 -0
  195. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/Test_StateVectorKokkos_Expval.cpp +598 -0
  196. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/Test_StateVectorKokkos_Measure.cpp +826 -0
  197. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/Test_StateVectorKokkos_Var.cpp +162 -0
  198. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/mpi/Test_StateVectorKokkosMPI_Measure.cpp +850 -0
  199. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/mpi/runner_lightning_kokkos_measurements_mpi.cpp +10 -0
  200. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/measurements/tests/runner_lightning_kokkos_measurements.cpp +2 -0
  201. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/observables/CMakeLists.txt +29 -0
  202. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/observables/ObservablesKokkos.cpp +33 -0
  203. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/observables/ObservablesKokkos.hpp +303 -0
  204. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/observables/ObservablesKokkosMPI.cpp +30 -0
  205. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/observables/ObservablesKokkosMPI.hpp +208 -0
  206. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/observables/tests/CMakeLists.txt +63 -0
  207. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/observables/tests/Test_ObservablesKokkos.cpp +229 -0
  208. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/observables/tests/mpi/Test_ObservablesKokkosMPI.cpp +218 -0
  209. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/observables/tests/mpi/runner_lightning_kokkos_observables_mpi.cpp +10 -0
  210. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/observables/tests/runner_lightning_kokkos_observables.cpp +2 -0
  211. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/tests/CMakeLists.txt +63 -0
  212. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/tests/Test_StateVectorLKokkos.cpp +612 -0
  213. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/tests/mpi/Test_StateVectorKokkosMPI.cpp +1184 -0
  214. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/tests/mpi/runner_lightning_kokkos_mpi.cpp +10 -0
  215. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/tests/runner_lightning_kokkos.cpp +2 -0
  216. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/utils/CMakeLists.txt +15 -0
  217. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/utils/LinearAlgebraKokkos.hpp +229 -0
  218. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/utils/MPIManagerKokkos.hpp +157 -0
  219. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/utils/TestHelpersStateVectors.hpp +136 -0
  220. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/utils/UtilKokkos.hpp +238 -0
  221. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/utils/tests/CMakeLists.txt +63 -0
  222. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/utils/tests/Test_LinearAlgebra.cpp +119 -0
  223. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/utils/tests/mpi/Test_MPIManagerKokkos.cpp +181 -0
  224. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/utils/tests/mpi/runner_lightning_kokkos_utils_mpi.cpp +13 -0
  225. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_kokkos/utils/tests/runner_lightning_kokkos_utils.cpp +2 -0
  226. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/CMakeLists.txt +106 -0
  227. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/StateVectorLQubit.hpp +1035 -0
  228. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/StateVectorLQubitManaged.cpp +23 -0
  229. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/StateVectorLQubitManaged.hpp +189 -0
  230. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/StateVectorLQubitRaw.cpp +23 -0
  231. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/StateVectorLQubitRaw.hpp +141 -0
  232. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/algorithms/AdjointJacobianLQubit.hpp +355 -0
  233. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/algorithms/AlgorithmsLQubit.cpp +51 -0
  234. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/algorithms/CMakeLists.txt +22 -0
  235. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/algorithms/VectorJacobianProduct.hpp +165 -0
  236. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/algorithms/tests/CMakeLists.txt +40 -0
  237. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/algorithms/tests/Test_AdjointJacobianLQubit.cpp +102 -0
  238. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/algorithms/tests/Test_VectorJacobianProduct.cpp +399 -0
  239. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/algorithms/tests/runner_lightning_qubit_algorithms.cpp +2 -0
  240. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/bindings/CMakeLists.txt +17 -0
  241. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/bindings/LQubitBindings.hpp +534 -0
  242. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/catalyst/CMakeLists.txt +27 -0
  243. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/catalyst/LightningObsManager.hpp +207 -0
  244. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/catalyst/LightningSimulator.cpp +568 -0
  245. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/catalyst/LightningSimulator.hpp +179 -0
  246. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/catalyst/tests/CMakeLists.txt +40 -0
  247. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/catalyst/tests/Test_LightningDriver.cpp +173 -0
  248. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/catalyst/tests/Test_LightningGradient.cpp +356 -0
  249. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/catalyst/tests/Test_LightningMeasures.cpp +1957 -0
  250. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/catalyst/tests/Test_LightningSimulator.cpp +704 -0
  251. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/catalyst/tests/runner_lightning_qubit_catalyst.cpp +2 -0
  252. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/AssignKernelMap_AVX2.cpp +97 -0
  253. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/AssignKernelMap_AVX2.hpp +28 -0
  254. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/AssignKernelMap_AVX512.cpp +98 -0
  255. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/AssignKernelMap_AVX512.hpp +28 -0
  256. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/AssignKernelMap_Default.cpp +420 -0
  257. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/AssignKernelMap_Default.hpp +25 -0
  258. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/CMakeLists.txt +73 -0
  259. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/DynamicDispatcher.hpp +1054 -0
  260. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/GateIndices.cpp +83 -0
  261. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/GateIndices.hpp +100 -0
  262. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/KernelMap.hpp +448 -0
  263. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/KernelMap_Default.cpp +56 -0
  264. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/KernelMap_X64.cpp +107 -0
  265. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/KernelType.hpp +29 -0
  266. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/OpToMemberFuncPtr.hpp +1310 -0
  267. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/RegisterKernel.hpp +591 -0
  268. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/RegisterKernels_AVX2.cpp +29 -0
  269. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/RegisterKernels_AVX512.cpp +29 -0
  270. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/RegisterKernels_Default.cpp +32 -0
  271. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/RegisterKernels_x64.cpp +50 -0
  272. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/RegisterKernels_x64.hpp +24 -0
  273. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/GateImplementationsAVX2.hpp +95 -0
  274. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/GateImplementationsAVX512.hpp +108 -0
  275. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/GateImplementationsAVXCommon.hpp +637 -0
  276. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/GateImplementationsLM.cpp +667 -0
  277. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/GateImplementationsLM.hpp +2929 -0
  278. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/GatePragmas.hpp +36 -0
  279. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/PauliGenerator.hpp +61 -0
  280. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/AVX2Concept.hpp +179 -0
  281. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/AVX512Concept.hpp +185 -0
  282. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/AVXConceptType.hpp +55 -0
  283. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/AVXGateKernels.hpp +46 -0
  284. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/AVXUtil.hpp +339 -0
  285. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyCNOT.hpp +195 -0
  286. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyCRX.hpp +332 -0
  287. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyCRY.hpp +333 -0
  288. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyCRZ.hpp +323 -0
  289. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyCY.hpp +302 -0
  290. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyCZ.hpp +107 -0
  291. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyControlledPhaseShift.hpp +238 -0
  292. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyGeneratorIsingXX.hpp +129 -0
  293. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyGeneratorIsingYY.hpp +140 -0
  294. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyGeneratorIsingZZ.hpp +129 -0
  295. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyGeneratorPhaseShift.hpp +83 -0
  296. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyHadamard.hpp +90 -0
  297. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyIsingXX.hpp +175 -0
  298. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyIsingXY.hpp +277 -0
  299. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyIsingYY.hpp +195 -0
  300. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyIsingZZ.hpp +164 -0
  301. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyPauliX.hpp +72 -0
  302. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyPauliY.hpp +85 -0
  303. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyPauliZ.hpp +68 -0
  304. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyPhaseShift.hpp +141 -0
  305. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyRX.hpp +96 -0
  306. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyRY.hpp +96 -0
  307. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyRZ.hpp +101 -0
  308. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyS.hpp +113 -0
  309. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplySWAP.hpp +170 -0
  310. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplySingleQubitOp.hpp +171 -0
  311. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/ApplyT.hpp +136 -0
  312. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/Blender.hpp +105 -0
  313. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/Permutation.hpp +390 -0
  314. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/README.md +12 -0
  315. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/SingleQubitGateHelper.hpp +241 -0
  316. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/cpu_kernels/avx_common/TwoQubitGateHelper.hpp +578 -0
  317. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/CMakeLists.txt +66 -0
  318. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/README.md +10 -0
  319. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/TestConstant.hpp +117 -0
  320. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_AVXSingleQubitGateHelpers.cpp +363 -0
  321. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_AVXTwoQubitGateHelpers.cpp +917 -0
  322. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_DynamicDispatcher.cpp +235 -0
  323. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_CompareKernels.cpp +461 -0
  324. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Generator.cpp +308 -0
  325. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Inverse.cpp +92 -0
  326. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Matrix.cpp +1125 -0
  327. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Nonparam.cpp +945 -0
  328. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Param.cpp +3137 -0
  329. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateImplementations_Sparse_Matrix.cpp +409 -0
  330. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_GateIndices.cpp +100 -0
  331. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_Internal.cpp +153 -0
  332. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_KernelMap.cpp +241 -0
  333. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/Test_OpToMemberFuncPtr.cpp +309 -0
  334. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/compile_time_tests.cpp +21 -0
  335. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/gates/tests/runner_lightning_qubit_gates.cpp +2 -0
  336. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/measurements/CMakeLists.txt +20 -0
  337. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/measurements/ExpValFunc.hpp +324 -0
  338. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/measurements/MeasurementKernels.hpp +489 -0
  339. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/measurements/MeasurementsLQubit.hpp +769 -0
  340. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/measurements/TransitionKernels.cpp +33 -0
  341. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/measurements/TransitionKernels.hpp +163 -0
  342. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/measurements/tests/CMakeLists.txt +41 -0
  343. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/measurements/tests/Test_MeasurementsLQubit.cpp +982 -0
  344. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/measurements/tests/Test_MeasurementsLQubitSparse.cpp +101 -0
  345. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/measurements/tests/runner_lightning_qubit_measurements.cpp +2 -0
  346. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/observables/CMakeLists.txt +25 -0
  347. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/observables/ObservablesLQubit.cpp +49 -0
  348. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/observables/ObservablesLQubit.hpp +438 -0
  349. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/observables/tests/CMakeLists.txt +37 -0
  350. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/observables/tests/Test_ObservablesLQubit.cpp +237 -0
  351. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/observables/tests/runner_lightning_qubit_observables.cpp +2 -0
  352. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/tests/CMakeLists.txt +39 -0
  353. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/tests/Test_StateVectorLQubit.cpp +375 -0
  354. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/tests/Test_StateVectorLQubitManaged.cpp +167 -0
  355. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/tests/runner_lightning_qubit.cpp +2 -0
  356. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/utils/CMakeLists.txt +15 -0
  357. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/utils/IntegerInterval.hpp +115 -0
  358. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/utils/LinearAlgebra.hpp +866 -0
  359. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/utils/SparseLinAlg.hpp +59 -0
  360. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/utils/TestHelpersStateVectors.hpp +49 -0
  361. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/utils/Threading.hpp +75 -0
  362. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/utils/tests/CMakeLists.txt +38 -0
  363. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/utils/tests/Test_LinearAlgebra.cpp +856 -0
  364. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/utils/tests/Test_SparseLinAlg.cpp +86 -0
  365. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_qubit/utils/tests/runner_lightning_qubit_utils.cpp +2 -0
  366. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/CMakeLists.txt +23 -0
  367. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tensor/CMakeLists.txt +20 -0
  368. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tensor/base/CMakeLists.txt +10 -0
  369. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tensor/base/TensorBase.hpp +98 -0
  370. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tensor/tncuda/CMakeLists.txt +14 -0
  371. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tensor/tncuda/TensorCuda.hpp +111 -0
  372. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tensor/tncuda/tests/CMakeLists.txt +38 -0
  373. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tensor/tncuda/tests/Tests_TensorCuda.cpp +70 -0
  374. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tensor/tncuda/tests/runner_lightning_tensor_TensorCuda.cpp +2 -0
  375. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/CMakeLists.txt +77 -0
  376. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/ExactTNCuda.cpp +19 -0
  377. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/ExactTNCuda.hpp +70 -0
  378. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/MPOTNCuda.cpp +20 -0
  379. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/MPOTNCuda.hpp +215 -0
  380. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/MPSTNCuda.cpp +19 -0
  381. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/MPSTNCuda.hpp +215 -0
  382. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/TNCuda.hpp +825 -0
  383. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/base/CMakeLists.txt +17 -0
  384. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/base/TNCudaBase.hpp +168 -0
  385. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/base/tests/CMakeLists.txt +38 -0
  386. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/base/tests/Tests_TNCudaBase.cpp +52 -0
  387. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/base/tests/runner_lightning_tensor_TNCudaBase.cpp +2 -0
  388. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/bindings/CMakeLists.txt +18 -0
  389. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/bindings/LTensorTNCudaBindings.hpp +290 -0
  390. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/gates/CMakeLists.txt +15 -0
  391. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/gates/TNCudaGateCache.hpp +195 -0
  392. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/gates/tests/CMakeLists.txt +38 -0
  393. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/gates/tests/Test_TNCuda_MPO.cpp +231 -0
  394. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/gates/tests/Test_TNCuda_NonParam.cpp +727 -0
  395. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/gates/tests/Test_TNCuda_Param.cpp +1449 -0
  396. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/gates/tests/runner_lightning_tensor_gates.cpp +2 -0
  397. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/CMakeLists.txt +26 -0
  398. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/MeasurementsTNCuda.hpp +429 -0
  399. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/cuda_kernels_measures.cu +161 -0
  400. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/tests/CMakeLists.txt +41 -0
  401. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/tests/Test_TNCuda_Expval.cpp +440 -0
  402. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/tests/Test_TNCuda_Measure.cpp +163 -0
  403. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/tests/Test_TNCuda_Var.cpp +354 -0
  404. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/measurements/tests/runner_lightning_tensor_measurements.cpp +2 -0
  405. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/CMakeLists.txt +27 -0
  406. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/ObservablesTNCuda.cpp +49 -0
  407. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/ObservablesTNCuda.hpp +568 -0
  408. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/ObservablesTNCudaOperator.cpp +24 -0
  409. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/ObservablesTNCudaOperator.hpp +550 -0
  410. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/tests/CMakeLists.txt +38 -0
  411. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/tests/Test_Observables_TNCuda.cpp +469 -0
  412. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/tests/Test_Observables_TNCudaOperators.cpp +65 -0
  413. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/observables/tests/runner_lightning_tensor_observables.cpp +2 -0
  414. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/tests/CMakeLists.txt +35 -0
  415. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/tests/Tests_MPSTNCuda.cpp +476 -0
  416. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/tests/runner_lightning_tensor_MPSTNCuda.cpp +2 -0
  417. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/utils/CMakeLists.txt +23 -0
  418. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/utils/mps/CMakeLists.txt +9 -0
  419. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/utils/mps/TestHelpersMPSTNCuda.hpp +40 -0
  420. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/utils/tn/CMakeLists.txt +9 -0
  421. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/tncuda/utils/tn/TestHelpersTNCuda.hpp +72 -0
  422. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/utils/CMakeLists.txt +21 -0
  423. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/utils/tncuda_utils/CMakeLists.txt +13 -0
  424. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/utils/tncuda_utils/tests/CMakeLists.txt +33 -0
  425. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/utils/tncuda_utils/tests/Test_TNCuda_utils.cpp +76 -0
  426. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/utils/tncuda_utils/tests/runner_lightning_tensor_tncuda_utils.cpp +2 -0
  427. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/utils/tncuda_utils/tncudaError.hpp +58 -0
  428. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/simulators/lightning_tensor/utils/tncuda_utils/tncuda_helpers.hpp +126 -0
  429. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/BLASLibLoaderManager.hpp +92 -0
  430. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/BitUtil.hpp +125 -0
  431. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/CMakeLists.txt +34 -0
  432. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/CPUMemoryModel.hpp +126 -0
  433. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/ConstantTestHelpers.hpp +123 -0
  434. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/ConstantUtil.hpp +196 -0
  435. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/Error.hpp +140 -0
  436. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/MPIManager.hpp +813 -0
  437. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/Macros.hpp +247 -0
  438. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/Memory.hpp +220 -0
  439. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/RuntimeInfo.cpp +132 -0
  440. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/RuntimeInfo.hpp +78 -0
  441. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/SharedLibLoader.hpp +79 -0
  442. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/TestHelpers.hpp +646 -0
  443. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/TestHelpersSparse.hpp +343 -0
  444. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/TestHelpersWires.hpp +229 -0
  445. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/TestKernels.hpp +28 -0
  446. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/TypeList.hpp +100 -0
  447. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/TypeTraits.hpp +65 -0
  448. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/Util.hpp +653 -0
  449. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/UtilLinearAlg.cpp +31 -0
  450. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/UtilLinearAlg.hpp +113 -0
  451. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/CMakeLists.txt +13 -0
  452. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/DataBuffer.hpp +312 -0
  453. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/DevTag.hpp +79 -0
  454. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/DevicePool.hpp +157 -0
  455. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/LinearAlg.hpp +620 -0
  456. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/TSQueue.hpp +103 -0
  457. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/cuError.hpp +150 -0
  458. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/cuGates_host.hpp +1908 -0
  459. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/cuda_helpers.hpp +421 -0
  460. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/tests/CMakeLists.txt +37 -0
  461. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/tests/Test_LinearAlgebra.cpp +120 -0
  462. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/cuda_utils/tests/runner_cuda_utils.cpp +2 -0
  463. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/CMakeLists.txt +67 -0
  464. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/Test_BitUtil.cpp +78 -0
  465. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/Test_ConstantUtil.cpp +101 -0
  466. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/Test_Error.cpp +63 -0
  467. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/Test_RuntimeInfo.cpp +32 -0
  468. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/Test_TestHelpersSparse.cpp +155 -0
  469. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/Test_TypeTraits.cpp +70 -0
  470. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/Test_Util.cpp +331 -0
  471. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/Test_UtilLinearAlg.cpp +59 -0
  472. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/mpi/Test_MPIManager.cpp +315 -0
  473. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/mpi/runner_utils_mpi.cpp +10 -0
  474. pennylane_lightning_tensor-0.42.0/pennylane_lightning/core/utils/tests/runner_utils.cpp +2 -0
  475. pennylane_lightning_tensor-0.42.0/pennylane_lightning/lightning_gpu/lightning_gpu.toml +131 -0
  476. pennylane_lightning_tensor-0.42.0/pennylane_lightning/lightning_kokkos/lightning_kokkos.toml +131 -0
  477. pennylane_lightning_tensor-0.42.0/pennylane_lightning/lightning_qubit/lightning_qubit.toml +131 -0
  478. pennylane_lightning_tensor-0.42.0/pennylane_lightning/lightning_tensor/__init__.py +18 -0
  479. pennylane_lightning_tensor-0.42.0/pennylane_lightning/lightning_tensor/_measurements.py +426 -0
  480. pennylane_lightning_tensor-0.42.0/pennylane_lightning/lightning_tensor/_tensornet.py +787 -0
  481. pennylane_lightning_tensor-0.42.0/pennylane_lightning/lightning_tensor/lightning_tensor.py +615 -0
  482. pennylane_lightning_tensor-0.42.0/pennylane_lightning_tensor.egg-info/PKG-INFO +220 -0
  483. pennylane_lightning_tensor-0.42.0/pennylane_lightning_tensor.egg-info/SOURCES.txt +509 -0
  484. pennylane_lightning_tensor-0.42.0/pennylane_lightning_tensor.egg-info/dependency_links.txt +1 -0
  485. pennylane_lightning_tensor-0.42.0/pennylane_lightning_tensor.egg-info/entry_points.txt +2 -0
  486. pennylane_lightning_tensor-0.42.0/pennylane_lightning_tensor.egg-info/requires.txt +18 -0
  487. pennylane_lightning_tensor-0.42.0/pennylane_lightning_tensor.egg-info/top_level.txt +2 -0
  488. pennylane_lightning_tensor-0.42.0/pyproject.toml +50 -0
  489. pennylane_lightning_tensor-0.42.0/requirements.txt +20 -0
  490. pennylane_lightning_tensor-0.42.0/setup.cfg +4 -0
  491. pennylane_lightning_tensor-0.42.0/setup.py +194 -0
  492. pennylane_lightning_tensor-0.42.0/tests/test_adjoint_jacobian.py +1561 -0
  493. pennylane_lightning_tensor-0.42.0/tests/test_apply.py +899 -0
  494. pennylane_lightning_tensor-0.42.0/tests/test_arrays.py +36 -0
  495. pennylane_lightning_tensor-0.42.0/tests/test_binary_info.py +42 -0
  496. pennylane_lightning_tensor-0.42.0/tests/test_comparison.py +307 -0
  497. pennylane_lightning_tensor-0.42.0/tests/test_device.py +226 -0
  498. pennylane_lightning_tensor-0.42.0/tests/test_eval_jaxpr.py +849 -0
  499. pennylane_lightning_tensor-0.42.0/tests/test_execute.py +88 -0
  500. pennylane_lightning_tensor-0.42.0/tests/test_expval.py +325 -0
  501. pennylane_lightning_tensor-0.42.0/tests/test_gates.py +933 -0
  502. pennylane_lightning_tensor-0.42.0/tests/test_jaxpr_jvp.py +456 -0
  503. pennylane_lightning_tensor-0.42.0/tests/test_measurements.py +601 -0
  504. pennylane_lightning_tensor-0.42.0/tests/test_measurements_sparse.py +143 -0
  505. pennylane_lightning_tensor-0.42.0/tests/test_native_mcm.py +646 -0
  506. pennylane_lightning_tensor-0.42.0/tests/test_serialize.py +988 -0
  507. pennylane_lightning_tensor-0.42.0/tests/test_serialize_chunk_obs.py +57 -0
  508. pennylane_lightning_tensor-0.42.0/tests/test_serialize_no_binaries.py +30 -0
  509. pennylane_lightning_tensor-0.42.0/tests/test_templates.py +854 -0
  510. pennylane_lightning_tensor-0.42.0/tests/test_var.py +124 -0
  511. pennylane_lightning_tensor-0.42.0/tests/test_vjp.py +341 -0
@@ -0,0 +1,2755 @@
1
+ # Release 0.42.0
2
+
3
+ <h3>New features since last release</h3>
4
+
5
+ - Added distributed simulation using MPI to the `lightning.kokkos` device,
6
+ enabling larger quantum circuits by distributing workloads across multiple CPUs or GPUs.
7
+ [(#1114)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1114)
8
+
9
+ - Mid-circuit measurements using the tree-traversal algorithm are now supported
10
+ in the `lightning.qubit`, `lightning.kokkos` and `lightning.gpu` devices,
11
+ providing both significant memory savings and sampling efficiency!
12
+ [(#1166)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1166)
13
+
14
+ <h3>Improvements 🛠</h3>
15
+
16
+ - Lightning devices can now accept a `seed` argument to enable deterministic shots measurements.
17
+ [(#1171)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1171)
18
+
19
+ - PennyLane-Lightning is compatible with JAX version 0.5.3+.
20
+ [(#1152)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1152)
21
+ [(#1161)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1161)
22
+
23
+ - Refactored `MPIManager` class from `lightning.gpu` to base class.
24
+ [(#1162)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1162)
25
+
26
+ <h3>Breaking changes 💔</h3>
27
+
28
+ - The `LightningBaseStateVector`, `LightningBaseAdjointJacobian`, `LightningBaseMeasurements`,
29
+ `LightningInterpreter` and `QuantumScriptSerializer` base classes now can be found at `pennylane_lightning.lightning_base`.
30
+ The new `lightning_base` module further enables the relocation of core files from `pennylane_lightning/core/src/*` to `pennylane_lightning/core/*`.
31
+ The license classifier and `project.license` as a TOML table are deprecated in favor of a SPDX license expression and removed in `pyproject.toml`.
32
+ To speedup the recompilation of C++ source code, `ccache` is also added to `Makefile`.
33
+ [(#1098)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1098)
34
+
35
+ - Updated `pyproject` to adhere to PyPA binary distribution format for built wheels.
36
+ [(#1193)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1193)
37
+
38
+ <h3>Deprecations 👋</h3>
39
+
40
+ - Added and subsequently removed native support for `MultiControlledX` gates in `lightning.tensor`.
41
+ [(#1169)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1169)
42
+ [(#1183)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1183)
43
+
44
+ <h3>Documentation 📝</h3>
45
+
46
+ - Converted the `README` to markdown (as in the `pennylane` and `catalyst` repositories), and added a header image.
47
+ [(#1139)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1139)
48
+ [(#1141)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1141)
49
+ [(#1142)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1142)
50
+
51
+ - Edited and prepared `CHANGELOG.md` for the release `v0.42.0`.
52
+ [(#1199)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1199)
53
+ [(#1204)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1204)
54
+
55
+ - Fixed typo in `lightning.gpu` documentation adjoint-jacobian section.
56
+ [(#1179)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1179)
57
+
58
+ <h3>Bug fixes 🐛</h3>
59
+
60
+ - Fixed the implementation of multi-controlled gates with a single target wire for arbitrary control values in `lightning.tensor`.
61
+ [(#1169)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1169)
62
+
63
+ - Updated requirements to only download JAX version 0.5.3 for non-X86 MacOS.
64
+ [(#1163)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1163)
65
+
66
+ - Fixed Docker build for `lighting.kokkos` with ROCM library for AMD GPUs. Updated ROCM from 5.7 to 6.2.4.
67
+ [(#1158)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1158)
68
+
69
+ - Fixed use of Torch with `AmplitudeEmbedding` by applying `qml.broadcast_expand` before decomposition in the preprocessing stage.
70
+ [(#1175)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1175)
71
+
72
+ <h3>Internal changes ⚙️</h3>
73
+
74
+ - Updated tests with `device(..., shots=...)` to use `qml.set_shots` to ensure compatibility with the latest version of PennyLane.
75
+ [(#1173)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1173)
76
+
77
+ - Fixed `applyMultiRZ` for `lightning.kokkos` device to use Kokkos function instead of lambda.
78
+ [(#1194)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1194)
79
+
80
+ - Enabled `AmplitudeEmbedding` Python tests for `lightning.kokkos` and `lightning.gpu` devices.
81
+ [(#1192)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1192)
82
+
83
+ - Updated docker build CI for stable version to use v0.41.1.
84
+ [(#1188)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1188)
85
+
86
+ - Removed flaky tests and added random seeding to measurement tests.
87
+ [(#1172)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1172)
88
+ [(#1196)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1196)
89
+
90
+ - Improved CI to use local catalyst repository instead of fetching on Github CI.
91
+ [(#1164)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1164)
92
+
93
+ - Updated the Lightning build dependencies.
94
+ [(#1168)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1168)
95
+
96
+ - Updated dev requirements to use JAX version 0.6.0 for CI tests.
97
+ [(#1161)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1161)
98
+
99
+ - Updated stable requirements to use JAX version 0.4.28 for CI tests.
100
+ [(#1160)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1160)
101
+
102
+ - Bumped `readthedocs` Github action runner to use Ubuntu-24.04.
103
+ [(#1151)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1151)
104
+
105
+ - Updated the `clang-format` and `clang-tidy` versions to v20 for compatibility with Catalyst.
106
+ [(#1153)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1153)
107
+
108
+ - Removed `max_workers` argument for `default.qubit` device in Python tests to reduce CI testing time.
109
+ [(##1174)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1174)
110
+
111
+ - Bumped Github action runner to use `Ubuntu-24.04` or `Ubuntu-latest`.
112
+ Fixed all `ubuntu-latest` action runners to `ubuntu-24.04`.
113
+ [(#1167)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1167)
114
+
115
+ - Merged the `v0.41.0-rc` branch to the `master` and bumped the version.
116
+ [(#1132)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1132)
117
+
118
+ <h3>Contributors ✍️</h3>
119
+
120
+ This release contains contributions from (in alphabetical order):
121
+
122
+ Runor Agbaire,
123
+ Ali Asadi,
124
+ Yushao Chen,
125
+ Christina Lee,
126
+ Joseph Lee,
127
+ Mehrdad Malekmohammadi,
128
+ Anton Naim Ibrahim,
129
+ Luis Alfredo Nuñez Meneses,
130
+ Mudit Pandey,
131
+ Shuli Shu,
132
+ Marc Vandelle,
133
+ Jake Zaia
134
+
135
+ ---
136
+
137
+ # Release 0.41.1
138
+
139
+ <h3>Breaking changes 💔</h3>
140
+
141
+ - Build Catalyst Lightning plugins against Catalyst Runtime v0.11.0.
142
+ [(#1148)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1148)
143
+
144
+ <h3>Documentation 📝</h3>
145
+
146
+ - `pennylane.ai` search is enabled, so users are redirected to the PennyLane search page from the PennyLane-Lightning docs.
147
+ [(#1135)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1135)
148
+
149
+ - Fix doxygen doc builds for `AVXCommon::FuncReturn`.
150
+ [(#1134)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1134)
151
+
152
+ - Move the installation sections from `README.rst` to dedicated pages.
153
+ [(#1131)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1131)
154
+
155
+ <h3>Internal changes ⚙️</h3>
156
+
157
+ - Updates for depending deprecations to `Observable`, `is_trainable`, and `AnyWires` in pennylane.
158
+ [(#1138)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1138)
159
+ [(#1146)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1146)
160
+
161
+ - Improve performance of computing expectation values of Pauli Sentences for `lightning.kokkos`.
162
+ [(#1126)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1126)
163
+
164
+ - Import custom PennyLane errors from `pennylane.exceptions` rather than top-level.
165
+ [(#1122)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1122)
166
+
167
+ - Added flags to all Codecov reports and a default carryforward flag for all flags.
168
+ [(1144)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1144)
169
+
170
+ - All Catalyst plugins have been updated to be compatible with the next version of Catalyst (v0.12) with changes to the `QuantumDevice` interface.
171
+ [(#1143)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1143)
172
+ [(#1147)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1147)
173
+
174
+ <h3>Contributors ✍️</h3>
175
+
176
+ This release contains contributions from (in alphabetical order):
177
+
178
+ Ali Asadi,
179
+ Amintor Dusko,
180
+ Andrew Gardhouse,
181
+ David Ittah,
182
+ Joseph Lee,
183
+ Anton Naim Ibrahim,
184
+ Luis Alfredo Nuñez Meneses,
185
+ Andrija Paurevic,
186
+
187
+ ---
188
+
189
+ # Release 0.41.0
190
+
191
+ ### New features since last release
192
+
193
+ * Add native support for `qml.PCPhase` for `lightning.qubit` and `lightning.gpu`.
194
+ [(#1107)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1107)
195
+
196
+ * Integrate sparse kernels into the Lightning-Qubit dynamic dispatcher, enhance the Python layers, and expand the testing process for dense and sparse operations.
197
+ [(#1094)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1094)
198
+
199
+ * Add `PSWAP` gate native implementation to PennyLane-Lightning devices.
200
+ [(#1088)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1088)
201
+
202
+ * Implement new C++ kernels for efficient in-place multiplication of sparse matrices to state vectors, supporting both controlled and non-controlled gates, and add comprehensive tests for this new functionality.
203
+ [(#1085)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1085)
204
+
205
+ * Add support for sparse `qml.QubitUnitary` gates for Lightning state-vector simulators.
206
+ [(#1068)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1068)
207
+
208
+ * Lightning devices support dynamically allocated wires (e.g. `qml.device("lightning.qubit")`).
209
+ [(#1043)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1043)
210
+
211
+ * Add support for Python 3.13 Lightning wheel builds.
212
+ [(#1001)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1001)
213
+
214
+ * Add native `SX` and `C(SX)` gates to all lightning devices.
215
+ [(#731)](https://github.com/PennyLaneAI/pennylane-lightning/pull/731)
216
+
217
+ ### Breaking changes
218
+
219
+ * Update the minimum required version of PennyLane to `v0.40.0`.
220
+ [(#1033)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1033)
221
+
222
+ ### Improvements
223
+
224
+ * Install Pytorch 2.5.1 CPU in CIs and update `make python` command.
225
+ [[#1118]](https://github.com/PennyLaneAI/pennylane-lightning/pull/1118)
226
+
227
+ * Update TF, Keras and Torch versions in the CIs based on PennyLane's pinned versions.
228
+ [(#1112)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1112)
229
+
230
+ * Build Lightning-GPU and Lightning-Tensor wheels against Python 3.10 and 3.13 on non-release PRs.
231
+ [(#1112)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1112)
232
+
233
+ * Use cuQuantum API for calculating expectation value of Pauli sentences in Lightning-GPU.
234
+ [(#1104)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1104)
235
+
236
+ * Update CIs to use `requirements-tests.txt` instead of `requirements-dev.txt`.
237
+ [(#1105)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1105)
238
+
239
+ * Hide internal C++ APIs in Lightning docs.
240
+ [(#1096)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1096)
241
+
242
+ * Implement the `jaxpr_jvp` method to compute the jvp of a jaxpr using `lightning.qubit`.
243
+ This method currently only support the adjoint differentiation method.
244
+ [(#1087)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1087)
245
+ [(#1106)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1106)
246
+
247
+ * Modify `expval` of named operators in Lightning-Qubit for in-place computation of expectation value, to avoid creating an intermediate statevector
248
+ [(#1079)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/1079)
249
+ [(#565)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/565)
250
+
251
+ * Device (`"lightning.qubit"`, `"lightning.gpu"`, `"lightning.kokkos"`) pre-processing is now included in the execution pipeline when program capture is enabled.
252
+ [(#1084)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1084)
253
+
254
+ * Add semgrep/bandit security scanning for pull requests.
255
+ [(#1100)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1100)
256
+
257
+ * Hide anonymous namespaces in Lightning docs.
258
+ [(#1097)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1097)
259
+
260
+ * Expand test structure to efficiently handle sparse data.
261
+ [(#1085)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1085)
262
+
263
+ * Remove redundant `reset_state` calls for circuit execution when state vector is freshly initialized.
264
+ [(#1076)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1076)
265
+
266
+ * Introduce a generalized sparse gate selection system via the `_observable_is_sparse` method in the base measurement class, enabling future expansion for any number of sparse observables.
267
+ [(#1068)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1068)
268
+
269
+ * Optimize the copy of a input state-vector into Lightning-GPU.
270
+ [(#1071)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1071)
271
+
272
+ * Add new GitHub workflow to enable benchmarking within pull request.
273
+ [(#1073)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1073)
274
+
275
+ * Fix wheel naming in Docker builds for `setuptools v75.8.1` compatibility.
276
+ [(#1075)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1075)
277
+
278
+ * Use native C++ kernels for controlled-adjoint and adjoint-controlled of supported operations.
279
+ [(#1063)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1063)
280
+
281
+ * In Lightning-Tensor, allow `qml.MPSPrep` to accept an MPS with `len(MPS) = n_wires-1`.
282
+ [(#1064)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1064)
283
+
284
+ * Capture execution via `dev.eval_jaxpr` can now be used with `jax.jit` and `jax.vmap`.
285
+ [(#1055)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1055)
286
+
287
+ * Add an `execution_config` keyword argument to `LightningBase.eval_jaxpr` to accommodate a Device API change.
288
+ [(#1067)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1067)
289
+
290
+ * Remove the old device API references in the Lightning repo and test suite.
291
+ [(#1057)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1057)
292
+
293
+ * Update GPU workflow to use the new self-hosted GPU runner infrastructure.
294
+ [(#1061)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1061)
295
+
296
+ * Optimize MPO operation in `lightning.tensor`.
297
+ [(#1054)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1054)
298
+
299
+ * Update `qml.ControlledQubitUnitary` tests following the latest updates in PennyLane.
300
+ [(#1047)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1047)
301
+
302
+ * Remove unnecessary adjoint pytest skip for Lightning-Kokkos.
303
+ [(#1048)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1048)
304
+
305
+ * Add `isort` to the precommit hook.
306
+ [(#1052)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1052)
307
+
308
+ * Update source code to use `black` formatter 25.1.0.
309
+ [(#1059)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1059)
310
+
311
+ * Replace the type checking using the property `return_type` of `MeasurementProcess` with direct `isinstance` checks.
312
+ [(#1044)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1044)
313
+
314
+ * Update Lightning integration tests following the `gradient_kwargs` deprecation in Pennylane.
315
+ [(#1045)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1045)
316
+
317
+ * Update `qml.MultiControlledX` tests following the latest updates in PennyLane.
318
+ [(#1040)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1040)
319
+
320
+ * Merge the `v0.40.0-rc` branch to the master and bump version.
321
+ [(#1038)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1038)
322
+
323
+ * Reduce the number of shots in the PennyLane Python tests on CIs, from 20k to 10k.
324
+ [(#1046)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1046)
325
+
326
+ * Program transformed by `qml.defer_measurements` can be executed on `lightning.qubit`. Supports `ctrl` and `adjoint` with program capture in `lightning.qubit`.
327
+ [(#1069)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1069)
328
+
329
+ ### Documentation
330
+
331
+ * Modify `CHANGELOG.md` to prepare it for release v0.41.0
332
+ [(#1117)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1117)
333
+
334
+ * Update install instructions for `lightning.gpu`.
335
+ [(#1037)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1037)
336
+
337
+ ### Bug fixes
338
+
339
+ * Fix the issue with decomposing controlled `qml.SProd` and `qml.Exp` operations.
340
+ [(#1120)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1120)
341
+
342
+ * Fix the validation for all wires present after adding the extra wires from apply `mid_circuit_measurements`.
343
+ [(#1119)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1119)
344
+
345
+ * Fix the issue with pip installing PennyLane (and Lightning-Qubit) on Windows.
346
+ [(#1116)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1116)
347
+
348
+ * Fix the stable/stable issue with missing `pytest-split`.
349
+ [(#1112)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1112)
350
+
351
+ * Add missing GH workflow step id, python setup, and virtual environment for aarch64 cuda.
352
+ [(#1113)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1113)
353
+
354
+ * Fix the development wheel upload step for Python 3.13 by following the same syntax as for the other Python wheels.
355
+ [(#1111)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1111)
356
+
357
+ * Add a workflow to run `label-external-pull-request` to label pull requests from external forks.
358
+ [(#1110)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1110)
359
+
360
+ * Fix the `test_preprocess` test skip condition for `lightning.tensor`.
361
+ [(#1092)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1092)
362
+
363
+ * Fix measurements with empty wires and operators for statevectors with dynamically allocated wires.
364
+ [(#1081)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1081)
365
+
366
+ * Fix unit tests that were being skipped in `testApplyControlledPhaseShift`.
367
+ [(#1083)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1083)
368
+
369
+ * Fix Github CI for aarch64 cuda to clean up after runs.
370
+ [(#1074)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1074)
371
+
372
+ * Increase maximum time for aarch64-CUDA Github CI action.
373
+ [(#1072)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1072)
374
+
375
+ * Fix `SyntaxWarning` from `is` with a literal in Python tests.
376
+ [(#1070)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1070)
377
+
378
+ * Fix CI to collect Python code coverage for Lightning-Qubit and Lightning-Kokkos CPU.
379
+ [(#1053)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1053)
380
+
381
+ * Upgrade the version of QEMU image to fix AARCH64 wheel action.
382
+ [(#1056)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1056)
383
+
384
+ * Patch `MultiControlledX` tests to fix stable/latest failures after the v0.40.0 release.
385
+ [(#1046)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1046)
386
+
387
+ * Update Github CI to use Ubuntu 24 and remove `libopenblas-base` package.
388
+ [(#1041)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1041)
389
+
390
+ * Update the `eval_jaxpr` method to handle the new signatures for the `cond`, `while`, and `for` primitives.
391
+ [(#1051)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1051)
392
+
393
+ ### Contributors
394
+
395
+ This release contains contributions from (in alphabetical order):
396
+
397
+ Runor Agbaire,
398
+ Catalina Albornoz,
399
+ Ali Asadi,
400
+ Saeed Bohloul,
401
+ Astral Cai,
402
+ Yushao Chen,
403
+ Amintor Dusko,
404
+ Pietropaolo Frisoni,
405
+ Christina Lee,
406
+ Joseph Lee,
407
+ Rashid N H M,
408
+ Luis Alfredo Nuñez Meneses,
409
+ Lee J. O'Riordan,
410
+ Mudit Pandey,
411
+ Andrija Paurevic,
412
+ Alex Preciado,
413
+ Shuli Shu,
414
+ Jake Zaia
415
+
416
+ ---
417
+
418
+ # Release 0.40.0
419
+
420
+ ### New features since last release
421
+
422
+ * Add Exact Tensor Network (TN) C++ backend to Lightning-Tensor.
423
+ [(#977)](https://github.com/PennyLaneAI/pennylane-lightning/pull/977)
424
+
425
+ * Add native N-controlled generators and adjoint support to `lightning.gpu`'s single-GPU backend.
426
+ [(#970)](https://github.com/PennyLaneAI/pennylane-lightning/pull/970)
427
+
428
+ * Add a Catalyst-specific wrapping class for Lightning-Qubit.
429
+ [(#960)](https://github.com/PennyLaneAI/pennylane-lightning/pull/960)
430
+ [(#999)](https://github.com/PennyLaneAI/pennylane-lightning/pull/999)
431
+
432
+ * Add native N-controlled gate/matrix operations and adjoint support to `lightning.kokkos`.
433
+ [(#950)](https://github.com/PennyLaneAI/pennylane-lightning/pull/950)
434
+
435
+ * Add native N-controlled gates support to `lightning.gpu`'s single-GPU backend.
436
+ [(#938)](https://github.com/PennyLaneAI/pennylane-lightning/pull/938)
437
+
438
+ ### Breaking changes
439
+
440
+ * Remove all instances of the legacy operator arithmetic (the `Hamiltonian` and `Tensor` deprecated classes in PennyLane).
441
+ [(#994)](https://github.com/PennyLaneAI/pennylane-lightning/pull/994)
442
+ [(#997)](https://github.com/PennyLaneAI/pennylane-lightning/pull/997)
443
+
444
+ * Remove all instances of `qml.QubitStateVector` as deprecated in PennyLane.
445
+ [(#985)](https://github.com/PennyLaneAI/pennylane-lightning/pull/985)
446
+
447
+ ### Improvements
448
+
449
+ * Add CI wheels checks for `aarch64` wheels of Lightning-GPU and Lightning-Tensor.
450
+ [(#1031)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1031)
451
+
452
+ * Replace the `dummy_tensor_update` method with the `cutensornetStateCaptureMPS` API to ensure that applying gates is allowed after the `cutensornetStateCompute` call.
453
+ [(#1028)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1028)
454
+
455
+ * Add unit tests for measurement with shots for Lightning-Tensor (`method="tn"`).
456
+ [(#1027)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1027)
457
+
458
+ * Add CUDA dependencies to Lightning-GPU and Lightning-Tensor Python wheels.
459
+ [(#1025)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1025)
460
+
461
+ * Update the python layer UI of Lightning-Tensor.
462
+ [(#1022)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1022)
463
+
464
+ * Catalyst device interfaces support dynamic shots, and no longer parses the device init op's attribute dictionary for a static shots literal.
465
+ [(#1017)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1017)
466
+
467
+ * Update the logic for enabling `grad_on_execution` during device execution.
468
+ [(#1016)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1016)
469
+
470
+ * Reduce flaky test and increase test shots count.
471
+ [(#1015)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1015)
472
+
473
+ * Add Python bindings for Lightning-Tensor (Exact Tensor Network).
474
+ [(#1014)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1014)
475
+
476
+ * Reverse Lightning-Qubit generators vector insertion order.
477
+ [(#1009)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1009)
478
+
479
+ * Update Kokkos version support to 4.5.
480
+ [(#1007)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1007)
481
+
482
+ * Enable N-controlled gate and matrix support to `lightning.gpu` simulator for Catalyst.
483
+ [(#1005)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1005)
484
+
485
+ * Generalize seeding mechanism for all measurements.
486
+ [(#1003)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1003)
487
+
488
+ * `lightning.qubit`, `lightning.gpu`, and `lightning.kokkos` now define
489
+ the `eval_jaxpr` method for integration with the experimental
490
+ capture project.
491
+ [(#1002)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1002)
492
+
493
+ * Update Kokkos version support to 4.4.1 and enable Lightning-Kokkos[CUDA] C++ tests on CI.
494
+ [(#1000)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1000)
495
+
496
+ * Add C++ unit tests for Lightning-Tensor (Exact Tensor Network).
497
+ [(#998)](https://github.com/PennyLaneAI/pennylane-lightning/pull/998)
498
+
499
+ * Add native BLAS support to the C++ layer via dynamic `scipy-openblas32` loading.
500
+ [(#995)](https://github.com/PennyLaneAI/pennylane-lightning/pull/995)
501
+
502
+ * Update installation instruction for Lightning-GPU-MPI to explicitly ask users to add `path/to/libmpi.so` to the `LD_LIBRARY_PATH`. Update the runtime error message to ensure users know how to fix.
503
+ [(#993)](https://github.com/PennyLaneAI/pennylane-lightning/pull/993)
504
+
505
+ * Update the Lightning TOML files for the devices to use the new schema for declaring device capabilities.
506
+ [(#988)](https://github.com/PennyLaneAI/pennylane-lightning/pull/988)
507
+
508
+ * Optimize lightning.tensor by adding direct MPS sites data set with `qml.MPSPrep`.
509
+ [(#983)](https://github.com/PennyLaneAI/pennylane-lightning/pull/983)
510
+
511
+ * Unify excitation gates memory layout to row-major for both Lightning-GPU and Lightning-Tensor.
512
+ [(#959)](https://github.com/PennyLaneAI/pennylane-lightning/pull/959)
513
+
514
+ * Update the Lightning-Kokkos CUDA backend for compatibility with Catalyst.
515
+ [(#942)](https://github.com/PennyLaneAI/pennylane-lightning/pull/942)
516
+
517
+ ### Documentation
518
+
519
+ * Update and improve `README.rst` and documentations.
520
+ [(#1035)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1035)
521
+
522
+ * Add the exact tensor network to the `README.rst` and update link to `HIP`.
523
+ [(#1034)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1034)
524
+
525
+ * Add the exact tensor network to the Lightning-Tensor docs.
526
+ [(#1021)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1021)
527
+
528
+ * Update Lightning-Tensor installation docs and usage suggestions.
529
+ [(#979)](https://github.com/PennyLaneAI/pennylane-lightning/pull/979)
530
+
531
+ ### Bug fixes
532
+
533
+ * Fix Python CUDA dependencies by adding path to `nvidia/nvjitlink/lib` to RPATH.
534
+ [(#1031)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1031)
535
+
536
+ * Add `RTLD_NODELETE` flag to `dlopen` in order to mitigate the segfault issues for arm64-macos Catalyst support.
537
+ [(#1030)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1030)
538
+
539
+ * Set RPATH with `@loader_path` instead of `$ORIGIN` for macOS.
540
+ [(#1029)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1029)
541
+
542
+ * Update CUDA version to 12.4 for GPU tests on CI.
543
+ [(#1023)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1023)
544
+
545
+ * Pin `jax[cpu]==0.4.28` for compatibility with PennyLane and Catalyst.
546
+ [(#1019)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1019)
547
+
548
+ * Fix Lightning-Kokkos `[[maybe_unused]]` and `exp2` errors with hipcc.
549
+ [(#1018)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1018)
550
+
551
+ * Fix Lightning-Kokkos editable mode path.
552
+ [(#1010)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1010)
553
+
554
+ * Fix the missing `ninja` in Linux AARCH64 wheels recipe.
555
+ [(#1007)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1007)
556
+
557
+ * Fix version switch condition the GPU workflow tests for LGPU and LKokkos.
558
+ [(#1006)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1006)
559
+
560
+ * Fix issue with `lightning.gpu` Rot operation with adjoint.
561
+ [(#1004)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1004)
562
+
563
+ * Fix the Lightning-Kokkos[CUDA] C++ API `cudaFree` segfaults in `applyMatrix`.
564
+ [(#1000)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1000)
565
+
566
+ * Fix issue with adjoint-jacobian of adjoint ops.
567
+ [(#996)](https://github.com/PennyLaneAI/pennylane-lightning/pull/996)
568
+
569
+ * Fix the `upload-pypi` token issues for Linux and MacOS (x86_64 & AARCH64) wheels.
570
+ [(#989)](https://github.com/PennyLaneAI/pennylane-lightning/pull/989)
571
+
572
+ * Fix Pennylane dependency branch (`v0.39_rc0` to `master`).
573
+ [(#984)](https://github.com/PennyLaneAI/pennylane-lightning/pull/984)
574
+
575
+ * Fix PTM stable latest. Removing FIXME patch for v0.39.
576
+ [(#982)](https://github.com/PennyLaneAI/pennylane-lightning/pull/982)
577
+
578
+ ### Contributors
579
+
580
+ This release contains contributions from (in alphabetical order):
581
+
582
+ Ali Asadi,
583
+ Astral Cai,
584
+ Amintor Dusko,
585
+ Christina Lee,
586
+ Joseph Lee,
587
+ Anton Naim Ibrahim,
588
+ Luis Alfredo Nuñez Meneses,
589
+ Mudit Pandey,
590
+ Andrija Paurevic,
591
+ Shuli Shu,
592
+ Raul Torres,
593
+ Haochen Paul Wang
594
+
595
+ ---
596
+
597
+ # Release 0.39.0
598
+
599
+ ### New features since last release
600
+
601
+ * Add support for out-of-order `qml.probs` in `lightning.gpu`.
602
+ [(#941)](https://github.com/PennyLaneAI/pennylane-lightning/pull/941)
603
+
604
+ * Add mid-circuit measurements support to `lightning.gpu`'s single-GPU backend.
605
+ [(#931)](https://github.com/PennyLaneAI/pennylane-lightning/pull/931)
606
+
607
+ * Integrate Lightning-GPU with Catalyst so that hybrid programs can be seamlessly QJIT-compiled and executed on this device following `pip install pennylane-lightning-gpu`.
608
+ [(#928)](https://github.com/PennyLaneAI/pennylane-lightning/pull/928)
609
+
610
+ * Add `qml.Projector` observable support via diagonalization to Lightning-GPU.
611
+ [(#894)](https://github.com/PennyLaneAI/pennylane-lightning/pull/894)
612
+
613
+ * Add 1-target wire controlled gate support to `lightning.tensor`. Note that `cutensornet` only supports 1-target wire controlled gate as of `v24.08`. A controlled gate with more than 1 target wire should be converted to dense matrix.
614
+ [(#880)](https://github.com/PennyLaneAI/pennylane-lightning/pull/880)
615
+
616
+ * Build and upload Lightning-Tensor wheels (x86_64, AARCH64) to PyPI.
617
+ [(#862)](https://github.com/PennyLaneAI/pennylane-lightning/pull/862)
618
+ [(#905)](https://github.com/PennyLaneAI/pennylane-lightning/pull/905)
619
+
620
+ * Add Matrix Product Operator (MPO) for all gates support to `lightning.tensor`. Note current C++ implementation only works for MPO sites data provided by users.
621
+ [(#859)](https://github.com/PennyLaneAI/pennylane-lightning/pull/859)
622
+
623
+ * Add shots measurement support to `lightning.tensor`.
624
+ [(#852)](https://github.com/PennyLaneAI/pennylane-lightning/pull/852)
625
+
626
+ * Lightning-GPU and Lightning-Kokkos migrated to the new device API.
627
+ [(#853)](https://github.com/PennyLaneAI/pennylane-lightning/pull/853)
628
+ [(#810)](https://github.com/PennyLaneAI/pennylane-lightning/pull/810)
629
+
630
+ ### Breaking changes
631
+
632
+ * Update MacOS wheel build to 13.0 for X86_64 and ARM due to the deprecation of MacOS-12 CI runners.
633
+ [(#969)](https://github.com/PennyLaneAI/pennylane-lightning/pull/969)
634
+
635
+ * Deprecate `initSV()` and add `resetStateVector()` from the C++ API Lightning-GPU. This is to remove the `reset_state` additional call in the Python layer.
636
+ [(#933)](https://github.com/PennyLaneAI/pennylane-lightning/pull/933)
637
+
638
+ * Deprecate PI gates implementation in Lightning-Qubit. The PI gates were the first implementation of gate kernels in `lightning.qubit` using pre-computed indices, prior to the development of LM (less memory) and AVX kernels. This deprecation is in favour of reducing compilation time and ensuring that Lightning-Qubit only relies on LM kernels in the dynamic dispatcher across all platforms.
639
+ [(#925)](https://github.com/PennyLaneAI/pennylane-lightning/pull/925)
640
+
641
+ * Remove PowerPC wheel build recipe for Lightning-Qubit.
642
+ [(#902)](https://github.com/PennyLaneAI/pennylane-lightning/pull/902)
643
+
644
+ * Update MacOS wheel builds to require Monterey (12.0) or greater for x86_64 and ARM. This was required to update Pybind11 to the latest release (2.13.5) for enabling Numpy 2.0 support in Lightning.
645
+ [(#901)](https://github.com/PennyLaneAI/pennylane-lightning/pull/901)
646
+
647
+ * Remove support for Python 3.9 for all Lightning simulators.
648
+ [(#891)](https://github.com/PennyLaneAI/pennylane-lightning/pull/891)
649
+
650
+ ### Improvements
651
+
652
+ * Update the `lightning.tensor` Python layer unit tests, as `lightning.tensor` cannot be cleaned up like other state-vector devices because the data is attached to the graph. It is recommended to use one device per circuit for `lightning.tensor`.
653
+ [(#971)](https://github.com/PennyLaneAI/pennylane-lightning/pull/971)
654
+
655
+ * Add joint check for the N-controlled wires support in `lightning.qubit`.
656
+ [(#949)](https://github.com/PennyLaneAI/pennylane-lightning/pull/949)
657
+
658
+ * Optimize `GlobalPhase` and `C(GlobalPhase)` gate implementation in `lightning.gpu`.
659
+ [(#946)](https://github.com/PennyLaneAI/pennylane-lightning/pull/946)
660
+
661
+ * Add missing `liblightning_kokkos_catalyst.so` when building Lightning-Kokkos in editable installation.
662
+ [(#945)](https://github.com/PennyLaneAI/pennylane-lightning/pull/945)
663
+
664
+ * Optimize the cartesian product to reduce the amount of memory necessary to set the `StatePrep` in Lightning-Tensor.
665
+ [(#943)](https://github.com/PennyLaneAI/pennylane-lightning/pull/943)
666
+
667
+ * Update the `qml.probs` data-return in Lightning-GPU C++ API to align with other state-vector devices.
668
+ [(#941)](https://github.com/PennyLaneAI/pennylane-lightning/pull/941)
669
+
670
+ * Add zero-state initialization to both `StateVectorCudaManaged` and `StateVectorCudaMPI` constructors to remove the `reset_state` in the Python layer ctor and refactor `setBasisState(state, wires)` in the C++ API.
671
+ [(#933)](https://github.com/PennyLaneAI/pennylane-lightning/pull/933)
672
+
673
+ * Add `setStateVector(state, wire)` support to the Lightning-GPU C++ API.
674
+ [(#930)](https://github.com/PennyLaneAI/pennylane-lightning/pull/930)
675
+
676
+ * The `generate_samples` methods of `lightning.qubit` and `lightning.kokkos` can now take in a seed number to make the generated samples deterministic. This can be useful when, among other things, fixing flaky tests in CI.
677
+ [(#927)](https://github.com/PennyLaneAI/pennylane-lightning/pull/927)
678
+
679
+ * Remove dynamic decomposition rules for all Lightning devices.
680
+ [(#926)](https://github.com/PennyLaneAI/pennylane-lightning/pull/926)
681
+
682
+ * Always decompose `qml.QFT` in all Lightning devices.
683
+ [(#924)](https://github.com/PennyLaneAI/pennylane-lightning/pull/924)
684
+
685
+ * Uniform Python format to adhere PennyLane style.
686
+ [(#924)](https://github.com/PennyLaneAI/pennylane-lightning/pull/924)
687
+
688
+ * Add the `ci:use-gpu-runner` GitHub label to `lightning.kokkos` GPU Testing CIs.
689
+ [(#916)](https://github.com/PennyLaneAI/pennylane-lightning/pull/916)
690
+
691
+ * Update the test suite to remove deprecated code.
692
+ [(#912)](https://github.com/PennyLaneAI/pennylane-lightning/pull/912)
693
+
694
+ * Merge `lightning.gpu` and `lightning.tensor` GPU tests in single Python and C++ CIs controlled by the `ci:use-gpu-runner` label.
695
+ [(#911)](https://github.com/PennyLaneAI/pennylane-lightning/pull/911)
696
+
697
+ * Skip the compilation of Lightning simulators and development requirements to boost the build of public docs up to 5x.
698
+ [(#904)](https://github.com/PennyLaneAI/pennylane-lightning/pull/904)
699
+
700
+ * Build Lightning wheels in `Release` mode to reduce the binary sizes.
701
+ [(#903)](https://github.com/PennyLaneAI/pennylane-lightning/pull/903)
702
+
703
+ * Update Pybind11 to 2.13.5.
704
+ [(#901)](https://github.com/PennyLaneAI/pennylane-lightning/pull/901)
705
+
706
+ * Migrate wheels artifacts to v4.
707
+ [(#893)](https://github.com/PennyLaneAI/pennylane-lightning/pull/893)
708
+
709
+ * Update GitHub actions in response to a high-severity vulnerability.
710
+ [(#887)](https://github.com/PennyLaneAI/pennylane-lightning/pull/887)
711
+
712
+ * Optimize and simplify controlled kernels in Lightning-Qubit.
713
+ [(#882)](https://github.com/PennyLaneAI/pennylane-lightning/pull/882)
714
+
715
+ * Optimize gate cache recording for Lightning-Tensor C++ API.
716
+ [(#879)](https://github.com/PennyLaneAI/pennylane-lightning/pull/879)
717
+
718
+ * Unify Lightning-Kokkos and Lightning-Qubit devices under a Lightning-Base abstracted class.
719
+ [(#876)](https://github.com/PennyLaneAI/pennylane-lightning/pull/876)
720
+
721
+ * Smarter defaults for the `split_obs` argument in the serializer. The serializer splits linear combinations into chunks instead of all their terms.
722
+ [(#873)](https://github.com/PennyLaneAI/pennylane-lightning/pull/873/)
723
+
724
+ * Prefer `tomlkit` over `toml` for building Lightning wheels, and choose `tomli` and `tomllib` over `toml` when installing the package.
725
+ [(#857)](https://github.com/PennyLaneAI/pennylane-lightning/pull/857)
726
+
727
+ * Lightning-Kokkos gains native support for the `PauliRot` gate.
728
+ [(#855)](https://github.com/PennyLaneAI/pennylane-lightning/pull/855)
729
+
730
+ ### Documentation
731
+
732
+ * Update Lightning-Tensor installation docs and usage suggestions.
733
+ [(#971)](https://github.com/PennyLaneAI/pennylane-lightning/pull/971)
734
+ [(#972)](https://github.com/PennyLaneAI/pennylane-lightning/pull/971)
735
+
736
+ * Update `README.rst` installation instructions for `lightning.gpu` and `lightning.tensor`.
737
+ [(#957)](https://github.com/PennyLaneAI/pennylane-lightning/pull/957)
738
+
739
+ * Update `lightning.tensor` documentation to include all the new features added since pull request #756. The new features are: 1. Finite-shot measurements; 2. Expval-base quantities; 3. Support for `qml.state()` and `qml.stateprep()`; 4. Support for all gates support via Matrix Product Operator (MPO).
740
+ [(#909)](https://github.com/PennyLaneAI/pennylane-lightning/pull/909)
741
+
742
+ ### Bug fixes
743
+
744
+ * Fix Lightning Kokkos test_device for `kokkos_args` fail for MacOS due to `np.complex256`
745
+ [(#974)](https://github.com/PennyLaneAI/pennylane-lightning/pull/974)
746
+
747
+ * Fix PTM stable-latest related to `default.qubit.legacy` and the `latest` flag usage.
748
+ [(#961)](https://github.com/PennyLaneAI/pennylane-lightning/pull/961)
749
+ [(#966)](https://github.com/PennyLaneAI/pennylane-lightning/pull/966)
750
+
751
+ * Fix build failure for Lightning-Kokkos editable installation on MacOS due to `liblightning_kokkos_catalyst.so` copy and `liblightning_kokkos_catalyst.so` not copied to correct build path for editable installation.
752
+ [(#947)](https://github.com/PennyLaneAI/pennylane-lightning/pull/947)
753
+ [(#968)](https://github.com/PennyLaneAI/pennylane-lightning/pull/968)
754
+
755
+ * Add concept restriction to ensure `ConstMult` inline function only hit with arithmetic-values times complex values. Fixes build failures with the test suite when enabling OpenMP, and disabling BLAS and Python under clang.
756
+ [(#936)](https://github.com/PennyLaneAI/pennylane-lightning/pull/936)
757
+
758
+ * Bug fix for `applyMatrix` in Lightning-Tensor. Matrix operator data is not stored in the `cuGateCache` object to support `TensorProd` obs with multiple `Hermitian` obs.
759
+ [(#932)](https://github.com/PennyLaneAI/pennylane-lightning/pull/932)
760
+
761
+ * Bug fix for `_pauli_word` of `QuantumScriptSerializer`. `_pauli_word` can process `PauliWord` object: `I`.
762
+ [(#919)](https://github.com/PennyLaneAI/pennylane-lightning/pull/919)
763
+
764
+ * Bug fix for analytic `qml.probs` in the Lightning-Tensor C++ API.
765
+ [(#906)](https://github.com/PennyLaneAI/pennylane-lightning/pull/906)
766
+
767
+ ### Contributors
768
+
769
+ This release contains contributions from (in alphabetical order):
770
+
771
+ Ali Asadi, Amintor Dusko, Diego Guala, Joseph Lee, Luis Alfredo Nuñez Meneses, Vincent Michaud-Rioux, Lee J. O'Riordan, Mudit Pandey, Shuli Shu, Haochen Paul Wang
772
+
773
+ ---
774
+
775
+ # Release 0.38.0
776
+
777
+ ### New features since last release
778
+
779
+ * Add `qml.StatePrep()` and `qml.QubitStateVector()` support to `lightning.tensor`.
780
+ [(#849)](https://github.com/PennyLaneAI/pennylane-lightning/pull/849)
781
+
782
+ * Add analytic `qml.probs()` measurement support to `lightning.tensor`.
783
+ [(#830)](https://github.com/PennyLaneAI/pennylane-lightning/pull/830)
784
+
785
+ * Add `qml.state()` measurement support to `lightning.tensor`.
786
+ [(#827)](https://github.com/PennyLaneAI/pennylane-lightning/pull/827)
787
+
788
+ * Add Lightning-GPU Linux (AArch64 + GraceHopper) wheels to PyPI.
789
+ [(#815)](https://github.com/PennyLaneAI/pennylane-lightning/pull/815)
790
+
791
+ * Add `var` support to `lightning.tensor`. Note that `var` support is added via `obs**2` and this implementation scales as `O(num_obs**2)`.
792
+ [(#804)](https://github.com/PennyLaneAI/pennylane-lightning/pull/804)
793
+
794
+ ### Breaking changes
795
+
796
+ * Update python packaging to follow PEP 517/518/621/660 standards.
797
+ [(#832)](https://github.com/PennyLaneAI/pennylane-lightning/pull/832)
798
+
799
+ * Add `getData()` in the `lightning.tensor` C++ backend. Users are responsible for ensuring sufficient host memory is allocated for the full state vector.
800
+ [(#827)](https://github.com/PennyLaneAI/pennylane-lightning/pull/827)
801
+
802
+ * Remove `NDpermuter.hpp` which is no longer required.
803
+ [(#795)](https://github.com/PennyLaneAI/pennylane-lightning/pull/795)
804
+
805
+ * Remove temporary steps from the CI, such as downgrading Scipy to <1.14 and installing Kokkos v4.2 for `lightning-version == 'stable'`.
806
+ [(#792)](https://github.com/PennyLaneAI/pennylane-lightning/pull/792)
807
+
808
+ * Do not run GPU tests and Docker workflows on release.
809
+ [(#788)](https://github.com/PennyLaneAI/pennylane-lightning/pull/788)
810
+
811
+ * Update python packaging to follow PEP 517/518/621/660 standards.
812
+ [(#832)](https://github.com/PennyLaneAI/pennylane-lightning/pull/832)
813
+
814
+ ### Improvements
815
+
816
+ * Updated calls of ``size_t`` to ``std::size_t`` everywhere.
817
+ [(#816)](https://github.com/PennyLaneAI/pennylane-lightning/pull/816)
818
+
819
+ * Update Lightning tests to support the generalization of basis state preparation.
820
+ [(#864)](https://github.com/PennyLaneAI/pennylane-lightning/pull/864)
821
+
822
+ * Add `SetState` and `SetBasisState` to `Lightning-KokkosSimulator`.
823
+ [(#861)](https://github.com/PennyLaneAI/pennylane-lightning/pull/861)
824
+
825
+ * Remove use of the deprecated `Operator.expand` in favour of `Operator.decomposition`.
826
+ [(#846)](https://github.com/PennyLaneAI/pennylane-lightning/pull/846)
827
+
828
+ * The `setBasisState` and `setStateVector` methods of `StateVectorLQubit` and `StateVectorKokkos` are overloaded to support PennyLane-like parameters.
829
+ [(#843)](https://github.com/PennyLaneAI/pennylane-lightning/pull/843)
830
+
831
+ * Move `setBasisState`, `setStateVector` and `resetStateVector` from `StateVectorLQubitManaged` to `StateVectorLQubit`.
832
+ [(#841)](https://github.com/PennyLaneAI/pennylane-lightning/pull/841)
833
+
834
+ * Update `generate_samples` in Lightning-Kokkos and Lightning-GPU to support `qml.measurements.Shots` type instances.
835
+ [(#839)](https://github.com/PennyLaneAI/pennylane-lightning/pull/839)
836
+
837
+ * Add a Catalyst-specific wrapping class for Lightning Kokkos.
838
+ [(#837)](https://github.com/PennyLaneAI/pennylane-lightning/pull/837)
839
+ [(#770)](https://github.com/PennyLaneAI/pennylane-lightning/pull/770)
840
+
841
+ * Lightning-Qubit natively supports the `PauliRot` gate.
842
+ [(#834)](https://github.com/PennyLaneAI/pennylane-lightning/pull/834)
843
+
844
+ * Multiple calls to the `append_mps_final_state()` API is allowed in `lightning.tensor`.
845
+ [(#830)](https://github.com/PennyLaneAI/pennylane-lightning/pull/830)
846
+
847
+ * Add `initial_state_prep` option to Catalyst TOML file.
848
+ [(#826)](https://github.com/PennyLaneAI/pennylane-lightning/pull/826)
849
+
850
+ * `ENABLE_LAPACK` is `OFF` by default for all Lightning backends.
851
+ [(#825)](https://github.com/PennyLaneAI/pennylane-lightning/pull/825)
852
+
853
+ * Update `ctrl_decomp_zyz` tests with `len(control_wires) > 1`.
854
+ [(#821)](https://github.com/PennyLaneAI/pennylane-lightning/pull/821)
855
+
856
+ * Update the Catalyst-specific wrapping class for Lightning Kokkos to track Catalyst's new support for MCM seeding.
857
+ [(#819)](https://github.com/PennyLaneAI/pennylane-lightning/pull/819)
858
+
859
+ * Replace ``size_t`` by ``std::size_t`` everywhere.
860
+ [(#816)](https://github.com/PennyLaneAI/pennylane-lightning/pull/816/)
861
+
862
+ * Shot batching is made more efficient by executing all the shots in one go on Lightning-Qubit.
863
+ [(#814)](https://github.com/PennyLaneAI/pennylane-lightning/pull/814)
864
+
865
+ * Lightning-Qubit calls `generate_samples(wires)` on a minimal subset of wires when executing in finite-shot mode.
866
+ [(#813)](https://github.com/PennyLaneAI/pennylane-lightning/pull/813)
867
+
868
+ * Update `LightingQubit.preprocess` to work with changes to preprocessing for mid-circuit measurements.
869
+ [(#812)](https://github.com/PennyLaneAI/pennylane-lightning/pull/812)
870
+
871
+ * Avoid unnecessary memory reset in Lightning-Qubit's state vector class constructor.
872
+ [(#811)](https://github.com/PennyLaneAI/pennylane-lightning/pull/811)
873
+
874
+ * Add `generate_samples(wires)` support in Lightning-Qubit, which samples faster for a subset of wires.
875
+ [(#809)](https://github.com/PennyLaneAI/pennylane-lightning/pull/809)
876
+
877
+ * Optimize the OpenMP parallelization of Lightning-Qubit's `probs` for all number of targets.
878
+ [(#807)](https://github.com/PennyLaneAI/pennylane-lightning/pull/807)
879
+
880
+ * Optimize `probs(wires)` of Lightning-Kokkos using various kernels. Which kernel is to be used depends on the device, number of qubits and number of target wires.
881
+ [(#802)](https://github.com/PennyLaneAI/pennylane-lightning/pull/802)
882
+
883
+ * Add GPU device compute capability check for Lightning-Tensor.
884
+ [(#803)](https://github.com/PennyLaneAI/pennylane-lightning/pull/803)
885
+
886
+ * Refactor CUDA utils Python bindings to a separate module.
887
+ [(#801)](https://github.com/PennyLaneAI/pennylane-lightning/pull/801)
888
+
889
+ * Parallelize Lightning-Qubit `probs` with OpenMP when using the `-DLQ_ENABLE_KERNEL_OMP=1` CMake argument.
890
+ [(#800)](https://github.com/PennyLaneAI/pennylane-lightning/pull/800)
891
+
892
+ * Implement `probs(wires)` using a bit-shift implementation akin to the gate kernels in Lightning-Qubit.
893
+ [(#795)](https://github.com/PennyLaneAI/pennylane-lightning/pull/795)
894
+
895
+ * Enable setting the PennyLane version when invoking, for example, `make docker-build version=master pl_version=master`.
896
+ [(#791)](https://github.com/PennyLaneAI/pennylane-lightning/pull/791)
897
+
898
+ ### Documentation
899
+
900
+ * The installation instructions for all lightning plugins have been improved.
901
+ [(#858)](https://github.com/PennyLaneAI/pennylane-lightning/pull/858)
902
+ [(#851)](https://github.com/PennyLaneAI/pennylane-lightning/pull/851)
903
+
904
+ * Updated the README and added citation format for Lightning arXiv preprint.
905
+ [(#818)](https://github.com/PennyLaneAI/pennylane-lightning/pull/818)
906
+
907
+ ### Bug fixes
908
+
909
+ * Point to the right Lightning root folder independently from the invocation location, when configuring the project.
910
+ [(#874)](https://github.com/PennyLaneAI/pennylane-lightning/pull/874)
911
+
912
+ * Update dependencies and `build` command options following changes in the build system.
913
+ [(#863)](https://github.com/PennyLaneAI/pennylane-lightning/pull/863)
914
+
915
+ * Replace structured bindings by variables in `GateImplementationsLM.hpp`.
916
+ [(#856)](https://github.com/PennyLaneAI/pennylane-lightning/pull/856)
917
+
918
+ * Remove wrong `-m` when calling `setup.py`.
919
+ [(#854)](https://github.com/PennyLaneAI/pennylane-lightning/pull/854)
920
+
921
+ * Fix plugin-test-matrix CI/CD workflows.
922
+ [(#850)](https://github.com/PennyLaneAI/pennylane-lightning/pull/850)
923
+
924
+ * Set the `immutable` parameter value as `false` for the `cutensornetStateApplyTensorOperator` to allow the following `cutensornetStateUpdateTensorOperator` call.
925
+ [(#845)](https://github.com/PennyLaneAI/pennylane-lightning/pull/845)
926
+
927
+ * Fix cuQuantum SDK path pass-though in CMake.
928
+ [(#831)](https://github.com/PennyLaneAI/pennylane-lightning/pull/831)
929
+
930
+ * Fix CUDA sync issues on AArch64 + GraceHopper.
931
+ [(#823)](https://github.com/PennyLaneAI/pennylane-lightning/pull/823)
932
+
933
+ * Check for the number of wires for Hermitian observables in Lightning-Tensor. Only 1-wire Hermitian observables are supported as of `cuTensorNet-v24.03.0`.
934
+ [(#806)](https://github.com/PennyLaneAI/pennylane-lightning/pull/806)
935
+
936
+ * Set `PL_BACKEND` for the entire `build-wheel-lightning-gpu` Docker-build stage to properly build the Lightning-GPU wheel.
937
+ [(#791)](https://github.com/PennyLaneAI/pennylane-lightning/pull/791)
938
+
939
+ * Fix conditions for skipping build & push steps in the Docker build workflows.
940
+ [(#790)](https://github.com/PennyLaneAI/pennylane-lightning/pull/790)
941
+
942
+ * Downgrade Scipy on Lightning stable version tests.
943
+ [(#783)](https://github.com/PennyLaneAI/pennylane-lightning/pull/783)
944
+
945
+ * Fix checkout command in test workflows for rc branches.
946
+ [(#777)](https://github.com/PennyLaneAI/pennylane-lightning/pull/777)
947
+
948
+ * Point to the right Lightning root folder independently from the invocation location, when configuring the project.
949
+ [(#874)](https://github.com/PennyLaneAI/pennylane-lightning/pull/874)
950
+
951
+ ### Contributors
952
+
953
+ This release contains contributions from (in alphabetical order):
954
+
955
+ Ali Asadi, Astral Cai, Ahmed Darwish, Amintor Dusko, Vincent Michaud-Rioux, Luis Alfredo Nuñez Meneses, Erick Ochoa Lopez, Lee J. O'Riordan, Mudit Pandey, Shuli Shu, Raul Torres, Paul Haochen Wang
956
+
957
+ ---
958
+
959
+ # Release 0.37.0
960
+
961
+ ### New features since last release
962
+
963
+ * Implement Python interface to the `lightning.tensor` device.
964
+ [(#748)](https://github.com/PennyLaneAI/pennylane-lightning/pull/748)
965
+
966
+ * Add `inverse` support for gate operations in `lightning.tensor` in the C++ layer.
967
+ [(#753)](https://github.com/PennyLaneAI/pennylane-lightning/pull/753)
968
+
969
+ * Add `observable` and `expval` support to the `cutensornet`-backed `lightning.tensor` C++ layer.
970
+ [(#728)](https://github.com/PennyLaneAI/pennylane-lightning/pull/728)
971
+
972
+ * Add gate support to `cutensornet`-backed `lightning.tensor` C++ layer.
973
+ [(#718)](https://github.com/PennyLaneAI/pennylane-lightning/pull/718)
974
+
975
+ * Add `cutensornet`-backed `MPS` C++ layer to `lightning.tensor`.
976
+ [(#704)](https://github.com/PennyLaneAI/pennylane-lightning/pull/704)
977
+
978
+ * Add support for `C(BlockEncode)` to Lightning devices.
979
+ [(#743)](https://github.com/PennyLaneAI/pennylane-lightning/pull/743)
980
+
981
+ ### Breaking changes
982
+
983
+ * Removed the `QuimbMPS` class and the corresponding backend from `lightning.tensor`.
984
+ [(#737)](https://github.com/PennyLaneAI/pennylane-lightning/pull/737)
985
+
986
+ * Changed the name of `default.tensor` to `lightning.tensor` with the `quimb` backend.
987
+ [(#730)](https://github.com/PennyLaneAI/pennylane-lightning/pull/730)
988
+
989
+ * `dynamic_one_shot` uses shot-vectors in the auxiliary tape to tell the device how many times to repeat the tape. Lightning-Qubit is updated accordingly.
990
+ [(#724)](https://github.com/PennyLaneAI/pennylane-lightning/pull/724)
991
+
992
+ * `dynamic_one_shot` deals with post-selection during the post-processing phase, so Lightning-Qubit does not return `None`-valued measurements for mismatching samples anymore.
993
+ [(#720)](https://github.com/PennyLaneAI/pennylane-lightning/pull/720)
994
+
995
+ ### Improvements
996
+
997
+ * Release candidate branches automatically use the new large GitHub runner pool.
998
+ [(#769)](https://github.com/PennyLaneAI/pennylane-lightning/pull/769)
999
+
1000
+ * Lightning-Kokkos dev wheels for MacOS (x86_64, ARM64) and Linux (AArch64) are uploaded to TestPyPI upon merging a pull request.
1001
+ [(#765)](https://github.com/PennyLaneAI/pennylane-lightning/pull/765)
1002
+
1003
+ * Lightning-Kokkos Linux (x86_64) dev wheels are pushed to [Test PyPI](https://test.pypi.org/project/PennyLane-Lightning-Kokkos/) upon merging a pull request.
1004
+ [(#763)](https://github.com/PennyLaneAI/pennylane-lightning/pull/763)
1005
+
1006
+ * Change the type of tensor network objects passed to `ObservablesTNCuda` and `MeasurementsTNCuda` classes from `StateTensorT` to `TensorNetT`.
1007
+ [(#759)](https://github.com/PennyLaneAI/pennylane-lightning/pull/759)
1008
+
1009
+ * Silence `NDPermuter` linting warnings.
1010
+ [(#750)](https://github.com/PennyLaneAI/pennylane-lightning/pull/750)
1011
+
1012
+ * Rationalize MCM tests, removing most end-to-end tests from the native MCM test file, but keeping one that validates multiple mid-circuit measurements with any allowed return.
1013
+ [(#754)](https://github.com/PennyLaneAI/pennylane-lightning/pull/754)
1014
+
1015
+ * Rename `lightning.tensor` C++ libraries.
1016
+ [(#755)](https://github.com/PennyLaneAI/pennylane-lightning/pull/755)
1017
+
1018
+ * Set `state_tensor` as `const` for the `MeasurementTNCuda` class.
1019
+ [(#753)](https://github.com/PennyLaneAI/pennylane-lightning/pull/753)
1020
+
1021
+ * Updated Kokkos version and support to 4.3.01.
1022
+ [(#725)](https://github.com/PennyLaneAI/pennylane-lightning/pull/725)
1023
+
1024
+ * Lightning-Kokkos' functors are rewritten as functions wrapping around generic gate and generator functors templated over a coefficient interaction function. This reduces boilerplate while clarifying how the various kernels differ from one another.
1025
+ [(#640)](https://github.com/PennyLaneAI/pennylane-lightning/pull/640)
1026
+
1027
+ * Update C++ and Python GitHub actions names to include the matrix info.
1028
+ [(#717)](https://github.com/PennyLaneAI/pennylane-lightning/pull/717)
1029
+
1030
+ * Remove `CPhase` in favour of `CPhaseShift` in Lightning devices.
1031
+ [(#717)](https://github.com/PennyLaneAI/pennylane-lightning/pull/717)
1032
+
1033
+ * The various OpenMP configurations of Lightning-Qubit are tested in parallel on different Github Actions runners.
1034
+ [(#712)](https://github.com/PennyLaneAI/pennylane-lightning/pull/712)
1035
+
1036
+ * Update Linux wheels to use `manylinux_2_28` images.
1037
+ [(#667)](https://github.com/PennyLaneAI/pennylane-lightning/pull/667)
1038
+
1039
+ * Add support for `qml.expval` and `qml.var` in the `lightning.tensor` device for the `quimb` interface and the MPS method.
1040
+ [(#686)](https://github.com/PennyLaneAI/pennylane-lightning/pull/686)
1041
+
1042
+ * Changed the name of `lightning.tensor` to `default.tensor` with the `quimb` backend.
1043
+ [(#719)](https://github.com/PennyLaneAI/pennylane-lightning/pull/719)
1044
+
1045
+ * `lightning.qubit` and `lightning.kokkos` adhere to user-specified mid-circuit measurement configuration options.
1046
+ [(#736)](https://github.com/PennyLaneAI/pennylane-lightning/pull/736)
1047
+
1048
+ * Patch the C++ `Measurements.probs(wires)` method in Lightning-Qubit and Lightning-Kokkos to `Measurements.probs()` when called with all wires.
1049
+ This will trigger a more optimized implementation for calculating the probabilities of the entire system.
1050
+ [(#744)](https://github.com/PennyLaneAI/pennylane-lightning/pull/744)
1051
+
1052
+ * Remove the daily schedule from the "Compat Check w/PL - release/release" GitHub action.
1053
+ [(#746)](https://github.com/PennyLaneAI/pennylane-lightning/pull/746)
1054
+
1055
+ * Remove the required `scipy` config file for Lightning-Qubit. The support is now maintained by passing `SCIPY_LIBS_PATH` to the compiler.
1056
+ [(#775)](https://github.com/PennyLaneAI/pennylane-lightning/pull/775)
1057
+
1058
+ ### Documentation
1059
+
1060
+ * Add installation instructions and documentation for `lightning.tensor`.
1061
+ [(#756)](https://github.com/PennyLaneAI/pennylane-lightning/pull/756)
1062
+
1063
+ ### Bug fixes
1064
+
1065
+ * Don't route `probs(wires=[])` to `probs(all_wires)` in Lightning-Kokkos.
1066
+ [(#762)](https://github.com/PennyLaneAI/pennylane-lightning/pull/762)
1067
+
1068
+ * `ControlledQubitUnitary` is present in the Python device but not the TOML files. It is added to the decomposition gates since it can be implemented in its alternate form of `C(QubitUnitary)`.
1069
+ [(#767)](https://github.com/PennyLaneAI/pennylane-lightning/pull/767)
1070
+
1071
+ * Update the Lightning TOML files to indicate that non-commuting observables are supported.
1072
+ [(#764)](https://github.com/PennyLaneAI/pennylane-lightning/pull/764)
1073
+
1074
+ * Fix regex matching issue with auto on-boarding of release candidate branch to using the large runner queue.
1075
+ [(#774)](https://github.com/PennyLaneAI/pennylane-lightning/pull/774)
1076
+
1077
+ * Fix random CI failures for `lightning.tensor` Python unit tests and ignore `lightning_tensor` paths.
1078
+ [(#761)](https://github.com/PennyLaneAI/pennylane-lightning/pull/761)
1079
+
1080
+ * `lightning.qubit` and `lightning.kokkos` use `qml.ops.Conditional.base` instead of `qml.ops.Conditional.then_op`.
1081
+ [(#752)](https://github.com/PennyLaneAI/pennylane-lightning/pull/752)
1082
+
1083
+ * The preprocessing step in `lightning.qubit` now uses interface information to properly support the hardware-like postselection for mid-circuit measurements.
1084
+ [(#760)](https://github.com/PennyLaneAI/pennylane-lightning/pull/760)
1085
+
1086
+ * Fix AVX streaming operation support with newer GCC.
1087
+ [(#729)](https://github.com/PennyLaneAI/pennylane-lightning/pull/729)
1088
+
1089
+ * Revert changes calling the templated `IMAG`, `ONE`, `ZERO` functions in Kokkos kernels since they are incompatible with device execution.
1090
+ [(#733)](https://github.com/PennyLaneAI/pennylane-lightning/pull/733)
1091
+
1092
+ * The `tests_lkcpu_python.yml` workflow properly checks out the release or stable version of Lightning-Qubit during the test job.
1093
+ [(#723)](https://github.com/PennyLaneAI/pennylane-lightning/pull/723)
1094
+
1095
+ * Fix PennyLane Lightning-Kokkos and Lightning-Qubit tests for stable/stable configuration.
1096
+ [(#734)](https://github.com/PennyLaneAI/pennylane-lightning/pull/734)
1097
+
1098
+ * Remove the Autoray dependency from requirement files.
1099
+ [(#736)](https://github.com/PennyLaneAI/pennylane-lightning/pull/736)
1100
+
1101
+ * Fix the `cuda-runtime-12-0` dependency issue on RHEL8.
1102
+ [(#739)](https://github.com/PennyLaneAI/pennylane-lightning/pull/739)
1103
+
1104
+ * Fix the memory segmentation fault when initializing zero-wire Lightning-Kokkos.
1105
+ [(#757)](https://github.com/PennyLaneAI/pennylane-lightning/pull/757)
1106
+
1107
+ * Remove `pennylane.ops.op_math.controlled_decompositions.ctrl_decomp_zyz` tests with `len(control_wires) > 1`.
1108
+ [(#757)](https://github.com/PennyLaneAI/pennylane-lightning/pull/757)
1109
+
1110
+ * Add support for Scipy v1.14.
1111
+ [(#776)](https://github.com/PennyLaneAI/pennylane-lightning/pull/776)
1112
+
1113
+ * Add pickle support for the `DevPool` object in `lightning.gpu`.
1114
+ [(#772)](https://github.com/PennyLaneAI/pennylane-lightning/pull/772)
1115
+
1116
+ ### Contributors
1117
+
1118
+ This release contains contributions from (in alphabetical order):
1119
+
1120
+ Ali Asadi, Amintor Dusko, Lillian Frederiksen, Pietropaolo Frisoni, David Ittah, Vincent Michaud-Rioux, Lee James O'Riordan, Mudit Pandey, Shuli Shu, Jay Soni
1121
+
1122
+ ---
1123
+
1124
+ # Release 0.36.0
1125
+
1126
+ ### New features since last release
1127
+
1128
+ * Add `cutensornet`-backed `MPS` C++ layer to `lightning.tensor`.
1129
+ [(#704)](https://github.com/PennyLaneAI/pennylane-lightning/pull/704)
1130
+
1131
+ * Add Python class for the `lightning.tensor` device which uses the new device API and the interface for `quimb` based on the MPS method.
1132
+ [(#671)](https://github.com/PennyLaneAI/pennylane-lightning/pull/671)
1133
+
1134
+ * Add compile-time support for AVX2/512 streaming operations in `lightning.qubit`.
1135
+ [(#664)](https://github.com/PennyLaneAI/pennylane-lightning/pull/664)
1136
+
1137
+ * `lightning.kokkos` supports mid-circuit measurements.
1138
+ [(#672)](https://github.com/PennyLaneAI/pennylane-lightning/pull/672)
1139
+
1140
+ * Add dynamic linking to LAPACK/OpenBlas shared objects in `scipy.libs` for both C++ and Python layer.
1141
+ [(#653)](https://github.com/PennyLaneAI/pennylane-lightning/pull/653)
1142
+
1143
+ * `lightning.qubit` supports mid-circuit measurements.
1144
+ [(#650)](https://github.com/PennyLaneAI/pennylane-lightning/pull/650)
1145
+
1146
+ * Add finite shots support in `lightning.qubit2`.
1147
+ [(#630)](https://github.com/PennyLaneAI/pennylane-lightning/pull/630)
1148
+
1149
+ * Add `collapse` and `normalize` methods to the `StateVectorLQubit` classes, enabling "branching" of the wavefunction. Add methods to create and seed an RNG in the `Measurements` modules.
1150
+ [(#645)](https://github.com/PennyLaneAI/pennylane-lightning/pull/645)
1151
+
1152
+ * Add two new Python classes (LightningStateVector and LightningMeasurements) to support `lightning.qubit2`.
1153
+ [(#613)](https://github.com/PennyLaneAI/pennylane-lightning/pull/613)
1154
+
1155
+ * Add analytic-mode `qml.probs` and `qml.var` support in `lightning.qubit2`.
1156
+ [(#627)](https://github.com/PennyLaneAI/pennylane-lightning/pull/627)
1157
+
1158
+ * Add `LightningAdjointJacobian` to support `lightning.qubit2`.
1159
+ [(#631)](https://github.com/PennyLaneAI/pennylane-lightning/pull/631)
1160
+
1161
+ * Add `lightning.qubit2` device which uses the new device API.
1162
+ [(#607)](https://github.com/PennyLaneAI/pennylane-lightning/pull/607)
1163
+ [(#628)](https://github.com/PennyLaneAI/pennylane-lightning/pull/628)
1164
+
1165
+ * Add Vector-Jacobian Product calculation support to `lightning.qubit`.
1166
+ [(#644)](https://github.com/PennyLaneAI/pennylane-lightning/pull/644)
1167
+
1168
+ * Add support for using new operator arithmetic as the default.
1169
+ [(#649)](https://github.com/PennyLaneAI/pennylane-lightning/pull/649)
1170
+
1171
+ ### Breaking changes
1172
+
1173
+ * Split Lightning-Qubit and Lightning-Kokkos CPU Python tests with `pytest-split`. Remove `SERIAL` from Kokkos' `exec_model` matrix. Remove `all` from Lightning-Kokkos' `pl_backend` matrix. Move `clang-tidy` checks to `tidy.yml`. Avoid editable `pip` installations.
1174
+ [(#696)](https://github.com/PennyLaneAI/pennylane-lightning/pull/696)
1175
+ * Update `lightning.gpu` and `lightning.kokkos` to raise an error instead of falling back to `default.qubit`.
1176
+ [(#689)](https://github.com/PennyLaneAI/pennylane-lightning/pull/689)
1177
+
1178
+ * Add `paths` directives to test workflows to avoid running tests that cannot be impacted by changes.
1179
+ [(#699)](https://github.com/PennyLaneAI/pennylane-lightning/pull/699)
1180
+ [(#695)](https://github.com/PennyLaneAI/pennylane-lightning/pull/695)
1181
+
1182
+ * Move common components of `/src/simulator/lightning_gpu/utils/` to `/src/utils/cuda_utils/`.
1183
+ [(#676)](https://github.com/PennyLaneAI/pennylane-lightning/pull/676)
1184
+
1185
+ * Deprecate static LAPACK linking support.
1186
+ [(#653)](https://github.com/PennyLaneAI/pennylane-lightning/pull/653)
1187
+
1188
+ * Migrate `lightning.qubit` to the new device API.
1189
+ [(#646)](https://github.com/PennyLaneAI/pennylane-lightning/pull/646)
1190
+
1191
+ * Introduce `ci:build_wheels` label, which controls wheel building on `pull_request` and other triggers.
1192
+ [(#648)](https://github.com/PennyLaneAI/pennylane-lightning/pull/648)
1193
+
1194
+ * Remove building wheels for Lightning Kokkos on Windows.
1195
+ [(#693)](https://github.com/PennyLaneAI/pennylane-lightning/pull/693)
1196
+
1197
+ ### Improvements
1198
+
1199
+ * Add tests for Windows Wheels, fix ill-defined caching, and set the proper backend for `lightning.kokkos` wheels.
1200
+ [(#693)](https://github.com/PennyLaneAI/pennylane-lightning/pull/693)
1201
+
1202
+ * Replace string comparisons by `isinstance` checks where possible.
1203
+ [(#691)](https://github.com/PennyLaneAI/pennylane-lightning/pull/691)
1204
+
1205
+ * Refactor `cuda_utils` to remove its dependency on `custatevec.h`.
1206
+ [(#681)](https://github.com/PennyLaneAI/pennylane-lightning/pull/681)
1207
+
1208
+ * Add `test_templates.py` module where Grover and QSVT are tested.
1209
+ [(#684)](https://github.com/PennyLaneAI/pennylane-lightning/pull/684)
1210
+
1211
+ * Create `cuda_utils` for common usage of CUDA related backends.
1212
+ [(#676)](https://github.com/PennyLaneAI/pennylane-lightning/pull/676)
1213
+
1214
+ * Refactor `lightning_gpu_utils` unit tests to remove the dependency on statevector class.
1215
+ [(#675)](https://github.com/PennyLaneAI/pennylane-lightning/pull/675)
1216
+
1217
+ * Upgrade GitHub actions versions from v3 to v4.
1218
+ [(#669)](https://github.com/PennyLaneAI/pennylane-lightning/pull/669)
1219
+
1220
+ * Initialize the private attributes `gates_indices_` and `generators_indices_` of `StateVectorKokkos` using the definitions of the `Pennylane::Gates::Constant` namespace.
1221
+ [(#641)](https://github.com/PennyLaneAI/pennylane-lightning/pull/641)
1222
+
1223
+ * Add `isort` to `requirements-dev.txt` and run before `black` upon `make format` to sort Python imports.
1224
+ [(#623)](https://github.com/PennyLaneAI/pennylane-lightning/pull/623)
1225
+
1226
+ * Improve support for new operator arithmetic with `QuantumScriptSerializer.serialize_observables`.
1227
+ [(#670)](https://github.com/PennyLaneAI/pennylane-lightning/pull/670)
1228
+
1229
+ * Add `workflow_dispatch` to wheels recipes; allowing developers to build wheels manually on a branch instead of temporarily changing the headers.
1230
+ [(#679)](https://github.com/PennyLaneAI/pennylane-lightning/pull/679)
1231
+
1232
+ * Add the `ENABLE_LAPACK` compilation flag to toggle dynamic linking to LAPACK library.
1233
+ [(#678)](https://github.com/PennyLaneAI/pennylane-lightning/pull/678)
1234
+
1235
+ ### Documentation
1236
+
1237
+ ### Bug fixes
1238
+
1239
+ * Fix wire order permutations when using `qml.probs` with out-of-order wires in Lightning-Qubit.
1240
+ [(#707)](https://github.com/PennyLaneAI/pennylane-lightning/pull/707)
1241
+
1242
+ * Lightning-Qubit once again respects the wire order specified on device instantiation.
1243
+ [(#705)](https://github.com/PennyLaneAI/pennylane-lightning/pull/705)
1244
+
1245
+ * `dynamic_one_shot` was refactored to use `SampleMP` measurements as a way to return the mid-circuit measurement samples. `LightningQubit's `simulate` is modified accordingly.
1246
+ [(#694)](https://github.com/PennyLaneAI/pennylane-lightning/pull/694)
1247
+
1248
+ * Lightning-Qubit correctly decomposes state prep operations when used in the middle of a circuit.
1249
+ [(#687)](https://github.com/PennyLaneAI/pennylane-lightning/pull/687)
1250
+
1251
+ * Lightning-Qubit correctly decomposes `qml.QFT` and `qml.GroverOperator` if `len(wires)` is greater than 9 and 12 respectively.
1252
+ [(#687)](https://github.com/PennyLaneAI/pennylane-lightning/pull/687)
1253
+
1254
+ * Specify `isort` `--py` (Python version) and `-l` (max line length) to stabilize `isort` across Python versions and environments.
1255
+ [(#647)](https://github.com/PennyLaneAI/pennylane-lightning/pull/647)
1256
+
1257
+ * Fix random `coverage xml` CI issues.
1258
+ [(#635)](https://github.com/PennyLaneAI/pennylane-lightning/pull/635)
1259
+
1260
+ * `lightning.qubit` correctly decomposed state preparation operations with adjoint differentiation.
1261
+ [(#661)](https://github.com/PennyLaneAI/pennylane-lightning/pull/661)
1262
+
1263
+ * Fix the failed observable serialization unit tests.
1264
+ [(#683)](https://github.com/PennyLaneAI/pennylane-lightning/pull/683)
1265
+
1266
+ * Update the Lightning-Qubit new device API to work with Catalyst.
1267
+ [(#665)](https://github.com/PennyLaneAI/pennylane-lightning/pull/665)
1268
+
1269
+ * Update the version of `codecov-action` to v4 and fix the CodeCov issue with the PL-Lightning check-compatibility actions.
1270
+ [(#682)](https://github.com/PennyLaneAI/pennylane-lightning/pull/682)
1271
+
1272
+ * Refactor of dev prerelease auto-update-version workflow.
1273
+ [(#685)](https://github.com/PennyLaneAI/pennylane-lightning/pull/685)
1274
+
1275
+ * Remove gates unsupported by catalyst from TOML file.
1276
+ [(#698)](https://github.com/PennyLaneAI/pennylane-lightning/pull/698)
1277
+
1278
+ * Increase tolerance for a flaky test.
1279
+ [(#703)](https://github.com/PennyLaneAI/pennylane-lightning/pull/703)
1280
+
1281
+ * Remove `ControlledQubitUnitary` in favour of `C(QubitUnitary)` from the list of supported operations and the device TOML file. The `stopping_condition` method guarantees the consistency of decompositions.
1282
+ [(#758)](https://github.com/PennyLaneAI/pennylane-lightning/pull/758)
1283
+
1284
+ * Raise a clear error message with initialization of `lightning.kokkos` with zero-qubit on Windows.
1285
+ [(#758)](https://github.com/PennyLaneAI/pennylane-lightning/pull/758)
1286
+
1287
+
1288
+ ### Contributors
1289
+
1290
+ This release contains contributions from (in alphabetical order):
1291
+
1292
+ Ali Asadi, Amintor Dusko, Pietropaolo Frisoni, Thomas Germain, Christina Lee, Erick Ochoa Lopez, Vincent Michaud-Rioux, Rashid N H M, Lee James O'Riordan, Mudit Pandey, Shuli Shu
1293
+
1294
+ ---
1295
+
1296
+ # Release 0.35.1
1297
+
1298
+ ### Improvements
1299
+
1300
+ * Use the `adjoint` gate parameter to apply `qml.Adjoint` operations instead of matrix methods in `lightning.qubit`.
1301
+ [(#632)](https://github.com/PennyLaneAI/pennylane-lightning/pull/632)
1302
+
1303
+ ### Bug fixes
1304
+
1305
+ * Fix `qml.Adjoint` support in `lightning.gpu` and `lightning.kokkos`.
1306
+ [(#632)](https://github.com/PennyLaneAI/pennylane-lightning/pull/632)
1307
+
1308
+ * Fix finite shots support in `lightning.qubit`, `lightning.gpu` and `lightning.kokkos`. The bug would impact calculations with measurements on observables with non-trivial diagonalizing gates and calculations with shot vectors.
1309
+ [(#632)](https://github.com/PennyLaneAI/pennylane-lightning/pull/632)
1310
+
1311
+ ### Contributors
1312
+
1313
+ This release contains contributions from (in alphabetical order):
1314
+
1315
+ Vincent Michaud-Rioux
1316
+
1317
+ ---
1318
+
1319
+ # Release 0.35.0
1320
+
1321
+ ### New features since last release
1322
+
1323
+ * All backends now support `GlobalPhase` and `C(GlobalPhase)` in forward pass.
1324
+ [(#579)](https://github.com/PennyLaneAI/pennylane-lightning/pull/579)
1325
+
1326
+ * Add Hermitian observable support for shot-noise measurement and Lapack support.
1327
+ [(#569)](https://github.com/PennyLaneAI/pennylane-lightning/pull/569)
1328
+
1329
+ ### Breaking changes
1330
+
1331
+ * Migrate `lightning.gpu` to CUDA 12.
1332
+ [(#606)](https://github.com/PennyLaneAI/pennylane-lightning/pull/606)
1333
+
1334
+ ### Improvements
1335
+
1336
+ * Expand error values and strings returned from CUDA libraries.
1337
+ [(#617)](https://github.com/PennyLaneAI/pennylane-lightning/pull/617)
1338
+
1339
+ * `C(MultiRZ)` and `C(Rot)` gates are natively supported (with `LM` kernels).
1340
+ [(#614)](https://github.com/PennyLaneAI/pennylane-lightning/pull/614)
1341
+
1342
+ * Add adjoint support for `GlobalPhase` in Lightning-GPU and Lightning-Kokkos.
1343
+ [(#615)](https://github.com/PennyLaneAI/pennylane-lightning/pull/615)
1344
+
1345
+ * Lower the overheads of Windows CI tests.
1346
+ [(#610)](https://github.com/PennyLaneAI/pennylane-lightning/pull/610)
1347
+
1348
+ * Decouple LightningQubit memory ownership from numpy and migrate it to Lightning-Qubit managed state-vector class.
1349
+ [(#601)](https://github.com/PennyLaneAI/pennylane-lightning/pull/601)
1350
+
1351
+ * Expand support for Projector observables on Lightning-Kokkos.
1352
+ [(#601)](https://github.com/PennyLaneAI/pennylane-lightning/pull/601)
1353
+
1354
+ * Split Docker build cron job into two jobs: master and latest. This is mainly for reporting in the `plugin-test-matrix` repo.
1355
+ [(#600)](https://github.com/PennyLaneAI/pennylane-lightning/pull/600)
1356
+
1357
+ * The `BlockEncode` operation from PennyLane is now supported on all Lightning devices.
1358
+ [(#599)](https://github.com/PennyLaneAI/pennylane-lightning/pull/599)
1359
+
1360
+ * OpenMP acceleration can now be enabled at compile time for all `lightning.qubit` gate kernels using the `-DLQ_ENABLE_KERNEL_OMP=1` CMake argument.
1361
+ [(#510)](https://github.com/PennyLaneAI/pennylane-lightning/pull/510)
1362
+
1363
+ * Enable building Docker images for any branch or tag. Set the Docker build cron job to build images for the latest release and `master`.
1364
+ [(#598)](https://github.com/PennyLaneAI/pennylane-lightning/pull/598)
1365
+
1366
+ * Enable choosing the PennyLane-Lightning version and disabling push to Docker Hub in the Docker build workflow. Add a cron job calling the Docker build workflow.
1367
+ [(#597)](https://github.com/PennyLaneAI/pennylane-lightning/pull/597)
1368
+
1369
+ * Pull Kokkos v4.2.00 from the official Kokkos repository to test Lightning-Kokkos with the CUDA backend.
1370
+ [(#596)](https://github.com/PennyLaneAI/pennylane-lightning/pull/596)
1371
+
1372
+ * Remove deprecated MeasurementProcess.name.
1373
+ [(#605)](https://github.com/PennyLaneAI/pennylane-lightning/pull/605)
1374
+
1375
+ ### Documentation
1376
+
1377
+ * Update requirements to build the documentation.
1378
+ [(#594)](https://github.com/PennyLaneAI/pennylane-lightning/pull/594)
1379
+
1380
+ ### Bug fixes
1381
+
1382
+ * Downgrade auditwheel due to changes with library exclusion list.
1383
+ [(#620)](https://github.com/PennyLaneAI/pennylane-lightning/pull/620)
1384
+
1385
+ * List `GlobalPhase` gate in each device's TOML file.
1386
+ [(#615)](https://github.com/PennyLaneAI/pennylane-lightning/pull/615)
1387
+
1388
+ * Lightning-GPU's gate cache failed to distinguish between certain gates.
1389
+ For example, `MultiControlledX([0, 1, 2], "111")` and `MultiControlledX([0, 2], "00")` were applied as the same operation.
1390
+ This could happen with (at least) the following gates: `QubitUnitary`,`ControlledQubitUnitary`,`MultiControlledX`,`DiagonalQubitUnitary`,`PSWAP`,`OrbitalRotation`.
1391
+ [(#579)](https://github.com/PennyLaneAI/pennylane-lightning/pull/579)
1392
+
1393
+ * Ensure the stopping condition decompositions are respected for larger templated QFT and Grover operators.
1394
+ [(#609)](https://github.com/PennyLaneAI/pennylane-lightning/pull/609)
1395
+
1396
+ * Move concurrency group specifications from reusable Docker build workflow to the root workflows.
1397
+ [(#604)](https://github.com/PennyLaneAI/pennylane-lightning/pull/604)
1398
+
1399
+ * Fix `lightning-kokkos-cuda` Docker build and add CI workflow to build images and push to Docker Hub.
1400
+ [(#593)](https://github.com/PennyLaneAI/pennylane-lightning/pull/593)
1401
+
1402
+ * Update jax.config imports.
1403
+ [(#619)](https://github.com/PennyLaneAI/pennylane-lightning/pull/619)
1404
+
1405
+ * Fix apply state vector when using a Lightning handle.
1406
+ [(#622)](https://github.com/PennyLaneAI/pennylane-lightning/pull/622)
1407
+
1408
+ * Pinning Pytest to a version compatible with Flaky.
1409
+ [(#624)](https://github.com/PennyLaneAI/pennylane-lightning/pull/624)
1410
+
1411
+ ### Contributors
1412
+
1413
+ This release contains contributions from (in alphabetical order):
1414
+
1415
+ Amintor Dusko, David Ittah, Vincent Michaud-Rioux, Lee J. O'Riordan, Shuli Shu, Matthew Silverman
1416
+
1417
+ ---
1418
+
1419
+ # Release 0.34.0
1420
+
1421
+ ### New features since last release
1422
+
1423
+ * Support added for Python 3.12 wheel builds.
1424
+ [(#541)](https://github.com/PennyLaneAI/pennylane-lightning/pull/541)
1425
+
1426
+ * Lightning-Qubit support arbitrary controlled gates (any wires and any control values). The kernels are implemented in the `LM` module.
1427
+ [(#576)](https://github.com/PennyLaneAI/pennylane-lightning/pull/576)
1428
+
1429
+ * Shot-noise related methods now accommodate observable objects with arbitrary eigenvalues. Add a Kronecker product method for two diagonal matrices.
1430
+ [(#570)](https://github.com/PennyLaneAI/pennylane-lightning/pull/570)
1431
+
1432
+ * 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.
1433
+ [(#568)](https://github.com/PennyLaneAI/pennylane-lightning/pull/568)
1434
+
1435
+ * Add `LM` kernels to apply arbitrary controlled operations efficiently.
1436
+ [(#516)](https://github.com/PennyLaneAI/pennylane-lightning/pull/516)
1437
+
1438
+ * Add shots support for variance value, probs, sample, counts calculation for given observables (`NamedObs`, `TensorProd` and `Hamiltonian`) based on Pauli words, `Identity` and `Hadamard` in the C++ layer. All Lightning backends support this support feature.
1439
+ [(#561)](https://github.com/PennyLaneAI/pennylane-lightning/pull/561)
1440
+
1441
+ * Add shots support for expectation value calculation for given observables (`NamedObs`, `TensorProd` and `Hamiltonian`) based on Pauli words, `Identity` and `Hadamard` in the C++ layer by adding `measure_with_samples` to the measurement interface. All Lightning backends support this support feature.
1442
+ [(#556)](https://github.com/PennyLaneAI/pennylane-lightning/pull/556)
1443
+
1444
+ * `qml.QubitUnitary` operators can be included in a circuit differentiated with the adjoint method. Lightning handles circuits with arbitrary non-differentiable `qml.QubitUnitary` operators. 1,2-qubit `qml.QubitUnitary` operators with differentiable parameters can be differentiated using decomposition.
1445
+ [(#540)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/540)
1446
+
1447
+ ### Breaking changes
1448
+
1449
+ * Set the default version of Kokkos to 4.2.00 throughout the project (CMake, CI, etc.)
1450
+ [(#578)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/578)
1451
+
1452
+ * Overload `applyOperation` with a fifth `matrix` argument to all state vector classes to support arbitrary operations in `AdjointJacobianBase`.
1453
+ [(#540)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/540)
1454
+
1455
+ ### Improvements
1456
+
1457
+ * Ensure aligned memory used for numpy arrays with state-vector without reallocations.
1458
+ [(#572)](https://github.com/PennyLaneAI/pennylane-lightning/pull/572)
1459
+
1460
+ * Unify error messages of shot measurement related unsupported observables to better Catalyst.
1461
+ [(#577)](https://github.com/PennyLaneAI/pennylane-lightning/pull/577)
1462
+
1463
+ * Add configuration files to improve compatibility with Catalyst.
1464
+ [(#566)](https://github.com/PennyLaneAI/pennylane-lightning/pull/566)
1465
+
1466
+ * Refactor shot-noise related methods of MeasurementsBase class in the C++ layer and eigenvalues are not limited to `1` and `-1`. Add `getObs()` method to Observables class. Refactor `applyInPlaceShots` to allow users to get eigenvalues of Observables object. Deprecated `_preprocess_state` method in `MeasurementsBase` class for safer use of the `LightningQubitRaw` backend.
1467
+ [(#570)](https://github.com/PennyLaneAI/pennylane-lightning/pull/570)
1468
+
1469
+ * Modify `setup.py` to use backend-specific build directory (`f"build_{backend}"`) to accelerate rebuilding backends in alternance.
1470
+ [(#540)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/540)
1471
+
1472
+ * Update Dockerfile and rewrite the `build-wheel-lightning-gpu` stage to build Lightning-GPU from the `pennylane-lightning` monorepo.
1473
+ [(#539)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/539)
1474
+
1475
+ * Add the MPI test CI workflows of Lightning-GPU in compatibility cron jobs.
1476
+ [(#536)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/536)
1477
+
1478
+ * Add MPI synchronization in places to safely handle communicated data.
1479
+ [(#538)](https://github.com/PennyLaneAI/pennylane-lightning/pull/538)
1480
+
1481
+ * Add release option in compatibility cron jobs to test the release candidates of PennyLane and the Lightning plugins against one another.
1482
+ [(#531)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/531)
1483
+
1484
+ * Add GPU workflows in compatibility cron jobs to test Lightning-GPU and Lightning-Kokkos with the Kokkos CUDA backend.
1485
+ [(#528)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/528)
1486
+
1487
+ ### Documentation
1488
+
1489
+ * Fixed a small typo in the documentation page for the PennyLane-Lightning GPU device.
1490
+ [(#563)](https://github.com/PennyLaneAI/pennylane-lightning/pull/563)
1491
+
1492
+ * Add OpenGraph social preview for Lightning docs.
1493
+ [(#574)](https://github.com/PennyLaneAI/pennylane-lightning/pull/574)
1494
+
1495
+ ### Bug fixes
1496
+
1497
+ * Fix CodeCov file contention issue when uploading data from many workloads.
1498
+ [(#584)](https://github.com/PennyLaneAI/pennylane-lightning/pull/584)
1499
+
1500
+ * Ensure the `lightning.gpu` intermediate wheel builds are uploaded to TestPyPI.
1501
+ [(#575)](https://github.com/PennyLaneAI/pennylane-lightning/pull/575)
1502
+
1503
+ * Allow support for newer clang-tidy versions on non-x86_64 platforms.
1504
+ [(#567)](https://github.com/PennyLaneAI/pennylane-lightning/pull/567)
1505
+
1506
+ * Do not run C++ tests when testing for compatibility with PennyLane, hence fixing plugin-matrix failures. Fix Lightning-GPU workflow trigger.
1507
+ [(#571)](https://github.com/PennyLaneAI/pennylane-lightning/pull/571)
1508
+
1509
+ * Revert single-node multi-GPU batching behaviour to match https://github.com/PennyLaneAI/pennylane-lightning-gpu/pull/27.
1510
+ [(#564)](https://github.com/PennyLaneAI/pennylane-lightning/pull/564)
1511
+
1512
+ * Move deprecated `stateprep` `QuantumScript` argument into the operation list in `mpitests/test_adjoint_jacobian.py`.
1513
+ [(#540)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/540)
1514
+
1515
+ * Fix MPI Python unit tests for the adjoint method.
1516
+ [(#538)](https://github.com/PennyLaneAI/pennylane-lightning/pull/538)
1517
+
1518
+ * Fix the issue with assigning kernels to ops before registering kernels on macOS
1519
+ [(#582)](https://github.com/PennyLaneAI/pennylane-lightning/pull/582)
1520
+
1521
+ * Update `MANIFEST.in` to include device config files and `CHANGELOG.md`
1522
+ [(#585)](https://github.com/PennyLaneAI/pennylane-lightning/pull/585)
1523
+
1524
+ ### Contributors
1525
+
1526
+ This release contains contributions from (in alphabetical order):
1527
+
1528
+ Ali Asadi, Isaac De Vlugt, Amintor Dusko, Vincent Michaud-Rioux, Erick Ochoa Lopez, Lee James O'Riordan, Shuli Shu
1529
+
1530
+ ---
1531
+
1532
+ # Release 0.33.1
1533
+
1534
+ * pip-installed CUDA runtime libraries can now be accessed from a virtualenv.
1535
+ [(#543)](https://github.com/PennyLaneAI/pennylane-lightning/pull/543)
1536
+
1537
+ ### Bug fixes
1538
+
1539
+ * The pybind11 compiled module RPATH linkage has been restored to pre-0.33 behaviour.
1540
+ [(#543)](https://github.com/PennyLaneAI/pennylane-lightning/pull/543)
1541
+
1542
+ ### Contributors
1543
+
1544
+ This release contains contributions from (in alphabetical order):
1545
+
1546
+ Lee J. O'Riordan
1547
+
1548
+ ---
1549
+
1550
+ # Release 0.33.0
1551
+
1552
+ ### New features since last release
1553
+
1554
+ * Add documentation updates for the `lightning.gpu` backend.
1555
+ [(#525)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/525)
1556
+
1557
+ * Add `SparseHamiltonian` support for Lightning-Qubit and Lightning-GPU.
1558
+ [(#526)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/526)
1559
+
1560
+ * Add `SparseHamiltonian` support for Lightning-Kokkos.
1561
+ [(#527)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/527)
1562
+
1563
+ * Integrate python/pybind layer of distributed Lightning-GPU into the Lightning monorepo with Python unit tests.
1564
+ [(#518)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/518)
1565
+
1566
+ * Integrate the distributed C++ backend of Lightning-GPU into the Lightning monorepo.
1567
+ [(#514)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/514)
1568
+
1569
+ * Integrate Lightning-GPU into the Lightning monorepo. The new backend is named `lightning.gpu` and includes all single-GPU features.
1570
+ [(#499)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/499)
1571
+
1572
+ * Build Linux wheels for Lightning-GPU (CUDA-11).
1573
+ [(#517)](https://github.com/PennyLaneAI/pennylane-lightning/pull/517)
1574
+
1575
+ * Add `Dockerfile` in `docker` and `make docker` workflow in `Makefile`. The Docker images and documentation are available on [DockerHub](https://hub.docker.com/repository/docker/pennylaneai/pennylane).
1576
+ [(#496)](https://github.com/PennyLaneAI/pennylane-lightning/pull/496)
1577
+
1578
+ * Add mid-circuit state preparation operation tests.
1579
+ [(#495)](https://github.com/PennyLaneAI/pennylane-lightning/pull/495)
1580
+
1581
+ ### Breaking changes
1582
+
1583
+ * Add `tests_gpu.yml` workflow to test the Lightning-Kokkos backend with CUDA-12.
1584
+ [(#494)](https://github.com/PennyLaneAI/pennylane-lightning/pull/494)
1585
+
1586
+ * Implement `LM::GeneratorDoubleExcitation`, `LM::GeneratorDoubleExcitationMinus`, `LM::GeneratorDoubleExcitationPlus` kernels. Lightning-Qubit default kernels are now strictly from the `LM` implementation, which requires less memory and is faster for large state vectors.
1587
+ [(#512)](https://github.com/PennyLaneAI/pennylane-lightning/pull/512)
1588
+
1589
+ * Add workflows validating compatibility between PennyLane and Lightning's most recent stable releases and development (latest) versions.
1590
+ [(#507)](https://github.com/PennyLaneAI/pennylane-lightning/pull/507)
1591
+ [(#498)](https://github.com/PennyLaneAI/pennylane-lightning/pull/498)
1592
+
1593
+ * Introduce `timeout-minutes` in various workflows, mainly to avoid Windows builds hanging for several hours.
1594
+ [(#503)](https://github.com/PennyLaneAI/pennylane-lightning/pull/503)
1595
+
1596
+ * Cast integral-valued arrays to the device's complex type on entry in `_preprocess_state_vector` to ensure the state is correctly represented with floating-point numbers.
1597
+ [(#501)](https://github.com/PennyLaneAI/pennylane-lightning/pull/501)
1598
+
1599
+ * Update `DefaultQubit` to `DefaultQubitLegacy` on Lightning fallback.
1600
+ [(#500)](https://github.com/PennyLaneAI/pennylane-lightning/pull/500)
1601
+
1602
+ * Enums defined in `GateOperation.hpp` start at `1` (previously `0`). `::BEGIN` is introduced in a few places where it was assumed `0` accordingly.
1603
+ [(#485)](https://github.com/PennyLaneAI/pennylane-lightning/pull/485)
1604
+
1605
+ * Enable pre-commit hooks to format all Python files and linting of all Python source files.
1606
+ [(#485)](https://github.com/PennyLaneAI/pennylane-lightning/pull/485)
1607
+
1608
+ ### Improvements
1609
+
1610
+ * Improve Python testing for Lightning-GPU (+MPI) by adding jobs in Actions files and adding Python tests to increase code coverage.
1611
+ [(#522)](https://github.com/PennyLaneAI/pennylane-lightning/pull/522)
1612
+
1613
+ * Add support for `pip install pennylane-lightning[kokkos]` for the OpenMP backend.
1614
+ [(#515)](https://github.com/PennyLaneAI/pennylane-lightning/pull/515)
1615
+
1616
+ * Update `setup.py` to allow for multi-package co-existence. The `PennyLane_Lightning` package now is the responsible for the core functionality, and will be depended upon by all other extensions.
1617
+ [(#504)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/504)
1618
+
1619
+ * Redesign Lightning-Kokkos `StateVectorKokkos` class to use Kokkos `RangePolicy` together with special functors in `applyMultiQubitOp` to apply 1- to 4-wire generic unitary gates. For more than 4 wires, the general implementation using Kokkos `TeamPolicy` is employed to yield the best all-around performance.
1620
+ [(#490)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/490)
1621
+
1622
+ * Redesign Lightning-Kokkos `Measurements` class to use Kokkos `RangePolicy` together with special functors to obtain the expectation value of 1- to 4-wire generic unitary gates. For more than 4 wires, the general implementation using Kokkos `TeamPolicy` is employed to yield the best all-around performance.
1623
+ [(#489)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/489)
1624
+
1625
+ * Add tests to increase Lightning-Kokkos coverage.
1626
+ [(#485)](https://github.com/PennyLaneAI/pennylane-lightning/pull/485)
1627
+
1628
+ * Add memory locality tag reporting and adjoint diff dispatch for `lightning.qubit` statevector classes.
1629
+ [(#492)](https://github.com/PennyLaneAI/pennylane-lightning/pull/492)
1630
+
1631
+ * Add support for dependent external packages to C++ core.
1632
+ [(#482)](https://github.com/PennyLaneAI/pennylane-lightning/pull/482)
1633
+
1634
+ * Add support for building multiple backend simulators.
1635
+ [(#497)](https://github.com/PennyLaneAI/pennylane-lightning/pull/497)
1636
+
1637
+ ### Documentation
1638
+
1639
+ ### Bug fixes
1640
+
1641
+ * Fix CI issues running python-cov with MPI.
1642
+ [(#535)](https://github.com/PennyLaneAI/pennylane-lightning/pull/535)
1643
+
1644
+ * Re-add support for `pip install pennylane-lightning[gpu]`.
1645
+ [(#515)](https://github.com/PennyLaneAI/pennylane-lightning/pull/515)
1646
+
1647
+ * Switch most Lightning-Qubit default kernels to `LM`. Add `LM::multiQubitOp` tests, failing when targeting out-of-order wires clustered close to `num_qubits-1`. Fix the `LM::multiQubitOp` kernel implementation by introducing a generic `revWireParity` routine and replacing the `bitswap`-based implementation. Mimic the changes fixing the corresponding `multiQubitOp` and `expval` functors in Lightning-Kokkos.
1648
+ [(#511)](https://github.com/PennyLaneAI/pennylane-lightning/pull/511)
1649
+
1650
+ * Fix RTD builds by removing unsupported `system_packages` configuration option.
1651
+ [(#491)](https://github.com/PennyLaneAI/pennylane-lightning/pull/491)
1652
+
1653
+ ### Contributors
1654
+
1655
+ This release contains contributions from (in alphabetical order):
1656
+
1657
+ Ali Asadi, Amintor Dusko, Vincent Michaud-Rioux, Lee J. O'Riordan, Shuli Shu
1658
+
1659
+ ---
1660
+
1661
+ # Release 0.32.0
1662
+
1663
+ ### New features since last release
1664
+
1665
+ * The `lightning.kokkos` backend supports Nvidia GPU execution (with Kokkos v4 and CUDA v12).
1666
+ [(#477)](https://github.com/PennyLaneAI/pennylane-lightning/pull/477)
1667
+
1668
+ * Complete overhaul of repository structure to facilitates integration of multiple backends. Refactoring efforts we directed to improve development performance, code reuse and decrease overall overhead to propagate changes through backends. New C++ modular build strategy allows for faster test builds restricted to a module. Update CI/CD actions concurrency strategy. Change minimal Python version to 3.9.
1669
+ [(#472)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/472)
1670
+
1671
+ * Wheels are built with native support for sparse Hamiltonians.
1672
+ [(#470)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/470)
1673
+
1674
+ * Add native support to sparse Hamiltonians in the absence of Kokkos & Kokkos-kernels.
1675
+ [(#465)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/465)
1676
+
1677
+ ### Breaking changes
1678
+
1679
+ * Rename `QubitStateVector` to `StatePrep` in the Lightning-Qubit and `Lightning-Kokkos` classes.
1680
+ [(#486)](https://github.com/PennyLaneAI/pennylane-lightning/pull/486)
1681
+
1682
+ * Modify `adjointJacobian` methods to accept a (maybe unused) reference `StateVectorT`, allowing device-backed simulators to directly access state vector data for adjoint differentiation instead of copying it back-and-forth into `JacobianData` (host memory).
1683
+ [(#477)](https://github.com/PennyLaneAI/pennylane-lightning/pull/477)
1684
+
1685
+ ### Improvements
1686
+
1687
+ * Refactor LKokkos `Measurements` class to use (fast) specialized functors whenever possible.
1688
+ [(#481)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/481)
1689
+
1690
+ * Merge Lightning Qubit and Lightning Kokkos backends in the new repository.
1691
+ [(#472)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/472)
1692
+
1693
+ * Integrated new unified docs for Lightning Kokkos and Lightning Qubit packages.
1694
+ [(#473)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/473)
1695
+
1696
+ ### Documentation
1697
+
1698
+ ### Bug fixes
1699
+
1700
+ * Ensure PennyLane has an `active_return` attribute before calling it.
1701
+ [(#483)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/483)
1702
+
1703
+ * Do no import `sqrt2_v` from `<numbers>` in `Util.hpp` to resolve issue with Lightning-GPU builds.
1704
+ [(#479)](https://github.com/PennyLaneAI/pennylane-lightning/pull/479)
1705
+
1706
+ * Update the CMake internal references to enable sub-project compilation with affecting the parent package.
1707
+ [(#478)](https://github.com/PennyLaneAI/pennylane-lightning/pull/478)
1708
+
1709
+ * `apply` no longer mutates the inputted list of operations.
1710
+ [(#474)](https://github.com/PennyLaneAI/pennylane-lightning/pull/474)
1711
+
1712
+ ### Contributors
1713
+
1714
+ This release contains contributions from (in alphabetical order):
1715
+
1716
+ Amintor Dusko, Christina Lee, Vincent Michaud-Rioux, Lee J. O'Riordan
1717
+
1718
+ ---
1719
+
1720
+ # Release 0.31.0
1721
+
1722
+ ### New features since last release
1723
+
1724
+ * Update Kokkos support to 4.0.01.
1725
+ [(#439)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/439)
1726
+
1727
+ ### Breaking changes
1728
+
1729
+ * Update tests to be compliant with PennyLane v0.31.0 development changes and deprecations.
1730
+ [(#448)](https://github.com/PennyLaneAI/pennylane-lightning/pull/448)
1731
+
1732
+ ### Improvements
1733
+
1734
+ * Remove logic from `setup.py` and transfer paths and env variable definitions into workflow files.
1735
+ [(#450)](https://github.com/PennyLaneAI/pennylane-lightning/pull/450)
1736
+
1737
+ * Detect MKL or CBLAS if `ENABLE_BLAS=ON` making sure that BLAS is linked as expected.
1738
+ [(#449)](https://github.com/PennyLaneAI/pennylane-lightning/pull/449)
1739
+
1740
+ ### Documentation
1741
+
1742
+ * Fix LightningQubit class parameter documentation.
1743
+ [(#456)](https://github.com/PennyLaneAI/pennylane-lightning/pull/456)
1744
+
1745
+ ### Bug fixes
1746
+
1747
+ * Ensure cross-platform wheels continue to build with updates in git safety checks.
1748
+ [(#452)](https://github.com/PennyLaneAI/pennylane-lightning/pull/452)
1749
+
1750
+ * Fixing Python version bug introduce in [(#450)](https://github.com/PennyLaneAI/pennylane-lightning/pull/450)
1751
+ when `Python_EXECUTABLE` was removed from `setup.py`.
1752
+ [(#461)](https://github.com/PennyLaneAI/pennylane-lightning/pull/461)
1753
+
1754
+ * Ensure aligned allocator definition works with C++20 compilers.
1755
+ [(#438)](https://github.com/PennyLaneAI/pennylane-lightning/pull/438)
1756
+
1757
+ * Prevent multiple threads from calling `Kokkos::initialize` or `Kokkos::finalize`.
1758
+ [(#439)](https://github.com/PennyLaneAI/pennylane-lightning/pull/439)
1759
+
1760
+ ### Contributors
1761
+
1762
+ This release contains contributions from (in alphabetical order):
1763
+
1764
+ Vincent Michaud-Rioux, Lee J. O'Riordan, Chae-Yeun Park
1765
+
1766
+ ---
1767
+
1768
+ # Release 0.30.0
1769
+
1770
+ ### New features since last release
1771
+
1772
+ * Add MCMC sampler.
1773
+ [(#384)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/384)
1774
+
1775
+ * Serialize PennyLane's arithmetic operators when they are used as observables
1776
+ that are expressed in the Pauli basis.
1777
+ [(#424)](https://github.com/PennyLaneAI/pennylane-lightning/pull/424)
1778
+
1779
+ ### Breaking changes
1780
+
1781
+ * Lightning now works with the new return types specification that is now default in PennyLane.
1782
+ See [the PennyLane `qml.enable_return`](https://docs.pennylane.ai/en/stable/code/api/pennylane.enable_return.html?highlight=enable_return) documentation for more information on this change.
1783
+ [(#427)](https://github.com/PennyLaneAI/pennylane-lightning/pull/427)
1784
+
1785
+ Instead of creating potentially ragged numpy array, devices and `QNode`'s now return an object of the same type as that
1786
+ returned by the quantum function.
1787
+
1788
+ ```
1789
+ >>> dev = qml.device('lightning.qubit', wires=1)
1790
+ >>> @qml.qnode(dev, diff_method="adjoint")
1791
+ ... def circuit(x):
1792
+ ... qml.RX(x, wires=0)
1793
+ ... return qml.expval(qml.PauliY(0)), qml.expval(qml.PauliZ(0))
1794
+ >>> x = qml.numpy.array(0.5)
1795
+ >>> circuit(qml.numpy.array(0.5))
1796
+ (array(-0.47942554), array(0.87758256))
1797
+ ```
1798
+
1799
+ Interfaces like Jax or Torch handle tuple outputs without issues:
1800
+
1801
+ ```
1802
+ >>> jax.jacobian(circuit)(jax.numpy.array(0.5))
1803
+ (Array(-0.87758255, dtype=float32, weak_type=True),
1804
+ Array(-0.47942555, dtype=float32, weak_type=True))
1805
+ ```
1806
+
1807
+ Autograd cannot differentiate an output tuple, so results must be converted to an array before
1808
+ use with `qml.jacobian`:
1809
+
1810
+ ```
1811
+ >>> qml.jacobian(lambda y: qml.numpy.array(circuit(y)))(x)
1812
+ array([-0.87758256, -0.47942554])
1813
+ ```
1814
+
1815
+ Alternatively, the quantum function itself can return a numpy array of measurements:
1816
+
1817
+ ```
1818
+ >>> dev = qml.device('lightning.qubit', wires=1)
1819
+ >>> @qml.qnode(dev, diff_method="adjoint")
1820
+ >>> def circuit2(x):
1821
+ ... qml.RX(x, wires=0)
1822
+ ... return np.array([qml.expval(qml.PauliY(0)), qml.expval(qml.PauliZ(0))])
1823
+ >>> qml.jacobian(circuit2)(np.array(0.5))
1824
+ array([-0.87758256, -0.47942554])
1825
+ ```
1826
+
1827
+ ### Improvements
1828
+
1829
+ * Remove deprecated `set-output` commands from workflow files.
1830
+ [(#437)](https://github.com/PennyLaneAI/pennylane-lightning/pull/437)
1831
+
1832
+ * Lightning wheels are now checked with `twine check` post-creation for PyPI compatibility.
1833
+ [(#430)](https://github.com/PennyLaneAI/pennylane-lightning/pull/430)
1834
+
1835
+ * Lightning has been made compatible with the change in return types specification.
1836
+ [(#427)](https://github.com/PennyLaneAI/pennylane-lightning/pull/427)
1837
+
1838
+ * Lightning is compatible with clang-tidy version 16.
1839
+ [(#429)](https://github.com/PennyLaneAI/pennylane-lightning/pull/429)
1840
+
1841
+ ### Contributors
1842
+
1843
+ This release contains contributions from (in alphabetical order):
1844
+
1845
+ Christina Lee, Vincent Michaud-Rioux, Lee James O'Riordan, Chae-Yeun Park, Matthew Silverman
1846
+
1847
+ ---
1848
+
1849
+ # Release 0.29.0
1850
+
1851
+ ### Improvements
1852
+
1853
+ * Remove runtime dependency on ninja build system.
1854
+ [(#414)](https://github.com/PennyLaneAI/pennylane-lightning/pull/414)
1855
+
1856
+ * Allow better integration and installation support with CMake targeted binary builds.
1857
+ [(#403)](https://github.com/PennyLaneAI/pennylane-lightning/pull/403)
1858
+
1859
+ * Remove explicit Numpy and Scipy requirements.
1860
+ [(#412)](https://github.com/PennyLaneAI/pennylane-lightning/pull/412)
1861
+
1862
+ * Get `llvm` installation root from the environment variable `LLVM_ROOT_DIR` (or fallback to `brew`).
1863
+ [(#413)](https://github.com/PennyLaneAI/pennylane-lightning/pull/413)
1864
+
1865
+ * Update AVX2/512 kernel infrastructure for additional gate/generator operations.
1866
+ [(#404)](https://github.com/PennyLaneAI/pennylane-lightning/pull/404)
1867
+
1868
+ * Remove unnecessary lines for resolving CodeCov issue.
1869
+ [(#415)](https://github.com/PennyLaneAI/pennylane-lightning/pull/415)
1870
+
1871
+ * Add more AVX2/512 gate operations.
1872
+ [(#393)](https://github.com/PennyLaneAI/pennylane-lightning/pull/393)
1873
+
1874
+ ### Documentation
1875
+
1876
+ ### Bug fixes
1877
+
1878
+ * Ensure error raised when asking for out of order marginal probabilities. Prevents the return of incorrect results.
1879
+ [(#416)](https://github.com/PennyLaneAI/pennylane-lightning/pull/416)
1880
+
1881
+ * Fix Github shields in README.
1882
+ [(#402)](https://github.com/PennyLaneAI/pennylane-lightning/pull/402)
1883
+
1884
+ ### Contributors
1885
+
1886
+ Amintor Dusko, Vincent Michaud-Rioux, Lee James O'Riordan, Chae-Yeun Park
1887
+
1888
+ ---
1889
+
1890
+ # Release 0.28.2
1891
+
1892
+ ### Bug fixes
1893
+
1894
+ * Fix Python module versioning for Linux wheels.
1895
+ [(#408)](https://github.com/PennyLaneAI/pennylane-lightning/pull/408)
1896
+
1897
+ ### Contributors
1898
+
1899
+ This release contains contributions from (in alphabetical order):
1900
+
1901
+ Amintor Dusko, Shuli Shu, Trevor Vincent
1902
+
1903
+ ---
1904
+
1905
+ # Release 0.28.1
1906
+
1907
+ ### Bug fixes
1908
+
1909
+ * Fix Pybind11 module versioning and locations for Windows wheels.
1910
+ [(#400)](https://github.com/PennyLaneAI/pennylane-lightning/pull/400)
1911
+
1912
+ ### Contributors
1913
+
1914
+ This release contains contributions from (in alphabetical order):
1915
+
1916
+ Lee J. O'Riordan
1917
+
1918
+ ---
1919
+
1920
+ # Release 0.28.0
1921
+
1922
+ ### Breaking changes
1923
+
1924
+ * Deprecate support for Python 3.7.
1925
+ [(#391)](https://github.com/PennyLaneAI/pennylane-lightning/pull/391)
1926
+
1927
+ ### Improvements
1928
+
1929
+ * Improve Lightning package structure for external use as a C++ library.
1930
+ [(#369)](https://github.com/PennyLaneAI/pennylane-lightning/pull/369)
1931
+
1932
+ * Improve the stopping condition method.
1933
+ [(#386)](https://github.com/PennyLaneAI/pennylane-lightning/pull/386)
1934
+
1935
+ ### Bug fixes
1936
+
1937
+ - Pin CMake to 3.24.x in wheel-builder to avoid Python not found error in CMake 3.25, when building wheels for PennyLane-Lightning-GPU.
1938
+ [(#387)](https://github.com/PennyLaneAI/pennylane-lightning/pull/387)
1939
+
1940
+ ### Contributors
1941
+
1942
+ This release contains contributions from (in alphabetical order):
1943
+
1944
+ Amintor Dusko, Lee J. O'Riordan
1945
+
1946
+ ---
1947
+
1948
+ # Release 0.27.0
1949
+
1950
+ ### New features since last release
1951
+
1952
+ * Enable building of Python 3.11 wheels and upgrade Python on CI/CD workflows to 3.8.
1953
+ [(#381)](https://github.com/PennyLaneAI/pennylane-lightning/pull/381)
1954
+
1955
+ ### Breaking changes
1956
+
1957
+ ### Improvements
1958
+
1959
+ * Update clang-tools version in Github workflows.
1960
+ [(#351)](https://github.com/PennyLaneAI/pennylane-lightning/pull/351)
1961
+
1962
+ * Improve tests and checks CI/CD pipelines.
1963
+ [(#353)](https://github.com/PennyLaneAI/pennylane-lightning/pull/353)
1964
+
1965
+ * Implement 3 Qubits gates (CSWAP & Toffoli) & 4 Qubits gates (DoubleExcitation, DoubleExcitationMinus, DoubleExcitationPlus) in LM manner.
1966
+ [(#362)](https://github.com/PennyLaneAI/pennylane-lightning/pull/362)
1967
+
1968
+ * Upgrade Kokkos and Kokkos Kernels to 3.7.00, and improve sparse matrix-vector multiplication performance and memory usage.
1969
+ [(#361)](https://github.com/PennyLaneAI/pennylane-lightning/pull/361)
1970
+
1971
+ * Update Linux (ubuntu-latest) architecture x86_64 wheel-builder from GCC 10.x to GCC 11.x.
1972
+ [(#373)](https://github.com/PennyLaneAI/pennylane-lightning/pull/373)
1973
+
1974
+ * Update gcc and g++ 10.x to 11.x in CI tests. This update brings improved support for newer C++ features.
1975
+ [(#370)](https://github.com/PennyLaneAI/pennylane-lightning/pull/370)
1976
+
1977
+ * Change Lightning to inherit from QubitDevice instead of DefaultQubit.
1978
+ [(#365)](https://github.com/PennyLaneAI/pennylane-lightning/pull/365)
1979
+
1980
+ ### Documentation
1981
+
1982
+ ### Bug fixes
1983
+
1984
+ * Use mutex when accessing cache in KernelMap.
1985
+ [(#382)](https://github.com/PennyLaneAI/pennylane-lightning/pull/382)
1986
+
1987
+ ### Contributors
1988
+
1989
+ This release contains contributions from (in alphabetical order):
1990
+
1991
+ Amintor Dusko, Chae-Yeun Park, Monit Sharma, Shuli Shu
1992
+
1993
+ ---
1994
+
1995
+ # Release 0.26.1
1996
+
1997
+ ### Bug fixes
1998
+
1999
+ * Fixes the transposition method used in the probability calculation.
2000
+ [(#377)](https://github.com/PennyLaneAI/pennylane-lightning/pull/377)
2001
+
2002
+ ### Contributor
2003
+
2004
+ Amintor Dusko
2005
+
2006
+ ---
2007
+ # Release 0.26.0
2008
+
2009
+ ### Improvements
2010
+
2011
+ * Introduces requirements-dev.txt and improves dockerfile.
2012
+ [(#330)](https://github.com/PennyLaneAI/pennylane-lightning/pull/330)
2013
+
2014
+ * Support `expval` for a Hamiltonian.
2015
+ [(#333)](https://github.com/PennyLaneAI/pennylane-lightning/pull/333)
2016
+
2017
+ * Implements caching for Kokkos installation.
2018
+ [(#316)](https://github.com/PennyLaneAI/pennylane-lightning/pull/316)
2019
+
2020
+ * Supports measurements of operator arithmetic classes such as `Sum`, `Prod`,
2021
+ and `SProd` by deferring handling of them to `DefaultQubit`.
2022
+ [(#349)](https://github.com/PennyLaneAI/pennylane-lightning/pull/349)
2023
+
2024
+ ```
2025
+ @qml.qnode(qml.device('lightning.qubit', wires=2))
2026
+ def circuit():
2027
+ obs = qml.s_prod(2.1, qml.PauliZ(0)) + qml.op_sum(qml.PauliX(0), qml.PauliZ(1))
2028
+ return qml.expval(obs)
2029
+ ```
2030
+
2031
+ ### Bug fixes
2032
+
2033
+ * Test updates to reflect new measurement error messages.
2034
+ [(#334)](https://github.com/PennyLaneAI/pennylane-lightning/pull/334)
2035
+
2036
+ * Updates to the release tagger to fix incompatibilities with RTD.
2037
+ [(#344)](https://github.com/PennyLaneAI/pennylane-lightning/pull/344)
2038
+
2039
+ * Update cancel-workflow-action and bot credentials.
2040
+ [(#345)](https://github.com/PennyLaneAI/pennylane-lightning/pull/345)
2041
+
2042
+ ### Contributors
2043
+
2044
+ This release contains contributions from (in alphabetical order):
2045
+
2046
+ Amintor Dusko, Christina Lee, Lee J. O'Riordan, Chae-Yeun Park
2047
+
2048
+ ---
2049
+
2050
+ # Release 0.25.0
2051
+
2052
+ ### New features since last release
2053
+
2054
+ ### Breaking changes
2055
+
2056
+ * We explicitly disable support for PennyLane's parameter broadcasting.
2057
+ [#317](https://github.com/PennyLaneAI/pennylane-lightning/pull/317)
2058
+
2059
+ * We explicitly remove support for PennyLane's `Sum`, `SProd` and `Prod`
2060
+ as observables.
2061
+ [(#326)](https://github.com/PennyLaneAI/pennylane-lightning/pull/326)
2062
+
2063
+ ### Improvements
2064
+
2065
+ * CI builders use a reduced set of resources and redundant tests for PRs.
2066
+ [(#319)](https://github.com/PennyLaneAI/pennylane-lightning/pull/319)
2067
+
2068
+ * Parallelize wheel-builds where applicable.
2069
+ [(#314)](https://github.com/PennyLaneAI/pennylane-lightning/pull/314)
2070
+
2071
+ * AVX2/512 kernels are now available on Linux/MacOS with x86-64 architecture.
2072
+ [(#313)](https://github.com/PennyLaneAI/pennylane-lightning/pull/313)
2073
+
2074
+ ### Documentation
2075
+
2076
+ * Updated ReadTheDocs runner version from Ubuntu 20.04 to 22.04
2077
+ [(#327)](https://github.com/PennyLaneAI/pennylane-lightning/pull/327)
2078
+
2079
+ ### Bug fixes
2080
+
2081
+ * Test updates to reflect new additions to PennyLane.
2082
+ [(#318)](https://github.com/PennyLaneAI/pennylane-lightning/pull/318)
2083
+
2084
+ ### Contributors
2085
+
2086
+ This release contains contributions from (in alphabetical order):
2087
+
2088
+ Amintor Dusko, Christina Lee, Rashid N H M, Lee J. O'Riordan, Chae-Yeun Park
2089
+
2090
+ ---
2091
+
2092
+ # Release 0.24.0
2093
+
2094
+ ### New features since last release
2095
+
2096
+ * Add `SingleExcitation` and `DoubleExcitation` qchem gates and generators.
2097
+ [(#289)](https://github.com/PennyLaneAI/pennylane-lightning/pull/289)
2098
+
2099
+ * Add a new dispatch mechanism for future kernels.
2100
+ [(#291)](https://github.com/PennyLaneAI/pennylane-lightning/pull/291)
2101
+
2102
+ * Add `IsingXY` gate operation.
2103
+ [(#303)](https://github.com/PennyLaneAI/pennylane-lightning/pull/303)
2104
+
2105
+ * Support `qml.state()` in vjp and Hamiltonian in adjoint jacobian.
2106
+ [(#294)](https://github.com/PennyLaneAI/pennylane-lightning/pull/294)
2107
+
2108
+ ### Breaking changes
2109
+
2110
+ * Codebase is now moving to C++20. The default compiler for Linux is now GCC10.
2111
+ [(#295)](https://github.com/PennyLaneAI/pennylane-lightning/pull/295)
2112
+
2113
+ * Minimum macOS version is changed to 10.15 (Catalina).
2114
+ [(#295)](https://github.com/PennyLaneAI/pennylane-lightning/pull/295)
2115
+
2116
+ ### Improvements
2117
+
2118
+ * Split matrix operations, refactor dispatch mechanisms, and add a benchmark suits.
2119
+ [(#274)](https://github.com/PennyLaneAI/pennylane-lightning/pull/274)
2120
+
2121
+ * Add native support for the calculation of sparse Hamiltonians' expectation values.
2122
+ Sparse operations are offloaded to [Kokkos](https://github.com/kokkos/kokkos) and
2123
+ [Kokkos-Kernels](https://github.com/kokkos/kokkos-kernels).
2124
+ [(#283)](https://github.com/PennyLaneAI/pennylane-lightning/pull/283)
2125
+
2126
+ * Device `lightning.qubit` now accepts a datatype for a statevector.
2127
+ [(#290)](https://github.com/PennyLaneAI/pennylane-lightning/pull/290)
2128
+
2129
+ ```python
2130
+ dev1 = qml.device('lightning.qubit', wires=4, c_dtype=np.complex64) # for single precision
2131
+ dev2 = qml.device('lightning.qubit', wires=4, c_dtype=np.complex128) # for double precision
2132
+ ```
2133
+
2134
+ ### Documentation
2135
+
2136
+ * Use the centralized [Xanadu Sphinx Theme](https://github.com/XanaduAI/xanadu-sphinx-theme)
2137
+ to style the Sphinx documentation.
2138
+ [(#287)](https://github.com/PennyLaneAI/pennylane-lightning/pull/287)
2139
+
2140
+ ### Bug fixes
2141
+
2142
+ * Fix the issue with using available `clang-format` version in format.
2143
+ [(#288)](https://github.com/PennyLaneAI/pennylane-lightning/pull/288)
2144
+
2145
+ * Fix a bug in the generator of `DoubleExcitationPlus`.
2146
+ [(#298)](https://github.com/PennyLaneAI/pennylane-lightning/pull/298)
2147
+
2148
+ ### Contributors
2149
+
2150
+ This release contains contributions from (in alphabetical order):
2151
+
2152
+ Mikhail Andrenkov, Ali Asadi, Amintor Dusko, Lee James O'Riordan, Chae-Yeun Park, and Shuli Shu
2153
+
2154
+ ---
2155
+
2156
+ # Release 0.23.0
2157
+
2158
+ ### New features since last release
2159
+
2160
+ * Add `generate_samples()` to lightning.
2161
+ [(#247)](https://github.com/PennyLaneAI/pennylane-lightning/pull/247)
2162
+
2163
+ * Add Lightning GBenchmark Suite.
2164
+ [(#249)](https://github.com/PennyLaneAI/pennylane-lightning/pull/249)
2165
+
2166
+ * Support runtime and compile information.
2167
+ [(#253)](https://github.com/PennyLaneAI/pennylane-lightning/pull/253)
2168
+
2169
+ ### Improvements
2170
+
2171
+ * Add `ENABLE_BLAS` build to CI checks.
2172
+ [(#249)](https://github.com/PennyLaneAI/pennylane-lightning/pull/249)
2173
+
2174
+ * Add more `clang-tidy` checks and kernel tests.
2175
+ [(#253)](https://github.com/PennyLaneAI/pennylane-lightning/pull/253)
2176
+
2177
+ * Add C++ code coverage to CI.
2178
+ [(#265)](https://github.com/PennyLaneAI/pennylane-lightning/pull/265)
2179
+
2180
+ * Skip over identity operations in `"lightning.qubit"`.
2181
+ [(#268)](https://github.com/PennyLaneAI/pennylane-lightning/pull/268)
2182
+
2183
+ ### Bug fixes
2184
+
2185
+ * Update tests to remove `JacobianTape`.
2186
+ [(#260)](https://github.com/PennyLaneAI/pennylane-lightning/pull/260)
2187
+
2188
+ * Fix tests for MSVC.
2189
+ [(#264)](https://github.com/PennyLaneAI/pennylane-lightning/pull/264)
2190
+
2191
+ * Fix `#include <cpuid.h>` for PPC and AArch64 in Linux.
2192
+ [(#266)](https://github.com/PennyLaneAI/pennylane-lightning/pull/266)
2193
+
2194
+ * Remove deprecated tape execution methods.
2195
+ [(#270)](https://github.com/PennyLaneAI/pennylane-lightning/pull/270)
2196
+
2197
+ * Update `qml.probs` in `test_measures.py`.
2198
+ [(#280)](https://github.com/PennyLaneAI/pennylane-lightning/pull/280)
2199
+
2200
+ ### Contributors
2201
+
2202
+ This release contains contributions from (in alphabetical order):
2203
+
2204
+ Ali Asadi, Chae-Yeun Park, Lee James O'Riordan, and Trevor Vincent
2205
+
2206
+ ---
2207
+
2208
+ # Release 0.22.1
2209
+
2210
+ ### Bug fixes
2211
+
2212
+ * Ensure `Identity ` kernel is registered to C++ dispatcher.
2213
+ [(#275)](https://github.com/PennyLaneAI/pennylane-lightning/pull/275)
2214
+
2215
+ ---
2216
+
2217
+ # Release 0.22.0
2218
+
2219
+ ### New features since last release
2220
+
2221
+ * Add Docker support.
2222
+ [(#234)](https://github.com/PennyLaneAI/pennylane-lightning/pull/234)
2223
+
2224
+ ### Improvements
2225
+
2226
+ * Update quantum tapes serialization and Python tests.
2227
+ [(#239)](https://github.com/PennyLaneAI/pennylane-lightning/pull/239)
2228
+
2229
+ * Clang-tidy is now enabled for both tests and examples builds under Github Actions.
2230
+ [(#237)](https://github.com/PennyLaneAI/pennylane-lightning/pull/237)
2231
+
2232
+ * The return type of `StateVectorBase` data is now derived-class defined.
2233
+ [(#237)](https://github.com/PennyLaneAI/pennylane-lightning/pull/237)
2234
+
2235
+ * Update adjointJacobian and VJP methods.
2236
+ [(#222)](https://github.com/PennyLaneAI/pennylane-lightning/pull/222)
2237
+
2238
+ * Set GitHub workflow to upload wheels to Test PyPI.
2239
+ [(#220)](https://github.com/PennyLaneAI/pennylane-lightning/pull/220)
2240
+
2241
+ * Finalize the new kernel implementation.
2242
+ [(#212)](https://github.com/PennyLaneAI/pennylane-lightning/pull/212)
2243
+
2244
+ ### Documentation
2245
+
2246
+ * Use of batching with OpenMP threads is documented.
2247
+ [(#221)](https://github.com/PennyLaneAI/pennylane-lightning/pull/221)
2248
+
2249
+ ### Bug fixes
2250
+
2251
+ * Fix for OOM errors when using adjoint with large numbers of observables.
2252
+ [(#221)](https://github.com/PennyLaneAI/pennylane-lightning/pull/221)
2253
+
2254
+ * Add virtual destructor to C++ state-vector classes.
2255
+ [(#200)](https://github.com/PennyLaneAI/pennylane-lightning/pull/200)
2256
+
2257
+ * Fix a bug in Python tests with operations' `matrix` calls.
2258
+ [(#238)](https://github.com/PennyLaneAI/pennylane-lightning/pull/238)
2259
+
2260
+ * Refactor utility header and fix a bug in linear algebra function with CBLAS.
2261
+ [(#228)](https://github.com/PennyLaneAI/pennylane-lightning/pull/228)
2262
+
2263
+ ### Contributors
2264
+
2265
+ This release contains contributions from (in alphabetical order):
2266
+
2267
+ Ali Asadi, Chae-Yeun Park, Lee James O'Riordan
2268
+
2269
+ ---
2270
+
2271
+ # Release 0.21.0
2272
+
2273
+ ### New features since last release
2274
+
2275
+ * Add C++ only benchmark for a given list of gates.
2276
+ [(#199)](https://github.com/PennyLaneAI/pennylane-lightning/pull/199)
2277
+
2278
+ * Wheel-build support for Python 3.10.
2279
+ [(#186)](https://github.com/PennyLaneAI/pennylane-lightning/pull/186)
2280
+
2281
+ * C++ support for probability, expectation value and variance calculations.
2282
+ [(#185)](https://github.com/PennyLaneAI/pennylane-lightning/pull/185)
2283
+
2284
+ * Add bindings to C++ expval, var, probs.
2285
+ [(#214)](https://github.com/PennyLaneAI/pennylane-lightning/pull/214)
2286
+
2287
+ ### Improvements
2288
+
2289
+ * `setup.py` adds debug only when --debug is given
2290
+ [(#208)](https://github.com/PennyLaneAI/pennylane-lightning/pull/208)
2291
+
2292
+ * Add new highly-performant C++ kernels for quantum gates.
2293
+ [(#202)](https://github.com/PennyLaneAI/pennylane-lightning/pull/202)
2294
+
2295
+ The new kernels significantly improve the runtime performance of PennyLane-Lightning
2296
+ for both differentiable and non-differentiable workflows. Here is an example workflow
2297
+ using the adjoint differentiation method with a circuit of 5 strongly entangling layers:
2298
+
2299
+ ```python
2300
+ import pennylane as qml
2301
+ from pennylane import numpy as np
2302
+ from pennylane.templates.layers import StronglyEntanglingLayers
2303
+ from numpy.random import random
2304
+ np.random.seed(42)
2305
+ n_layers = 5
2306
+ n_wires = 6
2307
+ dev = qml.device("lightning.qubit", wires=n_wires)
2308
+
2309
+ @qml.qnode(dev, diff_method="adjoint")
2310
+ def circuit(weights):
2311
+ StronglyEntanglingLayers(weights, wires=list(range(n_wires)))
2312
+ return [qml.expval(qml.PauliZ(i)) for i in range(n_wires)]
2313
+
2314
+ init_weights = np.random.random(StronglyEntanglingLayers.shape(n_layers=n_layers, n_wires=n_wires))
2315
+ params = np.array(init_weights,requires_grad=True)
2316
+ jac = qml.jacobian(circuit)(params)
2317
+ ```
2318
+ The latest release shows improved performance on both single and multi-threaded evaluations!
2319
+
2320
+ <img src="https://raw.githubusercontent.com/PennyLaneAI/pennylane-lightning/v0.21.0-rc0/doc/_static/lightning_v20_v21_bm.png" width=50%/>
2321
+
2322
+ * Ensure debug info is built into dynamic libraries.
2323
+ [(#201)](https://github.com/PennyLaneAI/pennylane-lightning/pull/201)
2324
+
2325
+ ### Documentation
2326
+
2327
+ * New guidelines on adding and benchmarking C++ kernels.
2328
+ [(#202)](https://github.com/PennyLaneAI/pennylane-lightning/pull/202)
2329
+
2330
+ ### Bug fixes
2331
+
2332
+ * Update clang-format version
2333
+ [(#219)](https://github.com/PennyLaneAI/pennylane-lightning/pull/219)
2334
+
2335
+ * Fix failed tests on Windows.
2336
+ [(#218)](https://github.com/PennyLaneAI/pennylane-lightning/pull/218)
2337
+
2338
+ * Update clang-format version
2339
+ [(#219)](https://github.com/PennyLaneAI/pennylane-lightning/pull/219)
2340
+
2341
+ * Add virtual destructor to C++ state-vector classes.
2342
+ [(#200)](https://github.com/PennyLaneAI/pennylane-lightning/pull/200)
2343
+
2344
+ * Fix failed tests for the non-binary wheel.
2345
+ [(#213)](https://github.com/PennyLaneAI/pennylane-lightning/pull/213)
2346
+
2347
+ * Add virtual destructor to C++ state-vector classes.
2348
+ [(#200)](https://github.com/PennyLaneAI/pennylane-lightning/pull/200)
2349
+
2350
+ ### Contributors
2351
+
2352
+ This release contains contributions from (in alphabetical order):
2353
+
2354
+ Ali Asadi, Amintor Dusko, Chae-Yeun Park, Lee James O'Riordan
2355
+
2356
+ ---
2357
+
2358
+ # Release 0.20.1
2359
+
2360
+ ### Bug fixes
2361
+
2362
+ * Fix missing header-files causing build errors in algorithms module.
2363
+ [(#193)](https://github.com/PennyLaneAI/pennylane-lightning/pull/193)
2364
+
2365
+ * Fix failed tests for the non-binary wheel.
2366
+ [(#191)](https://github.com/PennyLaneAI/pennylane-lightning/pull/191)
2367
+
2368
+ ---
2369
+ # Release 0.20.2
2370
+
2371
+ ### Bug fixes
2372
+
2373
+ * Introduce CY kernel to Lightning to avoid issues with decomposition.
2374
+ [(#203)](https://github.com/PennyLaneAI/pennylane-lightning/pull/203)
2375
+
2376
+ ### Contributors
2377
+
2378
+ This release contains contributions from (in alphabetical order):
2379
+
2380
+ Lee J. O'Riordan
2381
+
2382
+ # Release 0.20.1
2383
+
2384
+ ### Bug fixes
2385
+
2386
+ * Fix missing header-files causing build errors in algorithms module.
2387
+ [(#193)](https://github.com/PennyLaneAI/pennylane-lightning/pull/193)
2388
+
2389
+ * Fix failed tests for the non-binary wheel.
2390
+ [(#191)](https://github.com/PennyLaneAI/pennylane-lightning/pull/191)
2391
+
2392
+ # Release 0.20.0
2393
+
2394
+ ### New features since last release
2395
+
2396
+ * Add wheel-builder support for Python 3.10.
2397
+ [(#186)](https://github.com/PennyLaneAI/pennylane-lightning/pull/186)
2398
+
2399
+ * Add VJP support to PL-Lightning.
2400
+ [(#181)](https://github.com/PennyLaneAI/pennylane-lightning/pull/181)
2401
+
2402
+ * Add complex64 support in PL-Lightning.
2403
+ [(#177)](https://github.com/PennyLaneAI/pennylane-lightning/pull/177)
2404
+
2405
+ * Added examples folder containing aggregate gate performance test.
2406
+ [(#165)](https://github.com/PennyLaneAI/pennylane-lightning/pull/165)
2407
+
2408
+ ### Breaking changes
2409
+
2410
+ ### Improvements
2411
+
2412
+ * Update PL-Lightning to support new features in PL.
2413
+ [(#179)](https://github.com/PennyLaneAI/pennylane-lightning/pull/179)
2414
+
2415
+ ### Documentation
2416
+
2417
+ * Lightning setup.py build process uses CMake.
2418
+ [(#176)](https://github.com/PennyLaneAI/pennylane-lightning/pull/176)
2419
+
2420
+ ### Contributors
2421
+
2422
+ This release contains contributions from (in alphabetical order):
2423
+
2424
+ Ali Asadi, Chae-Yeun Park, Isidor Schoch, Lee James O'Riordan
2425
+
2426
+ ---
2427
+
2428
+ # Release 0.19.0
2429
+
2430
+ * Add Cache-Friendly DOTC, GEMV, GEMM along with BLAS Support.
2431
+ [(#155)](https://github.com/PennyLaneAI/pennylane-lightning/pull/155)
2432
+
2433
+ ### Improvements
2434
+
2435
+ * The performance of parametric gates has been improved.
2436
+ [(#157)](https://github.com/PennyLaneAI/pennylane-lightning/pull/157)
2437
+
2438
+ * AVX support is enabled for Linux users on Intel/AMD platforms.
2439
+ [(#157)](https://github.com/PennyLaneAI/pennylane-lightning/pull/157)
2440
+
2441
+ * PennyLane-Lightning has been updated to conform with clang-tidy
2442
+ recommendations for modernization, offering performance improvements across
2443
+ all use-cases.
2444
+ [(#153)](https://github.com/PennyLaneAI/pennylane-lightning/pull/153)
2445
+
2446
+ ### Breaking changes
2447
+
2448
+ * Linux users on `x86_64` must have a CPU supporting AVX.
2449
+ [(#157)](https://github.com/PennyLaneAI/pennylane-lightning/pull/157)
2450
+
2451
+ ### Bug fixes
2452
+
2453
+ * OpenMP built with Intel MacOS CI runners causes failures on M1 Macs. OpenMP is currently
2454
+ disabled in the built wheels until this can be resolved with Github Actions runners.
2455
+ [(#166)](https://github.com/PennyLaneAI/pennylane-lightning/pull/166)
2456
+
2457
+ ### Contributors
2458
+
2459
+ This release contains contributions from (in alphabetical order):
2460
+
2461
+ Ali Asadi, Lee James O'Riordan
2462
+
2463
+ ---
2464
+
2465
+ # Release 0.18.0
2466
+
2467
+ ### New features since last release
2468
+
2469
+ * PennyLane-Lightning now provides a high-performance
2470
+ [adjoint Jacobian](http://arxiv.org/abs/2009.02823) method for differentiating quantum circuits.
2471
+ [(#136)](https://github.com/PennyLaneAI/pennylane-lightning/pull/136)
2472
+
2473
+ The adjoint method operates after a forward pass by iteratively applying inverse gates to scan
2474
+ backwards through the circuit. The method is already available in PennyLane's
2475
+ `default.qubit` device, but the version provided by `lightning.qubit` integrates with the C++
2476
+ backend and is more performant, as shown in the plot below:
2477
+
2478
+ <img src="https://raw.githubusercontent.com/PennyLaneAI/pennylane-lightning/master/doc/_static/lightning_adjoint.png" width=70%/>
2479
+
2480
+ The plot compares the average runtime of `lightning.qubit` and `default.qubit` for calculating the
2481
+ Jacobian of a circuit using the adjoint method for a range of qubit numbers. The circuit
2482
+ consists of ten `BasicEntanglerLayers` with a `PauliZ` expectation value calculated on each wire,
2483
+ repeated over ten runs. We see that `lightning.qubit` provides a speedup of around two to eight
2484
+ times, depending on the number of qubits.
2485
+
2486
+ The adjoint method can be accessed using the standard interface. Consider the following circuit:
2487
+
2488
+ ```python
2489
+ import pennylane as qml
2490
+
2491
+ wires = 3
2492
+ layers = 2
2493
+ dev = qml.device("lightning.qubit", wires=wires)
2494
+
2495
+ @qml.qnode(dev, diff_method="adjoint")
2496
+ def circuit(weights):
2497
+ qml.templates.StronglyEntanglingLayers(weights, wires=range(wires))
2498
+ return qml.expval(qml.PauliZ(0))
2499
+
2500
+ weights = qml.init.strong_ent_layers_normal(layers, wires, seed=1967)
2501
+ ```
2502
+
2503
+ The circuit can be executed and its gradient calculated using:
2504
+
2505
+ ```pycon
2506
+ >>> print(f"Circuit evaluated: {circuit(weights)}")
2507
+ Circuit evaluated: 0.9801286266677633
2508
+ >>> print(f"Circuit gradient:\n{qml.grad(circuit)(weights)}")
2509
+ Circuit gradient:
2510
+ [[[-1.11022302e-16 -1.63051504e-01 -4.14810501e-04]
2511
+ [ 1.11022302e-16 -1.50136528e-04 -1.77922957e-04]
2512
+ [ 0.00000000e+00 -3.92874550e-02 8.14523075e-05]]
2513
+
2514
+ [[-1.14472273e-04 3.85963953e-02 0.00000000e+00]
2515
+ [-5.76791765e-05 -9.78478343e-02 0.00000000e+00]
2516
+ [-5.55111512e-17 0.00000000e+00 -1.11022302e-16]]]
2517
+ ```
2518
+
2519
+ * PennyLane-Lightning now supports all of the operations and observables of `default.qubit`.
2520
+ [(#124)](https://github.com/PennyLaneAI/pennylane-lightning/pull/124)
2521
+
2522
+ ### Improvements
2523
+
2524
+ * A new state-vector class `StateVectorManaged` was added, enabling memory use to be bound to
2525
+ statevector lifetime.
2526
+ [(#136)](https://github.com/PennyLaneAI/pennylane-lightning/pull/136)
2527
+
2528
+ * The repository now has a well-defined component hierarchy, allowing each indepedent unit to be
2529
+ compiled and linked separately.
2530
+ [(#136)](https://github.com/PennyLaneAI/pennylane-lightning/pull/136)
2531
+
2532
+ * PennyLane-Lightning can now be installed without compiling its C++ binaries and will fall back
2533
+ to using the `default.qubit` implementation. Skipping compilation is achieved by setting the
2534
+ `SKIP_COMPILATION` environment variable, e.g., Linux/MacOS: `export SKIP_COMPILATION=True`,
2535
+ Windows: `set SKIP_COMPILATION=True`. This feature is intended for building a pure-Python wheel of
2536
+ PennyLane-Lightning as a backup for platforms without a dedicated wheel.
2537
+ [(#129)](https://github.com/PennyLaneAI/pennylane-lightning/pull/129)
2538
+
2539
+ * The C++-backed Python bound methods can now be directly called with wires and supplied parameters.
2540
+ [(#125)](https://github.com/PennyLaneAI/pennylane-lightning/pull/125)
2541
+
2542
+ * Lightning supports arbitrary unitary and non-unitary gate-calls from Python to C++ layer.
2543
+ [(#121)](https://github.com/PennyLaneAI/pennylane-lightning/pull/121)
2544
+
2545
+ ### Documentation
2546
+
2547
+ * Added preliminary architecture diagram for package.
2548
+ [(#131)](https://github.com/PennyLaneAI/pennylane-lightning/pull/131)
2549
+
2550
+ * C++ API built as part of docs generation.
2551
+ [(#131)](https://github.com/PennyLaneAI/pennylane-lightning/pull/131)
2552
+
2553
+ ### Breaking changes
2554
+
2555
+ * Wheels for MacOS <= 10.13 will no longer be provided due to XCode SDK C++17 support requirements.
2556
+ [(#149)](https://github.com/PennyLaneAI/pennylane-lightning/pull/149)
2557
+
2558
+ ### Bug fixes
2559
+
2560
+ * An indexing error in the CRY gate is fixed. [(#136)](https://github.com/PennyLaneAI/pennylane-lightning/pull/136)
2561
+
2562
+ * Column-major data in numpy is now correctly converted to row-major upon pass to the C++ layer.
2563
+ [(#126)](https://github.com/PennyLaneAI/pennylane-lightning/pull/126)
2564
+
2565
+ ### Contributors
2566
+
2567
+ This release contains contributions from (in alphabetical order):
2568
+
2569
+ Thomas Bromley, Lee James O'Riordan
2570
+
2571
+ ---
2572
+
2573
+ # Release 0.17.0
2574
+
2575
+ ### New features
2576
+
2577
+ * C++ layer now supports float (32-bit) and double (64-bit) templated complex data.
2578
+ [(#113)](https://github.com/PennyLaneAI/pennylane-lightning/pull/113)
2579
+
2580
+ ### Improvements
2581
+
2582
+ * The PennyLane device test suite is now included in coverage reports.
2583
+ [(#123)](https://github.com/PennyLaneAI/pennylane-lightning/pull/123)
2584
+
2585
+ * Static versions of jQuery and Bootstrap are no longer included in the CSS theme.
2586
+ [(#118)](https://github.com/PennyLaneAI/pennylane-lightning/pull/118)
2587
+
2588
+ * C++ tests have been ported to use Catch2 framework.
2589
+ [(#115)](https://github.com/PennyLaneAI/pennylane-lightning/pull/115)
2590
+
2591
+ * Testing now exists for both float and double precision methods in C++ layer.
2592
+ [(#113)](https://github.com/PennyLaneAI/pennylane-lightning/pull/113)
2593
+ [(#115)](https://github.com/PennyLaneAI/pennylane-lightning/pull/115)
2594
+
2595
+ * Compile-time utility methods with `constexpr` have been added.
2596
+ [(#113)](https://github.com/PennyLaneAI/pennylane-lightning/pull/113)
2597
+
2598
+ * Wheel-build support for ARM64 (Linux and MacOS) and PowerPC (Linux) added.
2599
+ [(#110)](https://github.com/PennyLaneAI/pennylane-lightning/pull/110)
2600
+
2601
+ * Add support for Controlled Phase Gate (`ControlledPhaseShift`).
2602
+ [(#114)](https://github.com/PennyLaneAI/pennylane-lightning/pull/114)
2603
+
2604
+ * Move changelog to `.github` and add a changelog reminder.
2605
+ [(#111)](https://github.com/PennyLaneAI/pennylane-lightning/pull/111)
2606
+
2607
+ * Adds CMake build system support.
2608
+ [(#104)](https://github.com/PennyLaneAI/pennylane-lightning/pull/104)
2609
+
2610
+
2611
+ ### Breaking changes
2612
+
2613
+ * Removes support for Python 3.6 and adds support for Python 3.9.
2614
+ [(#127)](https://github.com/PennyLaneAI/pennylane-lightning/pull/127)
2615
+ [(#128)](https://github.com/PennyLaneAI/pennylane-lightning/pull/128)
2616
+
2617
+ * Compilers with C++17 support are now required to build C++ module.
2618
+ [(#113)](https://github.com/PennyLaneAI/pennylane-lightning/pull/113)
2619
+
2620
+ * Gate classes have been removed with functionality added to StateVector class.
2621
+ [(#113)](https://github.com/PennyLaneAI/pennylane-lightning/pull/113)
2622
+
2623
+ * We are no longer building wheels for Python 3.6.
2624
+ [(#106)](https://github.com/PennyLaneAI/pennylane-lightning/pull/106)
2625
+
2626
+ ### Bug fixes
2627
+
2628
+ * PowerPC wheel-builder now successfully compiles modules.
2629
+ [(#120)](https://github.com/PennyLaneAI/pennylane-lightning/pull/120)
2630
+
2631
+ ### Documentation
2632
+
2633
+ * Added community guidelines.
2634
+ [(#109)](https://github.com/PennyLaneAI/pennylane-lightning/pull/109)
2635
+
2636
+ ### Contributors
2637
+
2638
+ This release contains contributions from (in alphabetical order):
2639
+
2640
+ Ali Asadi, Christina Lee, Thomas Bromley, Lee James O'Riordan
2641
+
2642
+ ---
2643
+
2644
+ # Release 0.15.1
2645
+
2646
+ ### Bug fixes
2647
+
2648
+ * The PennyLane-Lightning binaries are now built with NumPy 1.19.5, to avoid ABI
2649
+ compatibility issues with the latest NumPy 1.20 release. See
2650
+ [the NumPy release notes](https://numpy.org/doc/stable/release/1.20.0-notes.html#size-of-np-ndarray-and-np-void-changed)
2651
+ for more details.
2652
+ [(#97)](https://github.com/PennyLaneAI/pennylane-lightning/pull/97)
2653
+
2654
+ ### Contributors
2655
+
2656
+ This release contains contributions from (in alphabetical order):
2657
+
2658
+ Josh Izaac, Antal Száva
2659
+
2660
+ ---
2661
+
2662
+ # Release 0.15.0
2663
+
2664
+ ### Improvements
2665
+
2666
+ * For compatibility with PennyLane v0.15, the `analytic` keyword argument
2667
+ has been removed. Statistics can still be computed analytically by setting
2668
+ `shots=None`.
2669
+ [(#93)](https://github.com/PennyLaneAI/pennylane-lightning/pull/93)
2670
+
2671
+ * Inverse gates are now supported.
2672
+ [(#89)](https://github.com/PennyLaneAI/pennylane-lightning/pull/89)
2673
+
2674
+ * Add new lightweight backend with performance improvements.
2675
+ [(#57)](https://github.com/PennyLaneAI/pennylane-lightning/pull/57)
2676
+
2677
+ * Remove the previous Eigen-based backend.
2678
+ [(#67)](https://github.com/PennyLaneAI/pennylane-lightning/pull/67)
2679
+
2680
+ ### Bug fixes
2681
+
2682
+ * Re-add dispatch table after fixing static initialisation order issue.
2683
+ [(#68)](https://github.com/PennyLaneAI/pennylane-lightning/pull/68)
2684
+
2685
+ ### Contributors
2686
+
2687
+ This release contains contributions from (in alphabetical order):
2688
+
2689
+ Thomas Bromley, Theodor Isacsson, Christina Lee, Thomas Loke, Antal Száva.
2690
+
2691
+ ---
2692
+
2693
+ # Release 0.14.1
2694
+
2695
+ ### Bug fixes
2696
+
2697
+ * Fixes a bug where the `QNode` would swap Lightning-Qubit to
2698
+ `DefaultQubitAutograd` on device execution due to the inherited
2699
+ `passthru_devices` entry of the `capabilities` dictionary.
2700
+ [(#61)](https://github.com/PennyLaneAI/pennylane-lightning/pull/61)
2701
+
2702
+ ### Contributors
2703
+
2704
+ This release contains contributions from (in alphabetical order):
2705
+
2706
+ Antal Száva
2707
+
2708
+ ---
2709
+
2710
+ # Release 0.14.0
2711
+
2712
+ ### Improvements
2713
+
2714
+ * Extends support from 16 qubits to 50 qubits.
2715
+ [(#52)](https://github.com/PennyLaneAI/pennylane-lightning/pull/52)
2716
+
2717
+ ### Bug fixes
2718
+
2719
+ * Updates applying basis state preparations to correspond to the
2720
+ changes in `DefaultQubit`.
2721
+ [(#55)](https://github.com/PennyLaneAI/pennylane-lightning/pull/55)
2722
+
2723
+ ### Contributors
2724
+
2725
+ This release contains contributions from (in alphabetical order):
2726
+
2727
+ Thomas Loke, Tom Bromley, Josh Izaac, Antal Száva
2728
+
2729
+ ---
2730
+
2731
+ # Release 0.12.0
2732
+
2733
+ ### Bug fixes
2734
+
2735
+ * Updates capabilities dictionary to be compatible with core PennyLane
2736
+ [(#45)](https://github.com/PennyLaneAI/pennylane-lightning/pull/45)
2737
+
2738
+ * Fix install of Eigen for CI wheel building
2739
+ [(#44)](https://github.com/PennyLaneAI/pennylane-lightning/pull/44)
2740
+
2741
+ ### Contributors
2742
+
2743
+ This release contains contributions from (in alphabetical order):
2744
+
2745
+ Tom Bromley, Josh Izaac, Antal Száva
2746
+
2747
+ ---
2748
+
2749
+ # Release 0.11.0
2750
+
2751
+ Initial release.
2752
+
2753
+ This release contains contributions from (in alphabetical order):
2754
+
2755
+ Tom Bromley, Josh Izaac, Nathan Killoran, Antal Száva