diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index ce5fd5f876..ea6c80f959 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -23,6 +23,9 @@ ### Improvements +* Reverse Lightning Qubit generators vector insertion order. + [(#1009)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1009) + * Update Kokkos version support to 4.4.1 and enable Lightning-Kokkos[CUDA] C++ tests on CI. [(#1000)](https://github.com/PennyLaneAI/pennylane-lightning/pull/1000) diff --git a/pennylane_lightning/core/_version.py b/pennylane_lightning/core/_version.py index 3d1e53b61d..b5998abeb7 100644 --- a/pennylane_lightning/core/_version.py +++ b/pennylane_lightning/core/_version.py @@ -16,4 +16,4 @@ Version number (major.minor.patch[-label]) """ -__version__ = "0.40.0-dev18" +__version__ = "0.40.0-dev19" diff --git a/pennylane_lightning/core/src/simulators/lightning_qubit/gates/cpu_kernels/GateImplementationsLM.hpp b/pennylane_lightning/core/src/simulators/lightning_qubit/gates/cpu_kernels/GateImplementationsLM.hpp index 16ad66e4e7..5dd0b7ec3b 100644 --- a/pennylane_lightning/core/src/simulators/lightning_qubit/gates/cpu_kernels/GateImplementationsLM.hpp +++ b/pennylane_lightning/core/src/simulators/lightning_qubit/gates/cpu_kernels/GateImplementationsLM.hpp @@ -1946,9 +1946,10 @@ class GateImplementationsLM : public PauliGenerator { std::vector all_wires; all_wires.reserve(nw_tot); - all_wires.insert(all_wires.begin(), wires.begin(), wires.end()); all_wires.insert(all_wires.begin(), controlled_wires.begin(), controlled_wires.end()); + all_wires.insert(all_wires.begin() + n_contr, wires.begin(), + wires.end()); const auto revs = reverseWires(num_qubits, all_wires, {}); const auto &rev_wires = revs.first; const std::vector parity = @@ -2166,9 +2167,10 @@ class GateImplementationsLM : public PauliGenerator { std::vector all_wires; all_wires.reserve(nw_tot); - all_wires.insert(all_wires.begin(), wires.begin(), wires.end()); all_wires.insert(all_wires.begin(), controlled_wires.begin(), controlled_wires.end()); + all_wires.insert(all_wires.begin() + n_contr, wires.begin(), + wires.end()); const auto revs = reverseWires(num_qubits, all_wires, {}); const auto &rev_wires = revs.first; const std::vector parity = @@ -2448,9 +2450,10 @@ class GateImplementationsLM : public PauliGenerator { std::vector all_wires; all_wires.reserve(nw_tot); - all_wires.insert(all_wires.begin(), wires.begin(), wires.end()); all_wires.insert(all_wires.begin(), controlled_wires.begin(), controlled_wires.end()); + all_wires.insert(all_wires.begin() + n_contr, wires.begin(), + wires.end()); const auto revs = reverseWires(num_qubits, all_wires, {}); const auto &rev_wires = revs.first; const std::vector parity =