Class QubitTable¶
Defined in File qubit_table.hpp
Class Documentation¶
-
class QubitTable¶
量子ビットの順序を管理するためのクラス
Public Functions
-
explicit QubitTable(UINT qubit_count)¶
コンストラクタ
- パラメータ:
qubit_count -- [in] 量子ビットの数
-
QubitTable(const QubitTable &qt)¶
コンストラクタ
- パラメータ:
qt -- [in] 量子ビットテーブル
-
void rewrite_gate_qubit_indexes(QuantumGateBase *g) const¶
量子ゲートの量子ビットの添え字を書き換える
- パラメータ:
g -- [inout] 書き換える量子ゲート
-
UINT add_swap_gate(QuantumCircuit *circuit, UINT idx0, UINT idx1, UINT width)¶
量子回路にSWAP/FusedSWAPゲートを追加し、量子ビットテーブルを更新する
- パラメータ:
circuit -- [inout] ゲートを追加する量子回路
idx0 -- [in] 交換する量子ビットの物理開始添え字
idx1 -- [in] 交換する量子ビットの物理開始添え字
width -- [in] 交換する量子ビットの幅
- 戻り値:
追加した量子ゲート数
-
UINT add_swap_gate(QuantumCircuit *circuit, UINT idx0, UINT idx1, UINT width, UINT gate_pos)¶
量子回路にSWAP/FusedSWAPゲートを追加し、量子ビットテーブルを更新する
- パラメータ:
circuit -- [inout] ゲートを追加する量子回路
idx0 -- [in] 交換する量子ビットの物理開始添え字
idx1 -- [in] 交換する量子ビットの物理開始添え字
width -- [in] 交換する量子ビットの幅
gate_pos -- [in] ゲートを追加する位置
- 戻り値:
追加した量子ゲート数
Public Members
-
const std::vector<UINT> &p2l¶
論理添え字への変換テーブル
-
const std::vector<UINT> &l2p¶
物理添え字への変換テーブル
Friends
-
inline friend std::ostream &operator<<(std::ostream &os, const QubitTable &qt)¶
量子ビットテーブルを出力する
- 戻り値:
受け取ったストリーム
-
explicit QubitTable(UINT qubit_count)¶