Template Struct ApplyControlledPhaseShift¶
Defined in File ApplyControlledPhaseShift.hpp
Struct Documentation¶
-
template<typename PrecisionT, std::size_t packed_size>
struct ApplyControlledPhaseShift¶ Public Types
-
using PrecisionAVXConcept = typename AVXConcept<PrecisionT, packed_size>::Type¶
-
using Precision = PrecisionT¶
Public Static Functions
-
template<std::size_t rev_wire0, std::size_t rev_wire1>
static inline consteval auto applyInternalInternalPermutation()¶ Permutation applying imaginary
i
to |11>
-
template<std::size_t rev_wire0, std::size_t rev_wire1, class ParamT>
static inline void applyInternalInternal(std::complex<PrecisionT> *arr, std::size_t num_qubits, bool inverse, ParamT angle)¶
-
template<std::size_t min_rev_wire>
static inline consteval auto applyInternalExternalPermutation()¶ Permutation applying product
i
when the target bit is 1.
-
template<std::size_t min_rev_wire, class ParamT>
static inline void applyInternalExternal(std::complex<PrecisionT> *arr, std::size_t num_qubits, std::size_t max_rev_wire, bool inverse, ParamT angle)¶
-
template<class ParamT>
static inline void applyExternalExternal(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::size_t rev_wire0, const std::size_t rev_wire1, bool inverse, ParamT angle)¶
Public Static Attributes
-
static constexpr auto perm = Permutation::compilePermutation<PrecisionT>(Permutation::swapRealImag(Permutation::identity<packed_size>()))¶
-
static constexpr std::size_t packed_size_ = packed_size¶
-
static constexpr bool symmetric = true¶
-
using PrecisionAVXConcept = typename AVXConcept<PrecisionT, packed_size>::Type¶
api/structPennylane_1_1LightningQubit_1_1Gates_1_1AVXCommon_1_1ApplyControlledPhaseShift
Download Python script
Download Notebook
View on GitHub