states.gen_bell
¶
Generalized Bell state.
Module Contents¶
Functions¶
|
Produce a generalized Bell state [1]. |
- 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