GeneralQuantumOperator Class Reference

#include <general_quantum_operator.hpp>

Inheritance diagram for GeneralQuantumOperator:
HermitianQuantumOperator

Public Member Functions

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

Constructor & Destructor Documentation

◆ GeneralQuantumOperator()

GeneralQuantumOperator::GeneralQuantumOperator ( UINT  qubit_count)

コンストラクタ。

空のGeneralQuantumOperatorを作成する。

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

◆ ~GeneralQuantumOperator()

GeneralQuantumOperator::~GeneralQuantumOperator ( )
virtual

デストラクタ。このとき、GeneralQuantumOperatorが保持しているPauliOperatorは解放される。

Member Function Documentation

◆ add_operator() [1/2]

void GeneralQuantumOperator::add_operator ( const PauliOperator mpt)
virtual

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

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

Reimplemented in HermitianQuantumOperator.

◆ add_operator() [2/2]

void GeneralQuantumOperator::add_operator ( CPPCTYPE  coef,
std::string  pauli_string 
)
virtual

パウリ演算子の文字列と係数の組をGeneralQuantumOperatorに追加する。

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

Reimplemented in HermitianQuantumOperator.

◆ get_expectation_value()

CPPCTYPE GeneralQuantumOperator::get_expectation_value ( const QuantumStateBase state) const
virtual

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

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

Reimplemented in HermitianQuantumOperator.

◆ get_qubit_count()

virtual UINT GeneralQuantumOperator::get_qubit_count ( ) const
inlinevirtual

GeneralQuantumOperatorが掛かるqubit数を返す。

Returns
GeneralQuantumOperatorのqubit数

◆ get_state_dim()

virtual ITYPE GeneralQuantumOperator::get_state_dim ( ) const
inlinevirtual

GeneralQuantumOperatorの行列表現の次元を返す。

Returns
GeneralQuantumOperatorの次元

◆ get_term()

virtual const PauliOperator* GeneralQuantumOperator::get_term ( UINT  index) const
inlinevirtual

GeneralQuantumOperatorの指定した添字に対応するPauliOperatorを返す

Parameters
[in]indexGeneralQuantumOperatorが保持するPauliOperatorのリストの添字
Returns
指定したindexにあるPauliOperator

◆ get_term_count()

virtual UINT GeneralQuantumOperator::get_term_count ( ) const
inlinevirtual

GeneralQuantumOperatorが保持するPauliOperatorの数を返す

Returns
GeneralQuantumOperatorが保持するPauliOperatorの数

◆ get_terms()

virtual std::vector<PauliOperator*> GeneralQuantumOperator::get_terms ( ) const
inlinevirtual

GeneralQuantumOperatorが保持するPauliOperatorのリストを返す

Returns
GeneralQuantumOperatorが持つPauliOperatorのリスト

◆ get_transition_amplitude()

CPPCTYPE GeneralQuantumOperator::get_transition_amplitude ( const QuantumStateBase state_bra,
const QuantumStateBase state_ket 
) const
virtual

GeneralQuantumOperatorによってある状態が別の状態に移る遷移振幅を計算して返す

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

◆ is_hermitian()

virtual bool GeneralQuantumOperator::is_hermitian ( ) const
inlinevirtual

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

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

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