| 119 | |
| 120 | |
| 121 | void mixKrausMap(Qureg qureg, int* qubits, int numQubits, KrausMap map) { |
| 122 | validate_quregFields(qureg, __func__); |
| 123 | validate_quregIsDensityMatrix(qureg, __func__); |
| 124 | validate_targets(qureg, qubits, numQubits, __func__); |
| 125 | validate_mixedAmpsFitInNode(qureg, 2*numQubits, __func__); // superop acts on 2x |
| 126 | validate_krausMapIsCPTP(map, __func__); // also checks fields and is-sync |
| 127 | validate_krausMapMatchesTargets(map, numQubits, __func__); |
| 128 | |
| 129 | localiser_densmatr_krausMap(qureg, map, util_getVector(qubits, numQubits)); |
| 130 | } |
| 131 | |
| 132 | |
| 133 | void mixQureg(Qureg outQureg, Qureg inQureg, qreal inProb) { |
no test coverage detected