Struct HermitianQuantumOperator¶
Defined in File observable.hpp
Inheritance Relationships¶
Base Type¶
public GeneralQuantumOperator
(Class GeneralQuantumOperator)
Struct Documentation¶
-
struct HermitianQuantumOperator : public GeneralQuantumOperator¶
オブザーバブルの情報を保持するクラス。 PauliOperatorをリストとして持ち, 種々の操作を行う。解放時には保持しているPauliOperatorを全て解放する。
Public Functions
-
virtual void add_operator(const PauliOperator *mpt) override¶
PauliOperatorを内部で保持するリストの末尾に追加する。
- パラメータ
mpt -- [in] 追加するPauliOperatorのインスタンス
-
virtual void add_operator_move(PauliOperator *mpt) override¶
PauliOperatorを内部で保持するリストの末尾に追加する。
- パラメータ
mpt -- [in] 追加するPauliOperatorのインスタンス
-
virtual void add_operator_copy(const PauliOperator *mpt) override¶
PauliOperatorを内部で保持するリストの末尾に追加する。
- パラメータ
mpt -- [in] 追加するPauliOperatorのインスタンス
-
virtual void add_operator(CPPCTYPE coef, std::string pauli_string) override¶
パウリ演算子の文字列と係数の組をオブザーバブルに追加する。
- パラメータ
coef -- [in] pauli_stringで作られるPauliOperatorの係数
pauli_string -- [in] パウリ演算子と掛かるindexの組からなる文字列。(example: "X 1 Y 2 Z 5")
-
virtual CPPCTYPE get_expectation_value(const QuantumStateBase *state) const override¶
HermitianQuantumOperatorのある量子状態に対応するエネルギー(期待値)を計算して返す
- パラメータ
state -- [in] 期待値をとるときの量子状態
- 戻り値
入力で与えた量子状態に対応するHermitianQuantumOperatorの期待値
-
CPPCTYPE solve_ground_state_eigenvalue_by_lanczos_method(QuantumStateBase *init_state, const UINT iter_count, const CPPCTYPE mu = 0.0) const¶
GeneralQuantumOperator の基底状態の固有値を lanczos method により求める (A - I) の絶対値最大固有値を求めることで基底状態の固有値を求める.
- パラメータ
init_state -- [in] 固有値を求めるための量子状態
iter_count -- [in] 計算の繰り返し回数
mu -- [in] 固有値をシフトするための係数
- 戻り値
GeneralQuantumOperator の基底状態の固有値
-
inline virtual HermitianQuantumOperator *copy() const override¶
自身のディープコピーを生成する
- 戻り値
自身のディープコピー
-
virtual std::string to_string() const override¶
文字列に変換する。
-
virtual void add_operator(const PauliOperator *mpt) override¶