Class QuantumGate_CPTP

Inheritance Relationships

Base Type

Class Documentation

class QuantumGate_CPTP : public QuantumGateBase

Kraus表現のCPTP-map

Public Functions

inline explicit QuantumGate_CPTP(std::vector<QuantumGateBase*> gate_list)
inline explicit QuantumGate_CPTP(std::vector<QuantumGateBase*> gate_list, UINT classical_register_address)
inline virtual ~QuantumGate_CPTP()
inline virtual void update_quantum_state(QuantumStateBase *state) override

量子状態を更新する

パラメータ

state -- 更新する量子状態

inline virtual QuantumGate_CPTP *copy() const override

自身のディープコピーを生成する

戻り値

自身のディープコピー

inline virtual void set_matrix(ComplexMatrix &matrix) const override

自身のゲート行列をセットする

パラメータ

matrix -- 行列をセットする変数の参照

Protected Attributes

Random random
std::vector<QuantumGateBase*> _gate_list
bool is_instrument
UINT _classical_register_address