Class QuantumGateDiagonalMatrix

Inheritance Relationships

Base Type

Class Documentation

class QuantumGateDiagonalMatrix : public QuantumGateBase

Public Functions

QuantumGateDiagonalMatrix(const std::vector<UINT> &target_qubit_index_list, const ComplexVector &matrix_element, const std::vector<UINT> &control_qubit_index_list = {})
QuantumGateDiagonalMatrix(const std::vector<UINT> &target_qubit_index_list, ComplexVector *matrix_element, const std::vector<UINT> &control_qubit_index_list = {})
QuantumGateDiagonalMatrix(const std::vector<TargetQubitInfo> &target_qubit_index_list, const ComplexVector &matrix_element, const std::vector<ControlQubitInfo> &control_qubit_index_list = {})
QuantumGateDiagonalMatrix(const std::vector<TargetQubitInfo> &target_qubit_index_list, ComplexVector *matrix_element, const std::vector<ControlQubitInfo> &control_qubit_index_list = {})
inline virtual ~QuantumGateDiagonalMatrix()
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 QuantumGateDiagonalMatrix *copy() const override
inline virtual QuantumGateDiagonalMatrix *get_inverse(void) 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 QuantumGateDiagonalMatrix &gate)
friend std::ostream &operator<<(std::ostream &os, QuantumGateDiagonalMatrix *gate)