Template Class GateImplementationsAVXCommon¶
Defined in File GateImplementationsAVXCommon.hpp
Inheritance Relationships¶
Base Type¶
public Pennylane::LightningQubit::Gates::PauliGenerator< GateImplementationsAVXCommon< Derived > >
(Template Class PauliGenerator)
Class Documentation¶
-
template<class Derived>
class GateImplementationsAVXCommon : public Pennylane::LightningQubit::Gates::PauliGenerator<GateImplementationsAVXCommon<Derived>>¶ Public Static Functions
-
template<class PrecisionT>
static inline void applyPauliX(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse)¶
-
template<class PrecisionT>
static inline void applyPauliY(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse)¶
-
template<class PrecisionT>
static inline void applyPauliZ(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse)¶
-
template<class PrecisionT>
static inline void applyS(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse)¶
-
template<class PrecisionT>
static inline void applyT(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyPhaseShift(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, bool inverse, ParamT angle)¶
-
template<class PrecisionT>
static inline void applyHadamard(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyRX(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, bool inverse, ParamT angle)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyRY(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, bool inverse, ParamT angle)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyRZ(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, bool inverse, ParamT angle)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyRot(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, bool inverse, ParamT phi, ParamT theta, ParamT omega)¶
-
template<class PrecisionT>
static inline void applyCZ(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse)¶
-
template<class PrecisionT>
static inline void applyCY(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse)¶
-
template<class PrecisionT>
static inline void applySWAP(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse)¶
-
template<class PrecisionT>
static inline void applyCNOT(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyIsingXX(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse, ParamT angle)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyIsingXY(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse, ParamT angle)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyIsingYY(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse, ParamT angle)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyIsingZZ(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse, ParamT angle)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyControlledPhaseShift(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse, ParamT angle)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyCRX(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, bool inverse, ParamT angle)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyCRY(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, bool inverse, ParamT angle)¶
-
template<class PrecisionT, class ParamT = PrecisionT>
static inline void applyCRZ(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, bool inverse, ParamT angle)¶
-
template<class PrecisionT>
static inline auto applyGeneratorPhaseShift(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse) -> PrecisionT¶
-
template<class PrecisionT>
static inline auto applyGeneratorIsingXX(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse) -> PrecisionT¶
-
template<class PrecisionT>
static inline auto applyGeneratorIsingYY(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse) -> PrecisionT¶
-
template<class PrecisionT>
static inline auto applyGeneratorIsingZZ(std::complex<PrecisionT> *arr, const std::size_t num_qubits, const std::vector<std::size_t> &wires, [[maybe_unused]] bool inverse) -> PrecisionT¶
Public Static Attributes
-
static constexpr std::array implemented_gates = {GateOperation::PauliX, GateOperation::PauliY, GateOperation::PauliZ, GateOperation::Hadamard, GateOperation::S, GateOperation::T, GateOperation::PhaseShift, GateOperation::RX, GateOperation::RY, GateOperation::RZ, GateOperation::Rot, GateOperation::CNOT, GateOperation::CZ, GateOperation::SWAP, GateOperation::IsingXX, GateOperation::IsingYY, GateOperation::IsingZZ, GateOperation::CY, GateOperation::IsingXY, GateOperation::ControlledPhaseShift, GateOperation::CRY, GateOperation::CRZ, GateOperation::CRX,}¶
-
static constexpr std::array implemented_generators = {GeneratorOperation::PhaseShift, GeneratorOperation::RX, GeneratorOperation::RY, GeneratorOperation::RZ, GeneratorOperation::IsingXX, GeneratorOperation::IsingYY, GeneratorOperation::IsingZZ,}¶
-
static constexpr std::array<ControlledGateOperation, 0> implemented_controlled_gates = {}¶
-
static constexpr std::array<ControlledGeneratorOperation, 0> implemented_controlled_generators = {}¶
-
static constexpr std::array<ControlledMatrixOperation, 0> implemented_controlled_matrices = {}¶
-
template<class PrecisionT>
api/classPennylane_1_1LightningQubit_1_1Gates_1_1GateImplementationsAVXCommon
Download Python script
Download Notebook
View on GitHub