File GroverSimulator.hpp

class GroverSimulator : public Simulator

Public Functions

inline explicit GroverSimulator(const std::string &oracle_, const std::uint64_t seed_)
inline explicit GroverSimulator(const std::string &oracle_)
inline explicit GroverSimulator(const qc::Qubit nQubits_, const std::uint64_t seed_)
virtual std::map<std::string, std::size_t> simulate(std::size_t shots) override

Run the simulation in the (derived) class.

Parameters:

shots – number of shots to take from the final quantum state

Returns:

a map from the strings representing basis states to the number of times they have been measured

inline virtual std::map<std::string, std::string> additionalStatistics() override
inline virtual std::size_t getNumberOfQubits() const override
inline virtual std::size_t getNumberOfOps() const override
inline virtual std::string getName() const override
inline std::string getOracle() const

Public Static Functions

static inline std::uint64_t calculateIterations(const qc::Qubit nQubits)

Protected Attributes

std::string oracle
qc::Qubit nQubits
qc::Qubit nAnciallae = 1
std::size_t iterations