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

Function applyMultiQubitProjector

quest/src/api/operations.cpp:1570–1583  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1568}
1569
1570void applyMultiQubitProjector(Qureg qureg, int* qubits, int* outcomes, int numQubits) {
1571 validate_quregFields(qureg, __func__);
1572 validate_targets(qureg, qubits, numQubits, __func__);
1573 validate_measurementOutcomesAreValid(outcomes, numQubits, __func__);
1574
1575 qreal prob = 1;
1576 auto qubitVec = util_getVector(qubits, numQubits);
1577 auto outcomeVec = util_getVector(outcomes, numQubits);
1578
1579 // density matrix has an optimised func in lieu of calling the statevector func twice
1580 (qureg.isDensityMatrix)?
1581 localiser_densmatr_multiQubitProjector(qureg, qubitVec, outcomeVec, prob):
1582 localiser_statevec_multiQubitProjector(qureg, qubitVec, outcomeVec, prob);
1583}
1584
1585} // end de-mangler
1586

Callers 1

SECTIONFunction · 0.85

Tested by

no test coverage detected