corrupt_bitstring_probs¶
-
pyquil.noise.
corrupt_bitstring_probs
(p, assignment_probabilities)[source]¶ Given a 2d array of true bitstring probabilities (outer axis iterates over shots, inner axis over bits) and a list of assignment probability matrices (one for each bit in the readout, ordered like the inner axis of results) compute the corrupted probabilities.
Parameters: - p (np.array) – An array that enumerates bitstring probabilities. When
flattened out
p = [p_00...0, p_00...1, ...,p_11...1]
. The total number of elements must therefore be a power of 2. The canonical shape has a separate axis for each qubit, such thatp[i,j,...,k]
gives the estimated probability of bitstringij...k
. - assignment_probabilities (List[np.array]) –
A list of assignment probability matrices per qubit. Each assignment probability matrix is expected to be of the form:
[[p00 p01] [p10 p11]]
Returns: p_corrected
an array with as many dimensions as there are qubits that contains the noisy-readout-corrected estimated probabilities for each measured bitstring, i.e.,p[i,j,...,k]
gives the estimated probability of bitstringij...k
.Return type: np.array
- p (np.array) – An array that enumerates bitstring probabilities. When
flattened out