Class ClsPauliGate

Inheritance Relationships

Base Type

Class Documentation

class ClsPauliGate : public QuantumGateBase

複数の量子ビットに作用するPauli演算子を作用させるゲート

Public Functions

inline explicit ClsPauliGate(PauliOperator *pauli)

コンストラクタ

使用したパウリ演算子はクラスにて解放される

パラメータ:

pauli -- 作用させるパウリ演算子

inline virtual ~ClsPauliGate()

デストラクタ

inline virtual void update_quantum_state(QuantumStateBase *state) override

量子状態を更新する

パラメータ:

state -- 更新する量子状態

inline virtual ClsPauliGate *copy() const override

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

戻り値:

自身のディープコピー

inline virtual void set_matrix(ComplexMatrix &matrix) const override

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

パラメータ:

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

inline virtual boost::property_tree::ptree to_ptree() const override

ptreeに変換する

戻り値:

ptree

inline virtual QuantumGateBase *create_gate_whose_qubit_indices_are_replaced(const std::vector<UINT> &target_index_list, const std::vector<UINT> &control_index_list) const override

target, controlを置き換えた新しいゲートを作成

get_target_index_list, get_control_index_listで出力される順番の量子ビットが新しいものに置き換わる

inline virtual QuantumGateBase *get_inverse() const override

Protected Attributes

PauliOperator *_pauli