toqito.states.gen_bell

toqito.states.gen_bell(k_1, k_2, dim)[source]

Produce a generalized Bell state [DL09].

Produces a generalized Bell state. Note that the standard Bell states can be recovered as:

``` bell(0) : gen_bell(0, 0, 2)

bell(1) : gen_bell(0, 1, 2)

bell(2) : gen_bell(1, 0, 2)

bell(3) : gen_bell(1, 1, 2) ```

Examples

For \(d = 2\) and \(k_1 = k_2 = 0\), this generates the following matrix

\[\begin{split}G = \frac{1}{2} \begin{pmatrix} 1 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 1 & 0 & 0 & 1 \end{pmatrix}\end{split}\]

which is equivalent to \(|\phi_0 \rangle \langle \phi_0 |\) where

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

is one of the four standard Bell states. This can be computed via toqito as follows.

>>> from toqito.states import gen_bell
>>> dim = 2
>>> k_1 = 0
>>> k_2 = 0
>>> gen_bell(k_1, k_2, dim)
[[0.5+0.j, 0. +0.j, 0. +0.j, 0.5+0.j],
 [0. +0.j, 0. +0.j, 0. +0.j, 0. +0.j],
 [0. +0.j, 0. +0.j, 0. +0.j, 0. +0.j],
 [0.5+0.j, 0. +0.j, 0. +0.j, 0.5+0.j]]

It is possible for us to consider higher dimensional Bell states. For instance, we can consider the \(3\)-dimensional Bell state for \(k_1 = k_2 = 0\) as follows.

>>> from toqito.states import gen_bell
>>> dim = 3
>>> k_1 = 0
>>> k_2 = 0
>>> gen_bell(k_1, k_2, dim)
[[0.33333333+0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.33333333+0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.33333333+0.j],
 [0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j],
 [0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j],
 [0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j],
 [0.33333333+0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.33333333+0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.33333333+0.j],
 [0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j],
 [0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j],
 [0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.        +0.j],
 [0.33333333+0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.33333333+0.j, 0.        +0.j, 0.        +0.j, 0.        +0.j,
  0.33333333+0.j]]

References

[DL09]

Sych, Denis, and Gerd Leuchs. “A complete basis of generalized Bell states.” New Journal of Physics 11.1 (2009): 013006.

Parameters:
  • k_1 – An integer 0 <= k_1 <= n.

  • k_2 – An integer 0 <= k_2 <= n.

  • dim – The dimension of the generalized Bell state.