Class ClsPauliGate¶
Defined in File gate_named_pauli.hpp
Inheritance Relationships¶
Base Type¶
public QuantumGateBase(Class QuantumGateBase)
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¶
-
inline explicit ClsPauliGate(PauliOperator *pauli)¶