Class QuantumGateBase¶
Defined in File gate.hpp
Inheritance Relationships¶
Derived Types¶
public ClsNoisyEvolution
(Class ClsNoisyEvolution)public ClsNoisyEvolution_auto
(Class ClsNoisyEvolution_auto)public ClsNoisyEvolution_fast
(Class ClsNoisyEvolution_fast)public ClsNpairQubitGate
(Class ClsNpairQubitGate)public ClsOneControlOneTargetGate
(Class ClsOneControlOneTargetGate)public ClsOneQubitGate
(Class ClsOneQubitGate)public ClsOneQubitRotationGate
(Class ClsOneQubitRotationGate)public ClsPauliGate
(Class ClsPauliGate)public ClsPauliRotationGate
(Class ClsPauliRotationGate)public ClsReversibleBooleanGate
(Class ClsReversibleBooleanGate)public ClsStateReflectionGate
(Class ClsStateReflectionGate)public ClsTwoQubitGate
(Class ClsTwoQubitGate)public QuantumGate_Adaptive
(Class QuantumGate_Adaptive)public QuantumGate_CP
(Class QuantumGate_CP)public QuantumGate_CPTP
(Class QuantumGate_CPTP)public QuantumGate_Probabilistic
(Class QuantumGate_Probabilistic)public QuantumGate_SingleParameter
(Class QuantumGate_SingleParameter)public QuantumGateDiagonalMatrix
(Class QuantumGateDiagonalMatrix)public QuantumGateMatrix
(Class QuantumGateMatrix)public QuantumGateSparseMatrix
(Class QuantumGateSparseMatrix)
Class Documentation¶
-
class QuantumGateBase¶
Subclassed by ClsNoisyEvolution, ClsNoisyEvolution_auto, ClsNoisyEvolution_fast, ClsNpairQubitGate, ClsOneControlOneTargetGate, ClsOneQubitGate, ClsOneQubitRotationGate, ClsPauliGate, ClsPauliRotationGate, ClsReversibleBooleanGate, ClsStateReflectionGate, ClsTwoQubitGate, QuantumGate_Adaptive, QuantumGate_CP, QuantumGate_CPTP, QuantumGate_Probabilistic, QuantumGate_SingleParameter, QuantumGateDiagonalMatrix, QuantumGateMatrix, QuantumGateSparseMatrix
Public Functions
-
inline virtual ~QuantumGateBase()¶
-
inline std::vector<UINT> get_target_index_list() const¶
-
inline std::vector<UINT> get_control_index_list() const¶
-
inline std::vector<UINT> get_control_value_list() const¶
-
inline std::vector<std::pair<UINT, UINT>> get_control_index_value_list() const¶
-
virtual void update_quantum_state(QuantumStateBase *state) = 0¶
-
virtual QuantumGateBase *copy() const = 0¶
-
virtual void set_matrix(ComplexMatrix &matrix) const = 0¶
-
bool is_commute(const QuantumGateBase *gate) const¶
-
bool is_Pauli() const¶
-
bool is_Clifford() const¶
-
bool is_Gaussian() const¶
-
bool is_parametric() const¶
-
bool is_diagonal() const¶
-
UINT get_property_value() const¶
-
bool commute_Pauli_at(UINT qubit_index, UINT pauli_type) const¶
-
virtual std::string get_name() const¶
-
virtual std::string to_string() const¶
-
virtual boost::property_tree::ptree to_ptree() const¶
japanese-en ptreeに変換する
- Returns:
ptree
-
inline virtual bool is_noise()¶
-
inline virtual void set_seed(int)¶
-
inline void set_target_index_list(const std::vector<UINT> &target_index_list)¶
-
inline void set_control_index_list(const std::vector<UINT> &control_index_list)¶
-
virtual QuantumGateBase *get_inverse(void) const¶
Public Members
-
std::vector<TargetQubitInfo> &target_qubit_list¶
ターゲット量子ビットのリスト
-
std::vector<ControlQubitInfo> &control_qubit_list¶
コントロール量子ビットのリスト
Protected Functions
-
inline QuantumGateBase()¶
-
inline QuantumGateBase(const QuantumGateBase &obj)¶
-
QuantumGateBase &operator=(const QuantumGateBase &rhs) = delete¶
Protected Attributes
-
std::vector<TargetQubitInfo> _target_qubit_list¶
-
std::vector<ControlQubitInfo> _control_qubit_list¶
-
UINT _gate_property = 0¶
-
std::string _name = "Generic gate"¶
Friends
-
friend std::ostream &operator<<(std::ostream &os, const QuantumGateBase&)¶
-
friend std::ostream &operator<<(std::ostream &os, const QuantumGateBase *gate)¶
-
inline virtual ~QuantumGateBase()¶