Observable Struct Reference

#include <observable.hpp>

Public Member Functions

 Observable (UINT qubit_count)
 
virtual ~Observable ()
 
void add_operator (const PauliOperator *mpt)
 
void add_operator (double coef, std::string pauli_string)
 
UINT get_qubit_count () const
 
ITYPE get_state_dim () const
 
UINT get_term_count () const
 
const PauliOperatorget_term (UINT index) const
 
std::vector< PauliOperator * > get_terms () const
 
double get_expectation_value (const QuantumStateBase *state) const
 
CPPCTYPE get_transition_amplitude (const QuantumStateBase *state_bra, const QuantumStateBase *state_ket) const
 

Detailed Description

オブザーバブルの情報を保持するクラス。 PauliOperatorをリストとして持ち, 種々の操作を行う。解放時には保持しているPauliOperatorを全て解放する。

Constructor & Destructor Documentation

◆ Observable()

Observable::Observable ( UINT  qubit_count)

コンストラクタ。

空のオブザーバブルを作成する。

Parameters
[in]qubit_countqubit数
Returns
Observableのインスタンス

◆ ~Observable()

Observable::~Observable ( )
virtual

デストラクタ。このとき、オブザーバブルが保持しているPauliOperatorは解放される。

Member Function Documentation

◆ add_operator() [1/2]

void Observable::add_operator ( const PauliOperator mpt)

PauliOperatorを内部で保持するリストの末尾に追加する。

Parameters
[in]mpt追加するPauliOperatorのインスタンス

◆ add_operator() [2/2]

void Observable::add_operator ( double  coef,
std::string  pauli_string 
)

パウリ演算子の文字列と係数の組をオブザーバブルに追加する。

Parameters
[in]coefpauli_stringで作られるPauliOperatorの係数
[in]pauli_stringパウリ演算子と掛かるindexの組からなる文字列。(example: "X 1 Y 2 Z 5")

◆ get_expectation_value()

double Observable::get_expectation_value ( const QuantumStateBase state) const

オブザーバブルのある量子状態に対応するエネルギー(期待値)を計算して返す

Parameters
[in]state期待値をとるときの量子状態
Returns
入力で与えた量子状態に対応するオブザーバブルの期待値

◆ get_qubit_count()

UINT Observable::get_qubit_count ( ) const
inline

オブザーバブルが掛かるqubit数を返す。

Returns
オブザーバブルのqubit数

◆ get_state_dim()

ITYPE Observable::get_state_dim ( ) const
inline

オブザーバブルの行列表現の次元を返す。

Returns
オブザーバブルの次元

◆ get_term()

const PauliOperator* Observable::get_term ( UINT  index) const
inline

オブザーバブルの指定した添字に対応するPauliOperatorを返す

Parameters
[in]indexオブザーバブルが保持するPauliOperatorのリストの添字
Returns
指定したindexにあるPauliOperator

◆ get_term_count()

UINT Observable::get_term_count ( ) const
inline

オブザーバブルが保持するPauliOperatorの数を返す

Returns
オブザーバブルが保持するPauliOperatorの数

◆ get_terms()

std::vector<PauliOperator*> Observable::get_terms ( ) const
inline

オブザーバブルが保持するPauliOperatorのリストを返す

Returns
オブザーバブルが持つPauliOperatorのリスト

◆ get_transition_amplitude()

CPPCTYPE Observable::get_transition_amplitude ( const QuantumStateBase state_bra,
const QuantumStateBase state_ket 
) const

オブザーバブルによってある状態が別の状態に移る遷移振幅を計算して返す

Parameters
[in]state_bra遷移先の量子状態
[in]state_ket遷移前の量子状態
Returns
入力で与えた量子状態に対応するオブザーバブルの遷移振幅

The documentation for this struct was generated from the following files: