states.bell

Bell state.

Module Contents

Functions

bell(idx)

Produce a Bell state [1].

states.bell.bell(idx)

Produce a Bell state [1].

Returns one of the following four Bell states depending on the value of idx:

\[\begin{split}\begin{equation} \begin{aligned} u_0 = \frac{1}{\sqrt{2}} \left( |00 \rangle + |11 \rangle \right), & \qquad & u_1 = \frac{1}{\sqrt{2}} \left( |00 \rangle - |11 \rangle \right), \\ u_2 = \frac{1}{\sqrt{2}} \left( |01 \rangle + |10 \rangle \right), & \qquad & u_3 = \frac{1}{\sqrt{2}} \left( |01 \rangle - |10 \rangle \right). \end{aligned} \end{equation}\end{split}\]

Examples

When idx = 0, this produces the following Bell state:

\[u_0 = \frac{1}{\sqrt{2}} \left( |00 \rangle + |11 \rangle \right).\]

Using toqito, we can see that this yields the proper state.

>>> from toqito.states import bell
>>> import numpy as np
>>> bell(0)
array([[0.70710678],
       [0.        ],
       [0.        ],
       [0.70710678]])

References

[1] (1,2)

Wikipedia. Bell state. https://en.wikipedia.org/wiki/Bell_state.

Raises:

ValueError – If idx is not an integer.

Parameters:

idx (int) – A parameter in [0, 1, 2, 3]

Returns:

Bell state with index idx.

Return type:

numpy.ndarray