toqito.measurements.pretty_bad_measurement¶
Compute the set of pretty bad measurements from an ensemble.
Module Contents¶
- toqito.measurements.pretty_bad_measurement.pretty_bad_measurement(states, probs=None, tol=1e-08)[source]¶
Return the set of pretty bad measurements from a set of vectors and corresponding probabilities.
This computes the “pretty bad measurement” (PBM) as defined in [@McIrvin_2024_Pretty]. The PBM is an analogue to the “pretty good measurement” defined in [@Belavkin_1975_Optimal,Hughston_1993_Complete] and is useful for approximating the optimal measurement for state exclusion.
The PBM is defined in terms of the pretty good measurement (PGM). Given the PGM operators ((G_1, ldots, G_n)), the corresponding PBM is the set of POVMs ((B_1, ldots, B_n)) where
- [
B_i = frac{1}{n - 1} left(mathbb{I} - G_iright).
]
- !!! See Also
[pretty_good_measurement()][toqito.measurements.pretty_good_measurement.pretty_good_measurement]
Examples
Consider the collection of trine states.
- [
u_0 = |0rangle, quad u_1 = -frac{1}{2}left(|0rangle + sqrt{3}|1rangleright), quad text{and} quad u_2 = -frac{1}{2}left(|0rangle - sqrt{3}|1rangleright).
]
```python exec=”1” source=”above” from toqito.states import trine from toqito.measurements import pretty_bad_measurement
states = trine() probs = [1 / 3, 1 / 3, 1 / 3] pbm = pretty_bad_measurement(states, probs) print(pbm) ```
- Raises:
ValueError – If number of states does not match number of probabilities.
ValueError – If probabilities do not sum to 1.
- Parameters:
states (list[numpy.ndarray]) – A collection of states provided as either vectors or density matrices.
probs (list[float] | None) – A set of fixed probabilities for each quantum state. If not provided, a uniform distribution is assumed.
tol (float) – A tolerance value for numerical comparisons.
- Returns:
A list of POVM operators for the PBM.
- Return type:
list[numpy.ndarray]