Template Struct NCMultiQubitOpFunctor

Struct Documentation

template<class Precision>
struct NCMultiQubitOpFunctor

Public Types

using KokkosComplexVector = Kokkos::View<Kokkos::complex<Precision>*>
using KokkosIntVector = Kokkos::View<std::size_t*>
using ScratchViewComplex = Kokkos::View<Kokkos::complex<Precision>*, Kokkos::DefaultExecutionSpace::scratch_memory_space, Kokkos::MemoryTraits<Kokkos::Unmanaged>>
using ScratchViewSizeT = Kokkos::View<std::size_t*, Kokkos::DefaultExecutionSpace::scratch_memory_space, Kokkos::MemoryTraits<Kokkos::Unmanaged>>
using MemberType = Kokkos::TeamPolicy<>::member_type

Public Functions

inline NCMultiQubitOpFunctor(KokkosComplexVector arr_, std::size_t num_qubits_, const KokkosComplexVector &matrix_, const std::vector<std::size_t> &controlled_wires_, const std::vector<bool> &controlled_values_, const std::vector<std::size_t> &wires_)
inline KOKKOS_INLINE_FUNCTION void operator() (const MemberType &teamMember) const

Public Members

KokkosComplexVector arr
KokkosComplexVector matrix
KokkosIntVector indices
KokkosIntVector parity
KokkosIntVector rev_wires
KokkosIntVector rev_wire_shifts
std::size_t dim
std::size_t num_qubits