class QPanda::SabreQAllocator¶
SABRE qubit mapping Implemented from Gushu et. al.: Tackling the Qubit Mapping Problem for NISQ-Era Quantum Devices.
#include <SabreQMapping.h> class SabreQAllocator: public QPanda::AbstractQubitMapping { public: // typedefs typedef SabreQAllocator* Ref; typedef std::unique_ptr<SabreQAllocator> uRef; // methods static uRef Create( QPanda::ArchGraph::sRef ag, uint32_t max_look_ahead = 20, uint32_t max_iterations = 10 ); uint32_t get_swap_cnt() const; };
Inherited Members¶
public: // typedefs typedef AbstractQubitMapping* Ref; typedef std::unique_ptr<AbstractQubitMapping> uRef; // methods bool run(QPanda::QProg prog, QPanda::QuantumMachine* qvm); void setGateWeightMap(const GateWeightMap& weightMap); const Mapping& get_final_mapping() const; const Mapping& get_init_mapping() const; QPanda::QProg get_mapped_prog() const;