QuEST_validation.h
Go to the documentation of this file.
1 // Distributed under MIT licence. See https://github.com/QuEST-Kit/QuEST/blob/master/LICENCE.txt for details
41 void validateMultiTargets(Qureg qurge, int* targetQubits, int numTargetQubits, const char* caller);
43 void validateMultiControls(Qureg qureg, int* controlQubits, int numControlQubits, const char* caller);
45 void validateMultiControlsTarget(Qureg qureg, int* controlQubits, int numControlQubits, int targetQubit, const char* caller);
47 void validateMultiControlsMultiTargets(Qureg qureg, int* controlQubits, int numControlQubits, int* targetQubits, int numTargetQubits, const char* caller);
57 void validateMultiQubitUnitaryMatrix(Qureg qureg, ComplexMatrixN u, int numTargs, const char* caller);
79 void validateNumAmps(Qureg qureg, long long int startInd, long long int numAmps, const char* caller);
103 void validateOneQubitKrausMap(Qureg qureg, ComplexMatrix2* ops, int numOps, const char* caller);
105 void validateTwoQubitKrausMap(Qureg qureg, ComplexMatrix4* ops, int numOps, const char* caller);
107 void validateMultiQubitKrausMap(Qureg qureg, int numTargs, ComplexMatrixN* ops, int numOps, const char* caller);
117 void validateHamilFileParams(int numQubits, int numTerms, FILE* file, char* fn, const char* caller);
119 void validateHamilFileCoeffParsed(int parsed, PauliHamil h, FILE* file, char* fn, const char* caller);
121 void validateHamilFilePauliParsed(int parsed, PauliHamil h, FILE* file, char* fn, const char* caller);
123 void validateHamilFilePauliCode(enum pauliOpType code, PauliHamil h, FILE* file, char* fn, const char* caller);
131 void validateNumElems(DiagonalOp op, long long int startInd, long long int numElems, const char* caller);
void validateOneQubitDephaseProb(qreal prob, const char *caller)
Definition: QuEST_validation.c:527
void validateNumPauliSumTerms(int numTerms, const char *caller)
Definition: QuEST_validation.c:570
void validateMatchingQuregDims(Qureg qureg1, Qureg qureg2, const char *caller)
Definition: QuEST_validation.c:495
void validateMatchingQuregPauliHamilDims(Qureg qureg, PauliHamil hamil, const char *caller)
Definition: QuEST_validation.c:624
void validateAmpIndex(Qureg qureg, long long int ampInd, const char *caller)
Definition: QuEST_validation.c:346
void validateHamilParams(int numQubits, int numTerms, const char *caller)
Definition: QuEST_validation.c:615
void validateSecondQuregStateVec(Qureg qureg2, const char *caller)
Definition: QuEST_validation.c:503
void validateTwoQubitDephaseProb(qreal prob, const char *caller)
Definition: QuEST_validation.c:532
void validateControlTarget(Qureg qureg, int controlQubit, int targetQubit, const char *caller)
Definition: QuEST_validation.c:372
void validateDiagonalOp(Qureg qureg, DiagonalOp op, const char *caller)
Definition: QuEST_validation.c:677
void validateOneQubitDepolProb(qreal prob, const char *caller)
Definition: QuEST_validation.c:537
void validateMultiControlsTarget(Qureg qureg, int *controlQubits, int numControlQubits, int targetQubit, const char *caller)
Definition: QuEST_validation.c:416
void validateNumQubitsInDiagOp(int numQubits, int numRanks, const char *caller)
Definition: QuEST_validation.c:329
void validateStateIndex(Qureg qureg, long long int stateInd, const char *caller)
Definition: QuEST_validation.c:341
void validateNumQubitsInMatrix(int numQubits, const char *caller)
Definition: QuEST_validation.c:325
void validateNumRanks(int numRanks, const char *caller)
Definition: QuEST_validation.c:299
void validateHamilFilePauliCode(enum pauliOpType code, PauliHamil h, FILE *file, char *fn, const char *caller)
Definition: QuEST_validation.c:657
void validateStateVecQureg(Qureg qureg, const char *caller)
Definition: QuEST_validation.c:479
void validateMultiQubitMatrixFitsInNode(Qureg qureg, int numTargets, const char *caller)
Definition: QuEST_validation.c:437
void validateHamilFileCoeffParsed(int parsed, PauliHamil h, FILE *file, char *fn, const char *caller)
Definition: QuEST_validation.c:637
void validateOneQubitKrausMap(Qureg qureg, ComplexMatrix2 *ops, int numOps, const char *caller)
Definition: QuEST_validation.c:574
void validateUniqueTargets(Qureg qureg, int qubit1, int qubit2, const char *caller)
Definition: QuEST_validation.c:378
void validateOneQubitPauliProbs(qreal probX, qreal probY, qreal probZ, const char *caller)
Definition: QuEST_validation.c:552
void validateNumQubitsInQureg(int numQubits, int numRanks, const char *caller)
Definition: QuEST_validation.c:313
void validateMultiQubitUnitaryMatrix(Qureg qureg, ComplexMatrixN u, int numTargs, const char *caller)
Definition: QuEST_validation.c:466
#define qreal
void validateMultiQubitMatrix(Qureg qureg, ComplexMatrixN u, int numTargs, const char *caller)
Definition: QuEST_validation.c:460
void validateMultiQubitKrausMap(Qureg qureg, int numTargs, ComplexMatrixN *ops, int numOps, const char *caller)
Definition: QuEST_validation.c:598
void validateMeasurementProb(qreal prob, const char *caller)
Definition: QuEST_validation.c:491
void validateMultiQubits(Qureg qureg, int *qubits, int numQubits, const char *caller)
Definition: QuEST_validation.c:408
void validatePauliCodes(enum pauliOpType *pauliCodes, int numPauliCodes, const char *caller)
Definition: QuEST_validation.c:563
void validateUnitaryComplexPair(Complex alpha, Complex beta, const char *caller)
Definition: QuEST_validation.c:471
void validateControlState(int *controlState, int numControlQubits, const char *caller)
Definition: QuEST_validation.c:432
void validateMatrixInit(ComplexMatrixN matr, const char *caller)
Definition: QuEST_validation.c:450
void validateNumElems(DiagonalOp op, long long int startInd, long long int numElems, const char *caller)
Definition: QuEST_validation.c:357
void validateTarget(Qureg qureg, int targetQubit, const char *caller)
Definition: QuEST_validation.c:364
void validateOutcome(int outcome, const char *caller)
Definition: QuEST_validation.c:487
Represents a diagonal complex operator on the full Hilbert state of a Qureg.
Definition: QuEST.h:178
void validateTwoQubitKrausMap(Qureg qureg, ComplexMatrix4 *ops, int numOps, const char *caller)
Definition: QuEST_validation.c:586
void validateTwoQubitDepolProb(qreal prob, const char *caller)
Definition: QuEST_validation.c:547
void validateMultiTargets(Qureg qurge, int *targetQubits, int numTargetQubits, const char *caller)
Definition: QuEST_validation.c:392
void validatePauliHamil(PauliHamil hamil, const char *caller)
Definition: QuEST_validation.c:619
void validateTwoQubitUnitaryMatrix(Qureg qureg, ComplexMatrix4 u, const char *caller)
Definition: QuEST_validation.c:445
void validateNumAmps(Qureg qureg, long long int startInd, long long int numAmps, const char *caller)
Definition: QuEST_validation.c:351
void validateDensityMatrQureg(Qureg qureg, const char *caller)
Definition: QuEST_validation.c:483
void validateMatchingQuregTypes(Qureg qureg1, Qureg qureg2, const char *caller)
Definition: QuEST_validation.c:499
void validateHamilFilePauliParsed(int parsed, PauliHamil h, FILE *file, char *fn, const char *caller)
Definition: QuEST_validation.c:647
void validateOneQubitUnitaryMatrix(ComplexMatrix2 u, const char *caller)
Definition: QuEST_validation.c:441
void validateMultiControlsMultiTargets(Qureg qureg, int *controlQubits, int numControlQubits, int *targetQubits, int numTargetQubits, const char *caller)
Definition: QuEST_validation.c:423
void validateHamilFileParams(int numQubits, int numTerms, FILE *file, char *fn, const char *caller)
Definition: QuEST_validation.c:628
void validateFileOpened(int opened, char *fn, const char *caller)
Definition: QuEST_validation.c:507
void validateTrotterParams(int order, int reps, const char *caller)
Definition: QuEST_validation.c:667
void validateMultiControls(Qureg qureg, int *controlQubits, int numControlQubits, const char *caller)
Definition: QuEST_validation.c:400
void validateOneQubitDampingProb(qreal prob, const char *caller)
Definition: QuEST_validation.c:542
void validateDiagOpInit(DiagonalOp, const char *caller)
Definition: QuEST_validation.c:673
void validateVector(Vector vector, const char *caller)
Definition: QuEST_validation.c:475
void validateNormProbs(qreal prob1, qreal prob2, const char *caller)
Definition: QuEST_validation.c:519