states.pusey_barrett_rudolph

Construct a set of mutually unbiased bases.

Functions

pusey_barrett_rudolph(n, theta)

Produce set of Pusey-Barrett-Rudolph (PBR) states [1].

Module Contents

states.pusey_barrett_rudolph.pusey_barrett_rudolph(n, theta)

Produce set of Pusey-Barrett-Rudolph (PBR) states [1].

Let \(\theta \in [0, \pi/2]\) be an angle. Define the states

\[|\psi_0\rangle = \cos(\frac{\theta}{2})|0\rangle + \sin(\frac{\theta}{2})|1\rangle \quad \text{and} \quad |\psi_1\rangle = \cos(\frac{\theta}{2})|0\rangle - \sin(\frac{\theta}{2})|1\rangle.\]

For some \(n \geq 1\), define a basis of \(2^n\) states where

\[|\Psi_i\rangle = |\psi_{x_i}\rangle \otimes \cdots \otimes |\psi_{x_n}\rangle.\]

These PBR states are defined in Equation (A6) from [1].

Examples

Generating the PBR states can be done by simply invoking the function with a given choice of n and theta:

>>> from toqito.states import pusey_barrett_rudolph
>>> pusey_barrett_rudolph(n=1, theta=0.5)
[array([[0.96891242],
...    [0.24740396]]), array([[ 0.96891242],
...    [-0.24740396]])]

References

[1] (1,2,3)

Matthew F. Pusey, Jonathan Barrett, and Terry Rudolph. On the reality of the quantum state. Nature Physics, 8(6):475–478, May 2012. URL: http://dx.doi.org/10.1038/nphys2309, doi:10.1038/nphys2309.

Parameters:
  • n (int) – The number of states in the set.

  • theta (float) – Angle parameter that defines the states.

Returns:

Vector of trine states.

Return type:

list[numpy.ndarray]