Maestro 0.1.0
Unified interface for quantum circuit simulation
Loading...
Searching...
No Matches
Estimators::SimulatorsEstimatorInterface< Time > Class Template Referenceabstract

An interface for runtime estimators. More...

#include <SimulatorsEstimatorInterface.h>

Public Member Functions

virtual ~SimulatorsEstimatorInterface ()=default
 
virtual bool IsInitialized () const =0
 
virtual std::shared_ptr< Simulators::ISimulatorChooseBestSimulator (const std::vector< std::pair< Simulators::SimulatorType, Simulators::SimulationType > > &simulatorTypes, const std::shared_ptr< Circuits::Circuit< Time > > &dcirc, size_t &counts, size_t nrQubits, size_t nrCbits, size_t nrResultCbits, Simulators::SimulatorType &simType, Simulators::SimulationType &method, std::vector< bool > &executed, const std::string &maxBondDim, const std::string &singularValueThreshold, const std::string &mpsSample, size_t maxSimulators, const std::vector< std::string > *paulis, bool multithreading=false, bool dontRunCircuitStart=false) const =0
 

Static Public Member Functions

static void ExecuteUpToMeasurements (const std::shared_ptr< Circuits::Circuit< Time > > &dcirc, size_t nrQubits, size_t nrCbits, size_t nrResultCbits, const std::shared_ptr< Simulators::ISimulator > &sim, std::vector< bool > &executed, bool multithreading)
 

Detailed Description

template<typename Time = Types::time_type>
class Estimators::SimulatorsEstimatorInterface< Time >

An interface for runtime estimators.

A class derived from this is able to estimate the time to simulate a circuit, using various means (for example using the O() complexity of the algorithms). It uses the estimation to choose the best simulator for a given circuit and number of shots.

Template Parameters
TimeThe time type used for operation timing.

Definition at line 32 of file SimulatorsEstimatorInterface.h.

Constructor & Destructor Documentation

◆ ~SimulatorsEstimatorInterface()

template<typename Time = Types::time_type>
virtual Estimators::SimulatorsEstimatorInterface< Time >::~SimulatorsEstimatorInterface ( )
virtualdefault

Member Function Documentation

◆ ChooseBestSimulator()

template<typename Time = Types::time_type>
virtual std::shared_ptr< Simulators::ISimulator > Estimators::SimulatorsEstimatorInterface< Time >::ChooseBestSimulator ( const std::vector< std::pair< Simulators::SimulatorType, Simulators::SimulationType > > &  simulatorTypes,
const std::shared_ptr< Circuits::Circuit< Time > > &  dcirc,
size_t &  counts,
size_t  nrQubits,
size_t  nrCbits,
size_t  nrResultCbits,
Simulators::SimulatorType simType,
Simulators::SimulationType method,
std::vector< bool > &  executed,
const std::string &  maxBondDim,
const std::string &  singularValueThreshold,
const std::string &  mpsSample,
size_t  maxSimulators,
const std::vector< std::string > *  paulis,
bool  multithreading = false,
bool  dontRunCircuitStart = false 
) const
pure virtual

◆ ExecuteUpToMeasurements()

template<typename Time = Types::time_type>
static void Estimators::SimulatorsEstimatorInterface< Time >::ExecuteUpToMeasurements ( const std::shared_ptr< Circuits::Circuit< Time > > &  dcirc,
size_t  nrQubits,
size_t  nrCbits,
size_t  nrResultCbits,
const std::shared_ptr< Simulators::ISimulator > &  sim,
std::vector< bool > &  executed,
bool  multithreading 
)
inlinestatic

Definition at line 49 of file SimulatorsEstimatorInterface.h.

◆ IsInitialized()

template<typename Time = Types::time_type>
virtual bool Estimators::SimulatorsEstimatorInterface< Time >::IsInitialized ( ) const
pure virtual

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