QuantumCircuitOptimizer Class Reference

#include <circuit_optimizer.hpp>

Public Member Functions

 QuantumCircuitOptimizer ()
 
virtual ~QuantumCircuitOptimizer ()
 
void optimize (QuantumCircuit *circuit, UINT max_block_size=2)
 
QuantumGateMatrixmerge_all (const QuantumCircuit *circuit)
 

Detailed Description

量子回路の圧縮を行うクラス

量子回路の圧縮を行う。 与えらえた量子回路を適切なサイズまで圧縮したり、まとめたゲートに変換するなどの処理を行う。

Constructor & Destructor Documentation

◆ QuantumCircuitOptimizer()

QuantumCircuitOptimizer::QuantumCircuitOptimizer ( )
inline

コンストラクタ

◆ ~QuantumCircuitOptimizer()

virtual QuantumCircuitOptimizer::~QuantumCircuitOptimizer ( )
inlinevirtual

デストラクタ

Member Function Documentation

◆ merge_all()

QuantumGateMatrix * QuantumCircuitOptimizer::merge_all ( const QuantumCircuit circuit)

量子回路を纏めて一つの巨大な量子ゲートにする

Parameters
[in]circuit量子回路のインスタンス
Returns
変換された量子ゲート

◆ optimize()

void QuantumCircuitOptimizer::optimize ( QuantumCircuit circuit,
UINT  max_block_size = 2 
)

与えられた量子回路のゲートを指定されたブロックまで纏める。

与えられた量子回路において、若い添え字から任意の二つのゲートを選び、二つが他のゲートに影響を与えず合成可能なら合成を行う。 これを合成可能なペアがなくなるまで繰り返す。 二つのゲートが合成可能であるとは、二つのゲートそれぞれについて隣接するゲートとの交換を繰り返し、二つのゲートが隣接した位置まで移動できることを指す。

Parameters
[in]circuit量子回路のインスタンス
[in]max_block_size合成後に許されるブロックの最大サイズ

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