Template Struct getExpVal2QubitOpFunctor

Struct Documentation

template<class PrecisionT>
struct getExpVal2QubitOpFunctor

Public Types

using ComplexT = Kokkos::complex<PrecisionT>
using KokkosComplexVector = Kokkos::View<ComplexT*>
using KokkosIntVector = Kokkos::View<std::size_t*>

Public Functions

inline getExpVal2QubitOpFunctor(const KokkosComplexVector &arr_, const std::size_t num_qubits_, const KokkosComplexVector &matrix_, [[maybe_unused]] const std::vector<std::size_t> &wires_)
inline KOKKOS_INLINE_FUNCTION void operator() (const std::size_t k, PrecisionT &expval) const

Public Members

KokkosComplexVector arr
KokkosComplexVector matrix
const std::size_t n_wires = 2
const std::size_t dim = one << n_wires
std::size_t num_qubits
std::size_t rev_wire0
std::size_t rev_wire1
std::size_t rev_wire0_shift
std::size_t rev_wire1_shift
std::size_t rev_wire_min
std::size_t rev_wire_max
std::size_t parity_low
std::size_t parity_high
std::size_t parity_middle