toqito.states.pusey_barrett_rudolph

Construct a set of mutually unbiased bases.

Module Contents

toqito.states.pusey_barrett_rudolph.pusey_barrett_rudolph(n, theta)[source]

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

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

[
|psi_0rangle = cos(frac{theta}{2})|0rangle +

sin(frac{theta}{2})|1rangle

quad text{and} quad |psi_1rangle = cos(frac{theta}{2})|0rangle -

sin(frac{theta}{2})|1rangle.

]

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

[

|Psi_irangle = |psi_{x_i}rangle otimes cdots otimes |psi_{x_n}rangle.

]

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

Examples

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

`python exec="1" source="above" from toqito.states import pusey_barrett_rudolph print(pusey_barrett_rudolph(n=1, theta=0.5)) `

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]