Class QuantumCircuitSimulator¶
Defined in File simulator.hpp
Inheritance Relationships¶
Derived Type¶
public ParametricQuantumCircuitSimulator
(Class ParametricQuantumCircuitSimulator)
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¶
現在の量子状態のポインタを取得する
- 戻り値
量子状態のポインタ
-
explicit QuantumCircuitSimulator(QuantumCircuit *circuit, QuantumStateBase *initial_state = NULL)¶