Struct HermitianQuantumOperator

Inheritance Relationships

Base Type

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

文字列に変換する。