Class QuantumCircuitSimulator

Inheritance Relationships

Derived Type

Class Documentation

class QuantumCircuitSimulator

量子回路をシミュレートするためのクラス

Subclassed by ParametricQuantumCircuitSimulator

Public Functions

explicit QuantumCircuitSimulator(QuantumCircuit *circuit, QuantumStateBase *initial_state = NULL)

コンストラクタ

パラメータ
  • circuit -- シミュレートする量子回路

  • initial_state -- 初期量子状態。デフォルト値はNULLで、NULLの場合は0状態に初期化される。

~QuantumCircuitSimulator()

デストラクタ

void initialize_state(ITYPE computationl_basis = 0)

量子状態を計算基底に初期化する

パラメータ

computationl_basis -- 初期化する計算基底を二進数にした値

void initialize_random_state()

ランダムな量子状態に初期化する。

パラメータ

seed -- 乱数のシード値

void initialize_random_state(UINT seed)
void simulate()

量子回路全体シミュレートする。

void simulate_range(UINT start, UINT end)

量子回路をstartからendまでの区間シミュレートする

パラメータ
  • start -- シミュレートを開始する添え字

  • end -- シミュレートを終了する添え字

CPPCTYPE get_expectation_value(const Observable *observable)

現在の量子状態の受け取ったオブザーバブルの期待値を計算する。

パラメータ

observable -- オブザーバブル

戻り値

期待値

UINT get_gate_count()

量子回路中のゲートの数を取得する

戻り値

ゲートの数

void copy_state_to_buffer()

量子状態をバッファへコピーする

void copy_state_from_buffer()

バッファの量子状態を現在の量子状態へコピーする

void swap_state_and_buffer()

現在の量子状態をバッファと交換する

inline const QuantumStateBase *get_state_ptr() const

現在の量子状態のポインタを取得する

戻り値

量子状態のポインタ