Class QuantumGateSparseMatrix

Inheritance Relationships

Base Type

Class Documentation

class QuantumGateSparseMatrix : public QuantumGateBase

Public Functions

QuantumGateSparseMatrix(const std::vector<UINT> &target_qubit_index_list, const SparseComplexMatrix &matrix_element, const std::vector<UINT> &control_qubit_index_list = {})
QuantumGateSparseMatrix(const std::vector<UINT> &target_qubit_index_list, SparseComplexMatrix *matrix_element, const std::vector<UINT> &control_qubit_index_list = {})
QuantumGateSparseMatrix(const std::vector<TargetQubitInfo> &target_qubit_index_list, const SparseComplexMatrix &matrix_element, const std::vector<ControlQubitInfo> &control_qubit_index_list = {})
QuantumGateSparseMatrix(const std::vector<TargetQubitInfo> &target_qubit_index_list, SparseComplexMatrix *matrix_element, const std::vector<ControlQubitInfo> &control_qubit_index_list = {})
inline virtual ~QuantumGateSparseMatrix()
virtual void add_control_qubit(UINT qubit_index, UINT control_value)
inline virtual void multiply_scalar(CPPCTYPE value)
inline virtual void set_gate_property(UINT gate_property_)
virtual void update_quantum_state(QuantumStateBase *state) override
inline virtual QuantumGateSparseMatrix *copy() const override
inline virtual void set_matrix(ComplexMatrix &matrix) const override
virtual std::string to_string() const override

Friends

friend std::ostream &operator<<(std::ostream &os, const QuantumGateSparseMatrix &gate)
friend std::ostream &operator<<(std::ostream &os, QuantumGateSparseMatrix *gate)