|
Maestro 0.1.0
Unified interface for quantum circuit simulation
|
#include <MaestroLib.hpp>
Inheritance diagram for MaestroLibrary:
Collaboration diagram for MaestroLibrary:Public Member Functions | |
| MaestroLibrary (const MaestroLibrary &)=delete | |
| MaestroLibrary & | operator= (const MaestroLibrary &)=delete |
| MaestroLibrary (MaestroLibrary &&)=default | |
| MaestroLibrary & | operator= (MaestroLibrary &&)=default |
| MaestroLibrary () noexcept | |
| virtual | ~MaestroLibrary () |
| bool | Init (const char *libName) noexcept override |
| bool | IsValid () const |
| virtual unsigned long int | CreateSimpleSimulator (int nrQubits) |
| void | DestroySimpleSimulator (unsigned long int simHandle) |
| int | RemoveAllOptimizationSimulatorsAndAdd (unsigned long int simHandle, int simType, int simExecType) |
| int | AddOptimizationSimulator (unsigned long int simHandle, int simType, int simExecType) |
| char * | SimpleExecute (unsigned long int simpleSim, const char *jsonCircuit, const char *jsonConfig) |
| char * | SimpleEstimate (unsigned long int simpleSim, const char *jsonCircuit, const char *observableStr, const char *jsonConfig) |
| virtual void | FreeResult (char *result) |
| virtual unsigned long int | CreateSimulator (int simType, int simExecType) |
| void * | GetSimulator (unsigned long int simHandle) |
| void | DestroySimulator (unsigned long int simHandle) |
| int | InitializeSimulator (void *sim) |
| int | ResetSimulator (void *sim) |
| int | ConfigureSimulator (void *sim, const char *key, const char *value) |
| char * | GetConfiguration (void *sim, const char *key) |
| unsigned long int | AllocateQubits (void *sim, unsigned long int nrQubits) |
| unsigned long int | GetNumberOfQubits (void *sim) |
| int | ClearSimulator (void *sim) |
| unsigned long long int | Measure (void *sim, const unsigned long int *qubits, unsigned long int nrQubits) |
| int | ApplyReset (void *sim, const unsigned long int *qubits, unsigned long int nrQubits) |
| double | Probability (void *sim, unsigned long long int outcome) |
| virtual void | FreeDoubleVector (double *vec) |
| virtual void | FreeULLIVector (unsigned long long int *vec) |
| double * | Amplitude (void *sim, unsigned long long int outcome) |
| double * | AllProbabilities (void *sim) |
| double * | Probabilities (void *sim, const unsigned long long int *qubits, unsigned long int nrQubits) |
| unsigned long long int * | SampleCounts (void *sim, const unsigned long long int *qubits, unsigned long int nrQubits, unsigned long int shots) |
| int | GetSimulatorType (void *sim) |
| int | GetSimulationType (void *sim) |
| int | FlushSimulator (void *sim) |
| int | SaveStateToInternalDestructive (void *sim) |
| int | RestoreInternalDestructiveSavedState (void *sim) |
| int | SaveState (void *sim) |
| int | RestoreState (void *sim) |
| int | SetMultithreading (void *sim, int multithreading) |
| int | GetMultithreading (void *sim) |
| int | IsQcsim (void *sim) |
| unsigned long long int | MeasureNoCollapse (void *sim) |
| int | ApplyX (void *sim, int qubit) |
| int | ApplyY (void *sim, int qubit) |
| int | ApplyZ (void *sim, int qubit) |
| int | ApplyH (void *sim, int qubit) |
| int | ApplyS (void *sim, int qubit) |
| int | ApplySDG (void *sim, int qubit) |
| int | ApplyT (void *sim, int qubit) |
| int | ApplyTDG (void *sim, int qubit) |
| int | ApplySX (void *sim, int qubit) |
| int | ApplySXDG (void *sim, int qubit) |
| int | ApplyK (void *sim, int qubit) |
| int | ApplyP (void *sim, int qubit, double theta) |
| 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 | ApplyU (void *sim, int qubit, 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 | ApplyCH (void *sim, int controlQubit, int targetQubit) |
| int | ApplyCSX (void *sim, int controlQubit, int targetQubit) |
| int | ApplyCSXDG (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 | ApplyCCX (void *sim, int controlQubit1, int controlQubit2, int targetQubit) |
| int | ApplySwap (void *sim, int qubit1, int qubit2) |
| int | ApplyCSwap (void *sim, int controlQubit, int qubit1, int qubit2) |
| int | ApplyCU (void *sim, int controlQubit, int targetQubit, double theta, double phi, double lambda, double gamma) |
Public Member Functions inherited from Utils::Library | |
| Library (const Library &)=delete | |
| Library & | operator= (const Library &)=delete |
| Library (Library &&)=default | |
| Library & | operator= (Library &&)=default |
| Library () noexcept | |
| virtual | ~Library () |
| void * | GetFunction (const char *funcName) noexcept |
| const void * | GetHandle () const noexcept |
| bool | IsMuted () const noexcept |
| void | SetMute (bool m) noexcept |
Static Public Member Functions | |
| static void | CheckFunction (void *func, int line) noexcept |
Definition at line 5 of file MaestroLib.hpp.
|
delete |
|
default |
|
inlinenoexcept |
Definition at line 13 of file MaestroLib.hpp.
|
inlinevirtual |
Definition at line 15 of file MaestroLib.hpp.
|
inline |
Definition at line 266 of file MaestroLib.hpp.
|
inline |
Definition at line 371 of file MaestroLib.hpp.
|
inline |
Definition at line 453 of file MaestroLib.hpp.
|
inline |
Definition at line 444 of file MaestroLib.hpp.
|
inline |
Definition at line 791 of file MaestroLib.hpp.
|
inline |
Definition at line 735 of file MaestroLib.hpp.
|
inline |
Definition at line 759 of file MaestroLib.hpp.
|
inline |
Definition at line 767 of file MaestroLib.hpp.
|
inline |
Definition at line 775 of file MaestroLib.hpp.
|
inline |
Definition at line 783 of file MaestroLib.hpp.
|
inline |
Definition at line 808 of file MaestroLib.hpp.
|
inline |
Definition at line 743 of file MaestroLib.hpp.
|
inline |
Definition at line 751 of file MaestroLib.hpp.
|
inline |
Definition at line 816 of file MaestroLib.hpp.
|
inline |
Definition at line 711 of file MaestroLib.hpp.
|
inline |
Definition at line 719 of file MaestroLib.hpp.
|
inline |
Definition at line 727 of file MaestroLib.hpp.
|
inline |
Definition at line 606 of file MaestroLib.hpp.
|
inline |
Definition at line 662 of file MaestroLib.hpp.
|
inline |
Definition at line 670 of file MaestroLib.hpp.
|
inline |
Definition at line 409 of file MaestroLib.hpp.
|
inline |
Definition at line 678 of file MaestroLib.hpp.
|
inline |
Definition at line 686 of file MaestroLib.hpp.
|
inline |
Definition at line 694 of file MaestroLib.hpp.
|
inline |
Definition at line 614 of file MaestroLib.hpp.
|
inline |
Definition at line 622 of file MaestroLib.hpp.
|
inline |
Definition at line 800 of file MaestroLib.hpp.
|
inline |
Definition at line 646 of file MaestroLib.hpp.
|
inline |
Definition at line 654 of file MaestroLib.hpp.
|
inline |
Definition at line 630 of file MaestroLib.hpp.
|
inline |
Definition at line 638 of file MaestroLib.hpp.
|
inline |
Definition at line 702 of file MaestroLib.hpp.
|
inline |
Definition at line 582 of file MaestroLib.hpp.
|
inline |
Definition at line 590 of file MaestroLib.hpp.
|
inline |
Definition at line 598 of file MaestroLib.hpp.
|
inlinestaticnoexcept |
Definition at line 217 of file MaestroLib.hpp.
|
inline |
Definition at line 390 of file MaestroLib.hpp.
|
inline |
Definition at line 352 of file MaestroLib.hpp.
|
inlinevirtual |
Reimplemented in SimpleSimulator.
Definition at line 235 of file MaestroLib.hpp.
|
inlinevirtual |
Reimplemented in Simulator.
Definition at line 307 of file MaestroLib.hpp.
|
inline |
Definition at line 245 of file MaestroLib.hpp.
|
inline |
Definition at line 324 of file MaestroLib.hpp.
|
inline |
Definition at line 502 of file MaestroLib.hpp.
|
inlinevirtual |
Reimplemented in Simulator.
Definition at line 428 of file MaestroLib.hpp.
|
inlinevirtual |
Reimplemented in Simulator, and SimpleSimulator.
Definition at line 300 of file MaestroLib.hpp.
|
inlinevirtual |
Reimplemented in Simulator.
Definition at line 436 of file MaestroLib.hpp.
|
inline |
Definition at line 362 of file MaestroLib.hpp.
|
inline |
Definition at line 555 of file MaestroLib.hpp.
|
inline |
Definition at line 380 of file MaestroLib.hpp.
|
inline |
Definition at line 493 of file MaestroLib.hpp.
|
inline |
Definition at line 317 of file MaestroLib.hpp.
|
inline |
Definition at line 484 of file MaestroLib.hpp.
|
inlineoverridevirtualnoexcept |
Reimplemented from Utils::Library.
Reimplemented in SimpleSimulator, and Simulator.
Definition at line 17 of file MaestroLib.hpp.
|
inline |
Definition at line 332 of file MaestroLib.hpp.
|
inline |
Definition at line 564 of file MaestroLib.hpp.
|
inline |
Definition at line 233 of file MaestroLib.hpp.
|
inline |
Definition at line 399 of file MaestroLib.hpp.
|
inline |
Definition at line 573 of file MaestroLib.hpp.
|
delete |
|
default |
|
inline |
Definition at line 462 of file MaestroLib.hpp.
|
inline |
Definition at line 419 of file MaestroLib.hpp.
|
inline |
Definition at line 253 of file MaestroLib.hpp.
|
inline |
Definition at line 342 of file MaestroLib.hpp.
|
inline |
Definition at line 521 of file MaestroLib.hpp.
|
inline |
Definition at line 539 of file MaestroLib.hpp.
|
inline |
Definition at line 472 of file MaestroLib.hpp.
|
inline |
Definition at line 531 of file MaestroLib.hpp.
|
inline |
Definition at line 511 of file MaestroLib.hpp.
|
inline |
Definition at line 547 of file MaestroLib.hpp.
|
inline |
Definition at line 288 of file MaestroLib.hpp.
|
inline |
Definition at line 277 of file MaestroLib.hpp.