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]