File HybridSchrodingerFeynmanSimulator.hpp¶
-
class HybridSchrodingerFeynmanSimulator : public CircuitSimulator¶
-
Public Functions
-
inline HybridSchrodingerFeynmanSimulator(std::unique_ptr<qc::QuantumComputation> &&qc_, const ApproximationInfo &approxInfo_, Mode mode_ = Mode::Amplitude, const std::size_t nthreads_ = 2)¶
-
inline explicit HybridSchrodingerFeynmanSimulator(std::unique_ptr<qc::QuantumComputation> &&qc_, Mode mode_ = Mode::Amplitude, const std::size_t nthreads_ = 2)¶
-
inline HybridSchrodingerFeynmanSimulator(std::unique_ptr<qc::QuantumComputation> &&qc_, const ApproximationInfo &approxInfo_, const std::uint64_t seed_, Mode mode_ = Mode::Amplitude, const std::size_t nthreads_ = 2)¶
-
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
Private Functions
-
class Slice¶
Public Functions
-
inline explicit Slice(std::unique_ptr<dd::Package> &dd, const qc::Qubit start_, const qc::Qubit end_, const std::size_t controls_)¶
Protected Functions
-
inline std::size_t getNextControl()¶
-
inline explicit Slice(std::unique_ptr<dd::Package> &dd, const qc::Qubit start_, const qc::Qubit end_, const std::size_t controls_)¶
-
inline HybridSchrodingerFeynmanSimulator(std::unique_ptr<qc::QuantumComputation> &&qc_, const ApproximationInfo &approxInfo_, Mode mode_ = Mode::Amplitude, const std::size_t nthreads_ = 2)¶