Class QuantumCircuitOptimizer¶
Defined in File circuit_optimizer.hpp
Class Documentation¶
-
class QuantumCircuitOptimizer¶
量子回路の圧縮を行うクラス
量子回路の圧縮を行う。 与えらえた量子回路を適切なサイズまで圧縮したり、まとめたゲートに変換するなどの処理を行う。
Public Functions
-
inline QuantumCircuitOptimizer()¶
コンストラクタ
-
inline virtual ~QuantumCircuitOptimizer()¶
デストラクタ
-
void optimize(QuantumCircuit *circuit, UINT max_block_size = 2)¶
与えられた量子回路のゲートを指定されたブロックまで纏める。
与えられた量子回路において、若い添え字から任意の二つのゲートを選び、二つが他のゲートに影響を与えず合成可能なら合成を行う。 これを合成可能なペアがなくなるまで繰り返す。 二つのゲートが合成可能であるとは、二つのゲートそれぞれについて隣接するゲートとの交換を繰り返し、二つのゲートが隣接した位置まで移動できることを指す。
- パラメータ
circuit -- [in] 量子回路のインスタンス
max_block_size -- [in] 合成後に許されるブロックの最大サイズ
-
void optimize_light(QuantumCircuit *circuit)¶
与えられた量子回路のゲートを指定されたブロックまで纏める。
与えられた量子回路において、若い添え字から任意の二つのゲートを選び、二つが他のゲートに影響を与えず合成可能なら合成を行う。 これを合成可能なペアがなくなるまで繰り返す。 二つのゲートが合成可能であるとは、二つのゲートそれぞれについて隣接するゲートとの交換を繰り返し、二つのゲートが隣接した位置まで移動できることを指す。
- パラメータ
circuit -- [in] 量子回路のインスタンス
-
QuantumGateMatrix *merge_all(const QuantumCircuit *circuit)¶
量子回路を纏めて一つの巨大な量子ゲートにする
- パラメータ
circuit -- [in] 量子回路のインスタンス
- 戻り値
変換された量子ゲート
-
inline QuantumCircuitOptimizer()¶