Distributed QUEST for GPU
QuEST_internal.h
Go to the documentation of this file.
1 // Distributed under MIT licence. See https://github.com/aniabrown/QuEST_GPU/blob/master/LICENCE.txt for details
2 
3 # ifndef QuEST_INTERNAL
4 # define QuEST_INTERNAL
5 
11 #include "QuEST_precision.h"
12 
13 extern const char* errorCodes[];
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 void phaseGate(MultiQubit multiQubit, const int targetQubit, enum phaseGateType type);
20 
28 REAL findProbabilityOfZero(MultiQubit multiQubit, const int measureQubit);
29 
30 
42 REAL measureInZero(MultiQubit multiQubit, const int measureQubit);
43 
44 // Validation
45 
47 
48 int validateAlphaBeta(Complex alpha, Complex beta);
49 
50 int validateUnitVector(REAL ux, REAL uy, REAL uz);
51 
52 
53 // Error reporting
54 
55 void exitWithError(int errorCode, const char *func);
56 
57 void QuESTAssert(int isValid, int errorCode, const char *func);
58 
59 unsigned long int hashString(char *str);
60 
61 #ifdef __cplusplus
62 }
63 #endif
64 
65 # endif
void phaseGate(MultiQubit multiQubit, const int targetQubit, enum phaseGateType type)
int validateMatrixIsUnitary(ComplexMatrix2 u)
Definition: QuEST.cpp:168
void QuESTAssert(int isValid, int errorCode, const char *func)
REAL measureInZero(MultiQubit multiQubit, const int measureQubit)
Update the state vector to be consistent with measuring measureQubit=0.
int validateAlphaBeta(Complex alpha, Complex beta)
Definition: QuEST.cpp:193
const char * errorCodes[]
Definition: QuEST.cpp:24
int validateUnitVector(REAL ux, REAL uy, REAL uz)
Definition: QuEST.cpp:201
void exitWithError(int errorCode, const char *func)
unsigned long int hashString(char *str)
Definition: QuEST.cpp:238
#define REAL
REAL findProbabilityOfZero(MultiQubit multiQubit, const int measureQubit)
Measure the probability of a specified qubit being in the zero state.
Represents a system of qubits.
Definition: QuEST.h:48
Represents a 2x2 matrix of complex numbers.
Definition: QuEST.h:34
Represents one complex number.
Definition: QuEST.h:26
phaseGateType
Definition: QuEST.h:79