Template Class GateImplementationsAVXCommon

Inheritance Relationships

Base Type

Class Documentation

template<class Derived>
class GateImplementationsAVXCommon : public Pennylane::Gates::PauliGenerator<GateImplementationsAVXCommon<Derived>>

Public Static Functions

template<class PrecisionT>
static inline void applyPauliX(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse)
template<class PrecisionT>
static inline void applyPauliY(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse)
template<class PrecisionT>
static inline void applyPauliZ(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse)
template<class PrecisionT>
static inline void applyS(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse)
template<class PrecisionT>
static inline void applyT(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse)
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyPhaseShift(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, bool inverse, ParamT angle)
template<class PrecisionT>
static inline void applyHadamard(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse)
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyRX(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, bool inverse, ParamT angle)
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyRY(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, bool inverse, ParamT angle)
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyRZ(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, bool inverse, ParamT angle)
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyRot(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, bool inverse, ParamT phi, ParamT theta, ParamT omega)
template<class PrecisionT>
static inline void applyCZ(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse)
template<class PrecisionT>
static inline void applySWAP(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse)
template<class PrecisionT>
static inline void applyCNOT(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse)
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyIsingXX(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse, ParamT angle)
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyIsingYY(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse, ParamT angle)
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyIsingZZ(std::complex<PrecisionT> *arr, const size_t num_qubits, const std::vector<size_t> &wires, [[maybe_unused]] bool inverse, ParamT angle)