states.gen_bell

Generalized Bell state represents a bigger set of Bell states.

This set includes the standard bell states and other higher dimensional bell states as well. Generalized Bell states are the basis of multidimensional bipartite states having maximum entanglement.

Functions

gen_bell(k_1, k_2, dim)

Produce a generalized Bell state [1].

Module Contents

states.gen_bell.gen_bell(k_1, k_2, dim)

Produce a generalized Bell state [1].

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

1bell(0) : gen_bell(0, 0, 2)
2
3bell(1) : gen_bell(0, 1, 2)
4
5bell(2) : gen_bell(1, 0, 2)
6
7bell(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)
array([[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)
array([[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

[1] (1,2)

Denis Sych and Gerd Leuchs. A complete basis of generalized bell states. New Journal of Physics, 11(1):013006, Jan 2009. URL: https://dx.doi.org/10.1088/1367-2630/11/1/013006, doi:10.1088/1367-2630/11/1/013006.

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

  • k_2 (int) – An integer 0 <= k_2 <= n.

  • dim (int) – The dimension of the generalized Bell state.

Return type:

numpy.ndarray