QuantumCircuitSimulator Class Reference

#include <simulator.hpp>

Public Member Functions

 QuantumCircuitSimulator (QuantumCircuit *circuit, QuantumStateBase *initial_state=NULL)
 
 ~QuantumCircuitSimulator ()
 
void initialize_state (ITYPE computationl_basis=0)
 
void initialize_random_state ()
 
void simulate ()
 
void simulate_range (UINT start, UINT end)
 
double get_expectation_value (const Observable *observable)
 
UINT get_gate_count ()
 
void copy_state_to_buffer ()
 
void copy_state_from_buffer ()
 
void swap_state_and_buffer ()
 
const QuantumStateBaseget_state_ptr () const
 

Detailed Description

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

Constructor & Destructor Documentation

◆ QuantumCircuitSimulator()

QuantumCircuitSimulator::QuantumCircuitSimulator ( QuantumCircuit circuit,
QuantumStateBase initial_state = NULL 
)

コンストラクタ

Parameters
circuitシミュレートする量子回路
initial_state初期量子状態。デフォルト値はNULLで、NULLの場合は0状態に初期化される。

◆ ~QuantumCircuitSimulator()

QuantumCircuitSimulator::~QuantumCircuitSimulator ( )

デストラクタ

Member Function Documentation

◆ copy_state_from_buffer()

void QuantumCircuitSimulator::copy_state_from_buffer ( )

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

◆ copy_state_to_buffer()

void QuantumCircuitSimulator::copy_state_to_buffer ( )

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

◆ get_expectation_value()

double QuantumCircuitSimulator::get_expectation_value ( const Observable observable)

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

Parameters
observableオブザーバブル
Returns
期待値

◆ get_gate_count()

UINT QuantumCircuitSimulator::get_gate_count ( )

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

Returns
ゲートの数

◆ get_state_ptr()

const QuantumStateBase* QuantumCircuitSimulator::get_state_ptr ( ) const
inline

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

Returns
量子状態のポインタ

◆ initialize_random_state()

void QuantumCircuitSimulator::initialize_random_state ( )

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

◆ initialize_state()

void QuantumCircuitSimulator::initialize_state ( ITYPE  computationl_basis = 0)

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

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

◆ simulate()

void QuantumCircuitSimulator::simulate ( )

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

◆ simulate_range()

void QuantumCircuitSimulator::simulate_range ( UINT  start,
UINT  end 
)

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

Parameters
startシミュレートを開始する添え字
endシミュレートを終了する添え字

◆ swap_state_and_buffer()

void QuantumCircuitSimulator::swap_state_and_buffer ( )

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


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