|
Maestro 0.2.5
Unified interface for quantum circuit simulation
|
This graph shows which files directly or indirectly include this file: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 103 of file Interface.cpp.
References maestroInstance.
| unsigned long int AllocateQubits | ( | void * | sim, |
| unsigned long int | nrQubits | ||
| ) |
Definition at line 872 of file Interface.cpp.
References Simulators::IState::AllocateQubits().
| double * AllProbabilities | ( | void * | sim | ) |
Definition at line 965 of file Interface.cpp.
References Simulators::IState::AllProbabilities().
| double * Amplitude | ( | void * | sim, |
| unsigned long long int | outcome | ||
| ) |
Definition at line 951 of file Interface.cpp.
References Simulators::IState::Amplitude().
| int ApplyCCX | ( | void * | sim, |
| int | controlQubit1, | ||
| int | controlQubit2, | ||
| int | targetQubit | ||
| ) |
Definition at line 779 of file Interface.cpp.
References Simulators::ISimulator::ApplyCCX().
| int ApplyCH | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit | ||
| ) |
Definition at line 702 of file Interface.cpp.
References Simulators::ISimulator::ApplyCH().
| int ApplyCP | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit, | ||
| double | theta | ||
| ) |
Definition at line 735 of file Interface.cpp.
References Simulators::ISimulator::ApplyCP().
| int ApplyCRx | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit, | ||
| double | theta | ||
| ) |
Definition at line 746 of file Interface.cpp.
References Simulators::ISimulator::ApplyCRx().
| int ApplyCRy | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit, | ||
| double | theta | ||
| ) |
Definition at line 757 of file Interface.cpp.
References Simulators::ISimulator::ApplyCRy().
| int ApplyCRz | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit, | ||
| double | theta | ||
| ) |
Definition at line 768 of file Interface.cpp.
References Simulators::ISimulator::ApplyCRz().
| int ApplyCSwap | ( | void * | sim, |
| int | controlQubit, | ||
| int | qubit1, | ||
| int | qubit2 | ||
| ) |
Definition at line 802 of file Interface.cpp.
References Simulators::ISimulator::ApplyCSwap().
| int ApplyCSX | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit | ||
| ) |
Definition at line 713 of file Interface.cpp.
References Simulators::ISimulator::ApplyCSx().
| int ApplyCSXDG | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit | ||
| ) |
Definition at line 724 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 813 of file Interface.cpp.
References Simulators::ISimulator::ApplyCU().
| int ApplyCX | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit | ||
| ) |
Definition at line 669 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 680 of file Interface.cpp.
References Simulators::ISimulator::ApplyCY().
| int ApplyCZ | ( | void * | sim, |
| int | controlQubit, | ||
| int | targetQubit | ||
| ) |
Definition at line 691 of file Interface.cpp.
References Simulators::ISimulator::ApplyCZ().
| int ApplyH | ( | void * | sim, |
| int | qubit | ||
| ) |
Definition at line 525 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 602 of file Interface.cpp.
References Simulators::ISimulator::ApplyK().
| int ApplyP | ( | void * | sim, |
| int | qubit, | ||
| double | theta | ||
| ) |
Definition at line 613 of file Interface.cpp.
References Simulators::ISimulator::ApplyP().
| int ApplyReset | ( | void * | sim, |
| const unsigned long int * | qubits, | ||
| unsigned long int | nrQubits | ||
| ) |
Definition at line 915 of file Interface.cpp.
| int ApplyRx | ( | void * | sim, |
| int | qubit, | ||
| double | theta | ||
| ) |
Definition at line 624 of file Interface.cpp.
References Simulators::ISimulator::ApplyRx().
| int ApplyRy | ( | void * | sim, |
| int | qubit, | ||
| double | theta | ||
| ) |
Definition at line 635 of file Interface.cpp.
References Simulators::ISimulator::ApplyRy().
| int ApplyRz | ( | void * | sim, |
| int | qubit, | ||
| double | theta | ||
| ) |
Definition at line 646 of file Interface.cpp.
References Simulators::ISimulator::ApplyRz().
| int ApplyS | ( | void * | sim, |
| int | qubit | ||
| ) |
Definition at line 536 of file Interface.cpp.
References Simulators::ISimulator::ApplyS().
Referenced by Simulators::QcsimPauliPropagator::ApplyCH().
| int ApplySDG | ( | void * | sim, |
| int | qubit | ||
| ) |
Definition at line 547 of file Interface.cpp.
References Simulators::ISimulator::ApplySDG().
Referenced by Simulators::QcsimPauliPropagator::ApplyCH().
| int ApplySwap | ( | void * | sim, |
| int | qubit1, | ||
| int | qubit2 | ||
| ) |
Definition at line 791 of file Interface.cpp.
References Simulators::ISimulator::ApplySwap().
| int ApplySX | ( | void * | sim, |
| int | qubit | ||
| ) |
Definition at line 580 of file Interface.cpp.
References Simulators::ISimulator::ApplySx().
| int ApplySXDG | ( | void * | sim, |
| int | qubit | ||
| ) |
Definition at line 591 of file Interface.cpp.
References Simulators::ISimulator::ApplySxDAG().
| int ApplyT | ( | void * | sim, |
| int | qubit | ||
| ) |
Definition at line 558 of file Interface.cpp.
References Simulators::ISimulator::ApplyT().
| int ApplyTDG | ( | void * | sim, |
| int | qubit | ||
| ) |
Definition at line 569 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 657 of file Interface.cpp.
References Simulators::ISimulator::ApplyU().
| int ApplyX | ( | void * | sim, |
| int | qubit | ||
| ) |
Definition at line 491 of file Interface.cpp.
References Simulators::ISimulator::ApplyX().
Referenced by Simulators::QcsimPauliPropagator::ApplyCH().
| int ApplyY | ( | void * | sim, |
| int | qubit | ||
| ) |
Definition at line 503 of file Interface.cpp.
References Simulators::ISimulator::ApplyY().
| int ApplyZ | ( | void * | sim, |
| int | qubit | ||
| ) |
Definition at line 514 of file Interface.cpp.
References Simulators::ISimulator::ApplyZ().
| int ClearSimulator | ( | void * | sim | ) |
Definition at line 893 of file Interface.cpp.
References Simulators::IState::Clear().
| int ConfigureSimulator | ( | void * | sim, |
| const char * | key, | ||
| const char * | value | ||
| ) |
Definition at line 845 of file Interface.cpp.
References Simulators::IState::Configure().
| unsigned long int CreateSimpleSimulator | ( | int | nrQubits | ) |
Definition at line 73 of file Interface.cpp.
References maestroInstance.
| unsigned long int CreateSimulator | ( | int | simType, |
| int | simExecType | ||
| ) |
Definition at line 464 of file Interface.cpp.
References maestroInstance.
| void DestroySimpleSimulator | ( | unsigned long int | simHandle | ) |
Definition at line 82 of file Interface.cpp.
References maestroInstance.
| void DestroySimulator | ( | unsigned long int | simHandle | ) |
Definition at line 483 of file Interface.cpp.
References maestroInstance.
| int FlushSimulator | ( | void * | sim | ) |
Definition at line 1036 of file Interface.cpp.
References Simulators::IState::Flush().
| void FreeDoubleVector | ( | double * | vec | ) |
Definition at line 937 of file Interface.cpp.
| void FreeResult | ( | char * | result | ) |
Definition at line 457 of file Interface.cpp.
| void FreeULLIVector | ( | unsigned long long int * | vec | ) |
Definition at line 944 of file Interface.cpp.
| char * GetConfiguration | ( | void * | sim, |
| const char * | key | ||
| ) |
Definition at line 855 of file Interface.cpp.
References Simulators::IState::GetConfiguration().
| void * GetMaestroObject | ( | ) |
Definition at line 34 of file Interface.cpp.
References Simulators::SimulatorsFactory::InitGpuLibrary(), Simulators::SimulatorsFactory::InitQuestLibrary(), isInitialized, and maestroInstance.
| void * GetMaestroObjectWithMute | ( | ) |
Definition at line 54 of file Interface.cpp.
References isInitialized, and maestroInstance.
| int GetMultithreading | ( | void * | sim | ) |
Definition at line 1096 of file Interface.cpp.
References Simulators::IState::GetMultithreading().
| unsigned long int GetNumberOfQubits | ( | void * | sim | ) |
Definition at line 883 of file Interface.cpp.
References Simulators::IState::GetNumberOfQubits().
| int GetSimulationType | ( | void * | sim | ) |
Definition at line 1027 of file Interface.cpp.
| void * GetSimulator | ( | unsigned long int | simHandle | ) |
Definition at line 475 of file Interface.cpp.
References maestroInstance.
| int GetSimulatorType | ( | void * | sim | ) |
Definition at line 1018 of file Interface.cpp.
| int InitializeSimulator | ( | void * | sim | ) |
Definition at line 825 of file Interface.cpp.
References Simulators::IState::Initialize().
| int IsQcsim | ( | void * | sim | ) |
Definition at line 1105 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 903 of file Interface.cpp.
| unsigned long long int MeasureNoCollapse | ( | void * | sim | ) |
Definition at line 1114 of file Interface.cpp.
| double * Probabilities | ( | void * | sim, |
| const unsigned long long int * | qubits, | ||
| unsigned long int | nrQubits | ||
| ) |
Definition at line 978 of file Interface.cpp.
| double Probability | ( | void * | sim, |
| unsigned long long int | outcome | ||
| ) |
Definition at line 927 of file Interface.cpp.
References Simulators::IState::Probability().
| int RemoveAllOptimizationSimulatorsAndAdd | ( | unsigned long int | simHandle, |
| int | simType, | ||
| int | simExecType | ||
| ) |
Definition at line 91 of file Interface.cpp.
References maestroInstance.
| int ResetSimulator | ( | void * | sim | ) |
Definition at line 835 of file Interface.cpp.
References Simulators::IState::Reset().
| int RestoreInternalDestructiveSavedState | ( | void * | sim | ) |
Definition at line 1056 of file Interface.cpp.
References Simulators::IState::RestoreInternalDestructiveSavedState().
| int RestoreState | ( | void * | sim | ) |
Definition at line 1076 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 993 of file Interface.cpp.
| int SaveState | ( | void * | sim | ) |
Definition at line 1066 of file Interface.cpp.
References Simulators::IState::SaveState().
| int SaveStateToInternalDestructive | ( | void * | sim | ) |
Definition at line 1046 of file Interface.cpp.
References Simulators::IState::SaveStateToInternalDestructive().
| int SetMultithreading | ( | void * | sim, |
| int | multithreading | ||
| ) |
Definition at line 1086 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 306 of file Interface.cpp.
References qasm::QasmToCirc< Time >::Failed(), Json::JsonParserMaestro< Time >::GetConfigString(), Simulators::kCompositeQCSim, Simulators::kCompositeQiskitAer, Simulators::kGpuSim, Simulators::kMatrixProductState, Simulators::kPauliPropagator, Simulators::kQCSim, Simulators::kQiskitAer, Simulators::kQuestSim, Simulators::kStabilizer, Simulators::kStatevector, Simulators::kTensorNetwork, maestroInstance, qasm::QasmToCirc< Time >::ParseAndTranslate(), Json::JsonParserMaestro< Time >::ParseCircuit(), and Json::JsonParserMaestro< Time >::ParseString().
| char * SimpleExecute | ( | unsigned long int | simpleSim, |
| const char * | circuitStr, | ||
| const char * | jsonConfig | ||
| ) |
Definition at line 115 of file Interface.cpp.
References qasm::QasmToCirc< Time >::Failed(), Json::JsonParserMaestro< Time >::GetConfigString(), Simulators::kCompositeQCSim, Simulators::kCompositeQiskitAer, Simulators::kGpuSim, Simulators::kMatrixProductState, Simulators::kPauliPropagator, Simulators::kQCSim, Simulators::kQiskitAer, Simulators::kQuestSim, Simulators::kStabilizer, Simulators::kStatevector, Simulators::kTensorNetwork, maestroInstance, qasm::QasmToCirc< Time >::ParseAndTranslate(), Json::JsonParserMaestro< Time >::ParseCircuit(), and Json::JsonParserMaestro< Time >::ParseString().