|
Maestro 0.3.1
Unified interface for quantum circuit simulation
|
Go to the source code of this file.
Macros | |
| #define | _MAESTRO_INTERFACE_H_ |
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) |
| unsigned long int | CreateSimpleSimulator (int nrQubits) |
| unsigned long int | CreateSimulator (int simType, int simExecType) |
| void | DestroySimpleSimulator (unsigned long int simHandle) |
| void | DestroySimulator (unsigned long int simHandle) |
| int | FlushSimulator (void *sim) |
| void | FreeDoubleVector (double *vec) |
| void | FreeResult (char *result) |
| void | FreeULLIVector (unsigned long long int *vec) |
| char * | GetConfiguration (void *sim, const char *key) |
| void * | GetMaestroObject () |
| void * | GetMaestroObjectWithMute () |
| 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) |
| int | IsQcsim (void *sim) |
| 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) |
| char * | SimpleEstimate (unsigned long int simpleSim, const char *circuitStr, const char *observableStr, const char *jsonConfig) |
| char * | SimpleExecute (unsigned long int simpleSim, const char *circuitStr, const char *jsonConfig) |
| #define _MAESTRO_INTERFACE_H_ |
Definition at line 13 of file Interface.h.
| int AddOptimizationSimulator | ( | unsigned long int | simHandle, |
| int | simType, | ||
| int | simExecType ) |
Definition at line 98 of file Interface.cpp.
References maestroInstance.
| unsigned long int AllocateQubits | ( | void * | sim, |
| unsigned long int | nrQubits ) |
Definition at line 933 of file Interface.cpp.
References Simulators::IState::AllocateQubits().
| double * AllProbabilities | ( | void * | sim | ) |
Definition at line 1026 of file Interface.cpp.
References Simulators::IState::AllProbabilities().
| double * Amplitude | ( | void * | sim, |
| unsigned long long int | outcome ) |
Definition at line 1012 of file Interface.cpp.
References Simulators::IState::Amplitude().
| int ApplyCCX | ( | void * | sim, |
| int | controlQubit1, | ||
| int | controlQubit2, | ||
| int | targetQubit ) |
Definition at line 840 of file Interface.cpp.
References Simulators::ISimulator::ApplyCCX().
| int ApplyCH | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit ) |
Definition at line 763 of file Interface.cpp.
References Simulators::ISimulator::ApplyCH().
| int ApplyCP | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit, | ||
| double | theta ) |
Definition at line 796 of file Interface.cpp.
References Simulators::ISimulator::ApplyCP().
| int ApplyCRx | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit, | ||
| double | theta ) |
Definition at line 807 of file Interface.cpp.
References Simulators::ISimulator::ApplyCRx().
| int ApplyCRy | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit, | ||
| double | theta ) |
Definition at line 818 of file Interface.cpp.
References Simulators::ISimulator::ApplyCRy().
| int ApplyCRz | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit, | ||
| double | theta ) |
Definition at line 829 of file Interface.cpp.
References Simulators::ISimulator::ApplyCRz().
| int ApplyCSwap | ( | void * | sim, |
| int | controlQubit, | ||
| int | qubit1, | ||
| int | qubit2 ) |
Definition at line 863 of file Interface.cpp.
References Simulators::ISimulator::ApplyCSwap().
| int ApplyCSX | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit ) |
Definition at line 774 of file Interface.cpp.
References Simulators::ISimulator::ApplyCSx().
| int ApplyCSXDG | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit ) |
Definition at line 785 of file Interface.cpp.
References Simulators::ISimulator::ApplyCSxDAG().
| int ApplyCU | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit, | ||
| double | theta, | ||
| double | phi, | ||
| double | lambda, | ||
| double | gamma ) |
Definition at line 874 of file Interface.cpp.
References Simulators::ISimulator::ApplyCU().
| int ApplyCX | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit ) |
Definition at line 730 of file Interface.cpp.
References Simulators::ISimulator::ApplyCX().
Referenced by Simulators::QcsimPauliPropagator::ApplyCCX(), Simulators::QcsimPauliPropagator::ApplyCH(), Simulators::QcsimPauliPropagator::ApplyCP(), Simulators::QcsimPauliPropagator::ApplyCRX(), Simulators::QcsimPauliPropagator::ApplyCRY(), Simulators::QcsimPauliPropagator::ApplyCRZ(), Simulators::QcsimPauliPropagator::ApplyCS(), Simulators::QcsimPauliPropagator::ApplyCSDAG(), Simulators::QcsimPauliPropagator::ApplyCSwap(), and Simulators::QcsimPauliPropagator::ApplyCU().
| int ApplyCY | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit ) |
Definition at line 741 of file Interface.cpp.
References Simulators::ISimulator::ApplyCY().
| int ApplyCZ | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit ) |
Definition at line 752 of file Interface.cpp.
References Simulators::ISimulator::ApplyCZ().
| int ApplyH | ( | void * | sim, |
| int | qubit ) |
Definition at line 586 of file Interface.cpp.
References Simulators::ISimulator::ApplyH().
Referenced by Simulators::QcsimPauliPropagator::ApplyCH(), Simulators::QcsimPauliPropagator::ApplyCRX(), Simulators::QcsimPauliPropagator::ApplyCSX(), and Simulators::QcsimPauliPropagator::ApplyCSXDAG().
| int ApplyK | ( | void * | sim, |
| int | qubit ) |
Definition at line 663 of file Interface.cpp.
References Simulators::ISimulator::ApplyK().
| int ApplyP | ( | void * | sim, |
| int | qubit, | ||
| double | theta ) |
Definition at line 674 of file Interface.cpp.
References Simulators::ISimulator::ApplyP().
| int ApplyReset | ( | void * | sim, |
| const unsigned long int * | qubits, | ||
| unsigned long int | nrQubits ) |
Definition at line 976 of file Interface.cpp.
| int ApplyRx | ( | void * | sim, |
| int | qubit, | ||
| double | theta ) |
Definition at line 685 of file Interface.cpp.
References Simulators::ISimulator::ApplyRx().
| int ApplyRy | ( | void * | sim, |
| int | qubit, | ||
| double | theta ) |
Definition at line 696 of file Interface.cpp.
References Simulators::ISimulator::ApplyRy().
| int ApplyRz | ( | void * | sim, |
| int | qubit, | ||
| double | theta ) |
Definition at line 707 of file Interface.cpp.
References Simulators::ISimulator::ApplyRz().
| int ApplyS | ( | void * | sim, |
| int | qubit ) |
Definition at line 597 of file Interface.cpp.
References Simulators::ISimulator::ApplyS().
Referenced by Simulators::QcsimPauliPropagator::ApplyCH().
| int ApplySDG | ( | void * | sim, |
| int | qubit ) |
Definition at line 608 of file Interface.cpp.
References Simulators::ISimulator::ApplySDG().
Referenced by Simulators::QcsimPauliPropagator::ApplyCH().
| int ApplySwap | ( | void * | sim, |
| int | qubit1, | ||
| int | qubit2 ) |
Definition at line 852 of file Interface.cpp.
References Simulators::ISimulator::ApplySwap().
| int ApplySX | ( | void * | sim, |
| int | qubit ) |
Definition at line 641 of file Interface.cpp.
References Simulators::ISimulator::ApplySx().
| int ApplySXDG | ( | void * | sim, |
| int | qubit ) |
Definition at line 652 of file Interface.cpp.
References Simulators::ISimulator::ApplySxDAG().
| int ApplyT | ( | void * | sim, |
| int | qubit ) |
Definition at line 619 of file Interface.cpp.
References Simulators::ISimulator::ApplyT().
| int ApplyTDG | ( | void * | sim, |
| int | qubit ) |
Definition at line 630 of file Interface.cpp.
References Simulators::ISimulator::ApplyTDG().
| int ApplyU | ( | void * | sim, |
| int | qubit, | ||
| double | theta, | ||
| double | phi, | ||
| double | lambda, | ||
| double | gamma ) |
Definition at line 718 of file Interface.cpp.
References Simulators::ISimulator::ApplyU().
| int ApplyX | ( | void * | sim, |
| int | qubit ) |
Definition at line 552 of file Interface.cpp.
References Simulators::ISimulator::ApplyX().
Referenced by Simulators::QcsimPauliPropagator::ApplyCH().
| int ApplyY | ( | void * | sim, |
| int | qubit ) |
Definition at line 564 of file Interface.cpp.
References Simulators::ISimulator::ApplyY().
| int ApplyZ | ( | void * | sim, |
| int | qubit ) |
Definition at line 575 of file Interface.cpp.
References Simulators::ISimulator::ApplyZ().
| int ClearSimulator | ( | void * | sim | ) |
Definition at line 954 of file Interface.cpp.
References Simulators::IState::Clear().
| int ConfigureSimulator | ( | void * | sim, |
| const char * | key, | ||
| const char * | value ) |
Definition at line 906 of file Interface.cpp.
References Simulators::IState::Configure().
| unsigned long int CreateSimpleSimulator | ( | int | nrQubits | ) |
Definition at line 68 of file Interface.cpp.
References maestroInstance.
| unsigned long int CreateSimulator | ( | int | simType, |
| int | simExecType ) |
Definition at line 525 of file Interface.cpp.
References maestroInstance.
| void DestroySimpleSimulator | ( | unsigned long int | simHandle | ) |
Definition at line 77 of file Interface.cpp.
References maestroInstance.
| void DestroySimulator | ( | unsigned long int | simHandle | ) |
Definition at line 544 of file Interface.cpp.
References maestroInstance.
| int FlushSimulator | ( | void * | sim | ) |
Definition at line 1097 of file Interface.cpp.
References Simulators::IState::Flush().
| void FreeDoubleVector | ( | double * | vec | ) |
Definition at line 998 of file Interface.cpp.
| void FreeResult | ( | char * | result | ) |
Definition at line 518 of file Interface.cpp.
| void FreeULLIVector | ( | unsigned long long int * | vec | ) |
Definition at line 1005 of file Interface.cpp.
| char * GetConfiguration | ( | void * | sim, |
| const char * | key ) |
Definition at line 916 of file Interface.cpp.
References Simulators::IState::GetConfiguration().
| void * GetMaestroObject | ( | ) |
Definition at line 34 of file Interface.cpp.
References Simulators::SimulatorsFactory::InitQuestLibrary(), isInitialized, and maestroInstance.
| void * GetMaestroObjectWithMute | ( | ) |
Definition at line 51 of file Interface.cpp.
References Simulators::SimulatorsFactory::InitQuestLibraryWithMute(), isInitialized, and maestroInstance.
| int GetMultithreading | ( | void * | sim | ) |
Definition at line 1157 of file Interface.cpp.
References Simulators::IState::GetMultithreading().
| unsigned long int GetNumberOfQubits | ( | void * | sim | ) |
Definition at line 944 of file Interface.cpp.
References Simulators::IState::GetNumberOfQubits().
| int GetSimulationType | ( | void * | sim | ) |
Definition at line 1088 of file Interface.cpp.
Referenced by Network::SimpleDisconnectedNetwork< Time, Controller >::Clone().
| void * GetSimulator | ( | unsigned long int | simHandle | ) |
Definition at line 536 of file Interface.cpp.
References maestroInstance.
| int GetSimulatorType | ( | void * | sim | ) |
Definition at line 1079 of file Interface.cpp.
| int InitializeSimulator | ( | void * | sim | ) |
Definition at line 886 of file Interface.cpp.
References Simulators::IState::Initialize().
| int IsQcsim | ( | void * | sim | ) |
Definition at line 1166 of file Interface.cpp.
References Simulators::IState::IsQcsim().
| unsigned long long int Measure | ( | void * | sim, |
| const unsigned long int * | qubits, | ||
| unsigned long int | nrQubits ) |
Definition at line 964 of file Interface.cpp.
| unsigned long long int MeasureNoCollapse | ( | void * | sim | ) |
Definition at line 1175 of file Interface.cpp.
| double * Probabilities | ( | void * | sim, |
| const unsigned long long int * | qubits, | ||
| unsigned long int | nrQubits ) |
Definition at line 1039 of file Interface.cpp.
| double Probability | ( | void * | sim, |
| unsigned long long int | outcome ) |
Definition at line 988 of file Interface.cpp.
References Simulators::IState::Probability().
| int RemoveAllOptimizationSimulatorsAndAdd | ( | unsigned long int | simHandle, |
| int | simType, | ||
| int | simExecType ) |
Definition at line 86 of file Interface.cpp.
References maestroInstance.
| int ResetSimulator | ( | void * | sim | ) |
Definition at line 896 of file Interface.cpp.
References Simulators::IState::Reset().
| int RestoreInternalDestructiveSavedState | ( | void * | sim | ) |
Definition at line 1117 of file Interface.cpp.
References Simulators::IState::RestoreInternalDestructiveSavedState().
| int RestoreState | ( | void * | sim | ) |
Definition at line 1137 of file Interface.cpp.
References Simulators::IState::RestoreState().
| unsigned long long int * SampleCounts | ( | void * | sim, |
| const unsigned long long int * | qubits, | ||
| unsigned long int | nrQubits, | ||
| unsigned long int | shots ) |
Definition at line 1054 of file Interface.cpp.
| int SaveState | ( | void * | sim | ) |
Definition at line 1127 of file Interface.cpp.
References Simulators::IState::SaveState().
| int SaveStateToInternalDestructive | ( | void * | sim | ) |
Definition at line 1107 of file Interface.cpp.
References Simulators::IState::SaveStateToInternalDestructive().
| int SetMultithreading | ( | void * | sim, |
| int | multithreading ) |
Definition at line 1147 of file Interface.cpp.
References Simulators::IState::SetMultithreading().
| char * SimpleEstimate | ( | unsigned long int | simpleSim, |
| const char * | circuitStr, | ||
| const char * | observableStr, | ||
| const char * | jsonConfig ) |
Definition at line 334 of file Interface.cpp.
References qasm::QasmToCirc< Time >::Failed(), Json::JsonParserMaestro< Time >::GetConfigString(), Simulators::kCompositeQCSim, Simulators::kCompositeQiskitAer, Simulators::kDensityMatrix, Simulators::kDistGpuSim, Simulators::kDistMpiGpuSim, Simulators::kExtendedStabilizer, Simulators::kGpuSim, Simulators::kMatrixProductState, Simulators::kPathIntegral, Simulators::kPauliPropagator, Simulators::kQCSim, Simulators::kQiskitAer, Simulators::kQuestSim, Simulators::kStabilizer, Simulators::kStatevector, Simulators::kTensorNetwork, maestroInstance, qasm::QasmToCirc< Time >::ParseAndTranslate(), Json::JsonParserMaestro< Time >::ParseCircuit(), Simulators::Configuration::ParseGpuDevice(), and Json::JsonParserMaestro< Time >::ParseString().
| char * SimpleExecute | ( | unsigned long int | simpleSim, |
| const char * | circuitStr, | ||
| const char * | jsonConfig ) |
Definition at line 110 of file Interface.cpp.
References qasm::QasmToCirc< Time >::Failed(), Json::JsonParserMaestro< Time >::GetConfigString(), Simulators::kCompositeQCSim, Simulators::kCompositeQiskitAer, Simulators::kDensityMatrix, Simulators::kDistGpuSim, Simulators::kDistMpiGpuSim, Simulators::kExtendedStabilizer, Simulators::kGpuSim, Simulators::kMatrixProductState, Simulators::kPathIntegral, Simulators::kPauliPropagator, Simulators::kQCSim, Simulators::kQiskitAer, Simulators::kQuestSim, Simulators::kStabilizer, Simulators::kStatevector, Simulators::kTensorNetwork, maestroInstance, qasm::QasmToCirc< Time >::ParseAndTranslate(), Json::JsonParserMaestro< Time >::ParseCircuit(), Simulators::Configuration::ParseGpuDevice(), and Json::JsonParserMaestro< Time >::ParseString().