|
Maestro 0.1.0
Unified interface for quantum circuit simulation
|
Interface for optimiser classes. More...
#include <Optimiser.h>
Public Member Functions | |
| virtual | ~IOptimiser ()=default |
| virtual void | SetNetworkAndCircuit (const std::shared_ptr< Network::INetwork< Time > > &network, const std::shared_ptr< Circuits::Circuit< Time > > &circuit)=0 |
| virtual size_t | GetNumCuts () const =0 |
| virtual size_t | Optimise (size_t numSteps=10000)=0 |
| virtual const std::unordered_map< Types::qubit_t, Types::qubit_t > & | GetQubitsMap () const =0 |
| virtual const std::unordered_map< Types::qubit_t, Types::qubit_t > & | GetReverseQubitsMap () const =0 |
| virtual Types::qubit_t | TranslateQubitToOriginal (Types::qubit_t qubit) const =0 |
| virtual Types::qubit_t | TranslateQubitFromOriginal (Types::qubit_t qubit) const =0 |
| virtual size_t | TranslateStateToOriginal (size_t state) const =0 |
| virtual size_t | TranslateStateFromOriginal (size_t state) const =0 |
| std::shared_ptr< IOptimiser< Time > > | getptr () |
| Get a shared pointer to this object. | |
Interface for optimiser classes.
Circuit optimisers should implement this interface. They are use to optimise the circuit for a given network, reducing the number of cuts/distributed quantum gates needed.
| Time | The time type used for operations timing. |
Definition at line 39 of file Optimiser.h.
|
virtualdefault |
|
pure virtual |
|
inline |
Get a shared pointer to this object.
Returns a shared pointer to this object. The object needs to be already wrapped in a shared pointer.
Definition at line 74 of file Optimiser.h.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |