toqito.measurements.pretty_bad_measurement ========================================== .. py:module:: toqito.measurements.pretty_bad_measurement .. autoapi-nested-parse:: Compute the set of pretty bad measurements from an ensemble. Module Contents --------------- .. py:function:: pretty_bad_measurement(states, probs = None, tol = 1e-08) 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_i\right). \] !!! See Also [pretty_good_measurement()][toqito.measurements.pretty_good_measurement.pretty_good_measurement] .. rubric:: Examples Consider the collection of trine states. \[ u_0 = |0\rangle, \quad u_1 = -\frac{1}{2}\left(|0\rangle + \sqrt{3}|1\rangle\right), \quad \text{and} \quad u_2 = -\frac{1}{2}\left(|0\rangle - \sqrt{3}|1\rangle\right). \] ```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. :raises ValueError: If probabilities do not sum to 1. :param states: A collection of states provided as either vectors or density matrices. :param probs: A set of fixed probabilities for each quantum state. If not provided, a uniform distribution is assumed. :param tol: A tolerance value for numerical comparisons. :returns: A list of POVM operators for the PBM.