Class ClsPauliRotationGate¶
Defined in File gate_named_pauli.hpp
Inheritance Relationships¶
Base Type¶
public QuantumGateBase(Class QuantumGateBase)
Class Documentation¶
-
class ClsPauliRotationGate : public QuantumGateBase¶
複数の量子ビットに作用するPauli演算子で回転するゲート
Public Functions
-
inline ClsPauliRotationGate(double angle, PauliOperator *pauli)¶
コンストラクタ
使用したパウリ演算子はクラスにて解放される
- パラメータ:
angle -- 回転角
pauli -- 作用させるパウリ演算子
-
inline virtual ~ClsPauliRotationGate()¶
デストラクタ
-
inline virtual void update_quantum_state(QuantumStateBase *state) override¶
量子状態を更新する
- パラメータ:
state -- 更新する量子状態
-
inline virtual ClsPauliRotationGate *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 ClsPauliRotationGate *get_inverse(void) const override¶
-
inline ClsPauliRotationGate(double angle, PauliOperator *pauli)¶