|
Maestro 0.2.5
Unified interface for quantum circuit simulation
|
#include <Simulator.hpp>
Inheritance diagram for SimpleSimulator:
Collaboration diagram for SimpleSimulator:Public Member Functions | |
| SimpleSimulator () noexcept | |
| virtual | ~SimpleSimulator () |
| bool | AddOptimizationSimulator (int simType, int simExecType) |
| unsigned long int | CreateSimpleSimulator (int nrQubits) override |
| void | FreeResult (char *result) override |
| bool | Init (const char *libName) noexcept override |
| bool | RemoveAllOptimizationSimulatorsAndAdd (int simType, int simExecType) |
| char * | SimpleEstimate (const char *jsonCircuit, const char *observableStr, const char *jsonConfig) |
| char * | SimpleExecute (const char *jsonCircuit, const char *jsonConfig) |
Protected Member Functions | |
| int | AddOptimizationSimulator (unsigned long int simHandle, int simType, int simExecType) |
| unsigned long int | AllocateQubits (void *sim, unsigned long int nrQubits) |
| double * | AllProbabilities (void *sim) |
| double * | Amplitude (void *sim, unsigned long long int outcome) |
| int | ApplyCCX (void *sim, int controlQubit1, int controlQubit2, int targetQubit) |
| int | ApplyCH (void *sim, int controlQubit, int targetQubit) |
| int | ApplyCP (void *sim, int controlQubit, int targetQubit, double theta) |
| int | ApplyCRx (void *sim, int controlQubit, int targetQubit, double theta) |
| int | ApplyCRy (void *sim, int controlQubit, int targetQubit, double theta) |
| int | ApplyCRz (void *sim, int controlQubit, int targetQubit, double theta) |
| int | ApplyCSwap (void *sim, int controlQubit, int qubit1, int qubit2) |
| int | ApplyCSX (void *sim, int controlQubit, int targetQubit) |
| int | ApplyCSXDG (void *sim, int controlQubit, int targetQubit) |
| int | ApplyCU (void *sim, int controlQubit, int targetQubit, double theta, double phi, double lambda, double gamma) |
| int | ApplyCX (void *sim, int controlQubit, int targetQubit) |
| int | ApplyCY (void *sim, int controlQubit, int targetQubit) |
| int | ApplyCZ (void *sim, int controlQubit, int targetQubit) |
| int | ApplyH (void *sim, int qubit) |
| int | ApplyK (void *sim, int qubit) |
| int | ApplyP (void *sim, int qubit, double theta) |
| int | ApplyReset (void *sim, const unsigned long int *qubits, unsigned long int nrQubits) |
| int | ApplyRx (void *sim, int qubit, double theta) |
| int | ApplyRy (void *sim, int qubit, double theta) |
| int | ApplyRz (void *sim, int qubit, double theta) |
| int | ApplyS (void *sim, int qubit) |
| int | ApplySDG (void *sim, int qubit) |
| int | ApplySwap (void *sim, int qubit1, int qubit2) |
| int | ApplySX (void *sim, int qubit) |
| int | ApplySXDG (void *sim, int qubit) |
| int | ApplyT (void *sim, int qubit) |
| int | ApplyTDG (void *sim, int qubit) |
| int | ApplyU (void *sim, int qubit, double theta, double phi, double lambda, double gamma) |
| int | ApplyX (void *sim, int qubit) |
| int | ApplyY (void *sim, int qubit) |
| int | ApplyZ (void *sim, int qubit) |
| int | ClearSimulator (void *sim) |
| int | ConfigureSimulator (void *sim, const char *key, const char *value) |
| virtual unsigned long int | CreateSimulator (int simType, int simExecType) |
| void | DestroySimpleSimulator (unsigned long int simHandle) |
| void | DestroySimulator (unsigned long int simHandle) |
| int | FlushSimulator (void *sim) |
| virtual void | FreeDoubleVector (double *vec) |
| virtual void | FreeULLIVector (unsigned long long int *vec) |
| char * | GetConfiguration (void *sim, const char *key) |
| void * | GetFunction (const char *funcName) noexcept |
| const void * | GetHandle () const noexcept |
| int | GetMultithreading (void *sim) |
| unsigned long int | GetNumberOfQubits (void *sim) |
| int | GetSimulationType (void *sim) |
| void * | GetSimulator (unsigned long int simHandle) |
| int | GetSimulatorType (void *sim) |
| int | InitializeSimulator (void *sim) |
| bool | IsMuted () const noexcept |
| int | IsQcsim (void *sim) |
| bool | IsValid () const |
| unsigned long long int | Measure (void *sim, const unsigned long int *qubits, unsigned long int nrQubits) |
| unsigned long long int | MeasureNoCollapse (void *sim) |
| double * | Probabilities (void *sim, const unsigned long long int *qubits, unsigned long int nrQubits) |
| double | Probability (void *sim, unsigned long long int outcome) |
| int | RemoveAllOptimizationSimulatorsAndAdd (unsigned long int simHandle, int simType, int simExecType) |
| int | ResetSimulator (void *sim) |
| int | RestoreInternalDestructiveSavedState (void *sim) |
| int | RestoreState (void *sim) |
| unsigned long long int * | SampleCounts (void *sim, const unsigned long long int *qubits, unsigned long int nrQubits, unsigned long int shots) |
| int | SaveState (void *sim) |
| int | SaveStateToInternalDestructive (void *sim) |
| int | SetMultithreading (void *sim, int multithreading) |
| void | SetMute (bool m) noexcept |
| char * | SimpleEstimate (unsigned long int simpleSim, const char *jsonCircuit, const char *observableStr, const char *jsonConfig) |
| char * | SimpleExecute (unsigned long int simpleSim, const char *jsonCircuit, const char *jsonConfig) |
Static Protected Member Functions | |
| static void | CheckFunction (void *func, int line) noexcept |
Definition at line 5 of file Simulator.hpp.
|
inlinenoexcept |
Definition at line 7 of file Simulator.hpp.
|
inlinevirtual |
Definition at line 9 of file Simulator.hpp.
References MaestroLibrary::DestroySimpleSimulator().
|
inline |
Definition at line 35 of file Simulator.hpp.
References MaestroLibrary::AddOptimizationSimulator().
Referenced by main().
|
inlineinherited |
Definition at line 267 of file MaestroLib.hpp.
Referenced by AddOptimizationSimulator().
|
inlineinherited |
Definition at line 372 of file MaestroLib.hpp.
Referenced by Simulator::AllocateQubits().
|
inlineinherited |
Definition at line 454 of file MaestroLib.hpp.
Referenced by Simulator::AllProbabilities().
|
inlineinherited |
Definition at line 445 of file MaestroLib.hpp.
Referenced by Simulator::Amplitude().
|
inlineinherited |
Definition at line 792 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCCX().
|
inlineinherited |
Definition at line 736 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCH().
|
inlineinherited |
Definition at line 760 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCP().
|
inlineinherited |
Definition at line 768 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCRx().
|
inlineinherited |
Definition at line 776 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCRy().
|
inlineinherited |
Definition at line 784 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCRz().
|
inlineinherited |
Definition at line 809 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCSwap().
|
inlineinherited |
Definition at line 744 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCSX().
|
inlineinherited |
Definition at line 752 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCSXDG().
|
inlineinherited |
Definition at line 817 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCU().
|
inlineinherited |
Definition at line 712 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCX().
|
inlineinherited |
Definition at line 720 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCY().
|
inlineinherited |
Definition at line 728 of file MaestroLib.hpp.
Referenced by Simulator::ApplyCZ().
|
inlineinherited |
Definition at line 607 of file MaestroLib.hpp.
Referenced by Simulator::ApplyH().
|
inlineinherited |
Definition at line 663 of file MaestroLib.hpp.
Referenced by Simulator::ApplyK().
|
inlineinherited |
Definition at line 671 of file MaestroLib.hpp.
Referenced by Simulator::ApplyP().
|
inlineinherited |
Definition at line 410 of file MaestroLib.hpp.
Referenced by Simulator::ApplyReset().
|
inlineinherited |
Definition at line 679 of file MaestroLib.hpp.
Referenced by Simulator::ApplyRx().
|
inlineinherited |
Definition at line 687 of file MaestroLib.hpp.
Referenced by Simulator::ApplyRy().
|
inlineinherited |
Definition at line 695 of file MaestroLib.hpp.
Referenced by Simulator::ApplyRz().
|
inlineinherited |
Definition at line 615 of file MaestroLib.hpp.
Referenced by Simulator::ApplyS().
|
inlineinherited |
Definition at line 623 of file MaestroLib.hpp.
Referenced by Simulator::ApplySDG().
|
inlineinherited |
Definition at line 801 of file MaestroLib.hpp.
Referenced by Simulator::ApplySwap().
|
inlineinherited |
Definition at line 647 of file MaestroLib.hpp.
Referenced by Simulator::ApplySX().
|
inlineinherited |
Definition at line 655 of file MaestroLib.hpp.
Referenced by Simulator::ApplySXDG().
|
inlineinherited |
Definition at line 631 of file MaestroLib.hpp.
Referenced by Simulator::ApplyT().
|
inlineinherited |
Definition at line 639 of file MaestroLib.hpp.
Referenced by Simulator::ApplyTDG().
|
inlineinherited |
Definition at line 703 of file MaestroLib.hpp.
Referenced by Simulator::ApplyU().
|
inlineinherited |
Definition at line 583 of file MaestroLib.hpp.
Referenced by Simulator::ApplyX().
|
inlineinherited |
Definition at line 591 of file MaestroLib.hpp.
Referenced by Simulator::ApplyY().
|
inlineinherited |
Definition at line 599 of file MaestroLib.hpp.
Referenced by Simulator::ApplyZ().
|
inlinestaticnoexceptinherited |
Definition at line 218 of file MaestroLib.hpp.
Referenced by MaestroLibrary::Init().
|
inlineinherited |
Definition at line 391 of file MaestroLib.hpp.
Referenced by Simulator::ClearSimulator().
|
inlineinherited |
Definition at line 353 of file MaestroLib.hpp.
Referenced by Simulator::ConfigureSimulator().
|
inlineoverridevirtual |
Reimplemented from MaestroLibrary.
Definition at line 19 of file Simulator.hpp.
References MaestroLibrary::CreateSimpleSimulator(), and MaestroLibrary::DestroySimpleSimulator().
Referenced by main().
|
inlinevirtualinherited |
Reimplemented in Simulator.
Definition at line 308 of file MaestroLib.hpp.
Referenced by Simulator::CreateSimulator().
|
inlineinherited |
Definition at line 246 of file MaestroLib.hpp.
Referenced by ~SimpleSimulator(), and CreateSimpleSimulator().
|
inlineinherited |
Definition at line 325 of file MaestroLib.hpp.
Referenced by Simulator::~Simulator(), and Simulator::CreateSimulator().
|
inlineinherited |
Definition at line 503 of file MaestroLib.hpp.
Referenced by Simulator::FlushSimulator().
|
inlinevirtualinherited |
Reimplemented in Simulator.
Definition at line 429 of file MaestroLib.hpp.
Referenced by Simulator::FreeDoubleVector().
|
inlineoverridevirtual |
Reimplemented from MaestroLibrary.
Definition at line 53 of file Simulator.hpp.
References MaestroLibrary::FreeResult().
Referenced by main().
|
inlinevirtualinherited |
Reimplemented in Simulator.
Definition at line 437 of file MaestroLib.hpp.
Referenced by Simulator::FreeULLIVector().
|
inlineinherited |
Definition at line 363 of file MaestroLib.hpp.
Referenced by Simulator::GetConfiguration().
|
inlinenoexceptinherited |
Definition at line 104 of file Library.h.
Referenced by MaestroLibrary::Init(), and Simulators::QuestLibSim::Init().
|
inlinenoexceptinherited |
|
inlineinherited |
Definition at line 556 of file MaestroLib.hpp.
Referenced by Simulator::GetMultithreading().
|
inlineinherited |
Definition at line 381 of file MaestroLib.hpp.
Referenced by Simulator::GetNumberOfQubits().
|
inlineinherited |
Definition at line 494 of file MaestroLib.hpp.
Referenced by Simulator::GetSimulationType().
|
inlineinherited |
Definition at line 318 of file MaestroLib.hpp.
Referenced by Simulator::CreateSimulator(), and Simulator::GetSimulator().
|
inlineinherited |
Definition at line 485 of file MaestroLib.hpp.
Referenced by Simulator::GetSimulatorType().
|
inlineoverridevirtualnoexcept |
Reimplemented from MaestroLibrary.
Definition at line 13 of file Simulator.hpp.
References MaestroLibrary::Init().
Referenced by main().
|
inlineinherited |
Definition at line 333 of file MaestroLib.hpp.
Referenced by Simulator::InitializeSimulator().
|
inlinenoexceptinherited |
|
inlineinherited |
Definition at line 565 of file MaestroLib.hpp.
Referenced by Simulator::IsQcsim().
|
inlineinherited |
Definition at line 234 of file MaestroLib.hpp.
|
inlineinherited |
Definition at line 400 of file MaestroLib.hpp.
Referenced by Simulator::Measure().
|
inlineinherited |
Definition at line 574 of file MaestroLib.hpp.
Referenced by Simulator::MeasureNoCollapse().
|
inlineinherited |
Definition at line 463 of file MaestroLib.hpp.
Referenced by Simulator::Probabilities().
|
inlineinherited |
Definition at line 420 of file MaestroLib.hpp.
Referenced by Simulator::Probability().
|
inline |
Definition at line 27 of file Simulator.hpp.
References MaestroLibrary::RemoveAllOptimizationSimulatorsAndAdd().
Referenced by main().
|
inlineinherited |
Definition at line 254 of file MaestroLib.hpp.
Referenced by RemoveAllOptimizationSimulatorsAndAdd().
|
inlineinherited |
Definition at line 343 of file MaestroLib.hpp.
Referenced by Simulator::ResetSimulator().
|
inlineinherited |
Definition at line 522 of file MaestroLib.hpp.
Referenced by Simulator::RestoreInternalDestructiveSavedState().
|
inlineinherited |
Definition at line 540 of file MaestroLib.hpp.
Referenced by Simulator::RestoreState().
|
inlineinherited |
Definition at line 473 of file MaestroLib.hpp.
Referenced by Simulator::SampleCounts().
|
inlineinherited |
Definition at line 532 of file MaestroLib.hpp.
Referenced by Simulator::SaveState().
|
inlineinherited |
Definition at line 512 of file MaestroLib.hpp.
Referenced by Simulator::SaveStateToInternalDestructive().
|
inlineinherited |
Definition at line 548 of file MaestroLib.hpp.
Referenced by Simulator::SetMultithreading().
|
inlinenoexceptinherited |
|
inline |
Definition at line 47 of file Simulator.hpp.
References MaestroLibrary::SimpleEstimate().
Referenced by main().
|
inlineinherited |
Definition at line 289 of file MaestroLib.hpp.
Referenced by SimpleEstimate().
|
inline |
Definition at line 43 of file Simulator.hpp.
References MaestroLibrary::SimpleExecute().
Referenced by main().
|
inlineinherited |
Definition at line 278 of file MaestroLib.hpp.
Referenced by SimpleExecute().