Class ClsOneControlOneTargetGate

Inheritance Relationships

Base Type

Class Documentation

class ClsOneControlOneTargetGate : public QuantumGateBase

1量子ビットを対象とし1量子ビットにコントロールされる回転角固定のゲートのクラス

Public Functions

inline explicit ClsOneControlOneTargetGate()
inline virtual void update_quantum_state(QuantumStateBase *state) override

量子状態を更新する

パラメータ

state -- 更新する量子状態

inline virtual ClsOneControlOneTargetGate *copy() const override

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

戻り値

自身のディープコピー

inline virtual void set_matrix(ComplexMatrix &matrix) const override

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

パラメータ

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

inline void CNOTGateinit(UINT control_qubit_index, UINT target_qubit_index)
inline void CZGateinit(UINT control_qubit_index, UINT target_qubit_index)
inline virtual ClsOneControlOneTargetGate *get_inverse(void) const override

Protected Types

using UpdateFunc = void (*)(UINT, UINT, CTYPE*, ITYPE)
using UpdateFuncGpu = void (*)(UINT, UINT, void*, ITYPE, void*, UINT)

Protected Attributes

UpdateFunc _update_func
UpdateFunc _update_func_dm
UpdateFuncGpu _update_func_gpu
ComplexMatrix _matrix_element