MCPcopy Create free account
hub / github.com/QuEST-Kit/QuEST / prepareRandomPauliStrSum

Function prepareRandomPauliStrSum

examples/isolated/reporting_paulis.cpp:64–88  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62
63
64PauliStrSum prepareRandomPauliStrSum(int numQubits, int numTerms) {
65
66 vector<char> paulis(numQubits);
67 vector<int> qubits(numQubits);
68 for (int i=0; i<numQubits; i++)
69 qubits[i] = i;
70
71 vector<qcomp> coeffs(numTerms);
72 vector<PauliStr> strings(numTerms);
73 qreal randMax = static_cast<qreal>(RAND_MAX);
74
75 for (int i=0; i<numTerms; i++) {
76 coeffs[i] = getQcomp(
77 rand() / randMax,
78 rand() / randMax);
79
80 for (int j=0; j<numQubits; j++)
81 paulis[j] = "IXYZ"[rand() % 4];
82
83 string seq = string(paulis.begin(), paulis.end());
84 strings[i] = getPauliStr(seq, qubits);
85 }
86
87 return createPauliStrSum(strings, coeffs);
88}
89
90
91void demo_PauliStrSum() {

Callers 1

demo_PauliStrSumFunction · 0.70

Calls 3

getQcompFunction · 0.85
getPauliStrFunction · 0.85
createPauliStrSumFunction · 0.85

Tested by

no test coverage detected