:py:mod:`states.bb84` ===================== .. py:module:: states.bb84 .. autoapi-nested-parse:: BB84 basis states. Module Contents --------------- Functions ~~~~~~~~~ .. autoapisummary:: states.bb84.bb84 .. py:function:: bb84() Obtain the BB84 basis states :cite:`WikiBB84`. The BB84 basis states are defined as .. math:: |0\rangle := \begin{pmatrix} 1 \\ 0 \end{pmatrix}, \quad \\ |1\rangle := \begin{pmatrix} 0 \\ 1 \end{pmatrix}, \quad \\ |+\rangle := \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \end{pmatrix}, \quad \\ |-\rangle := \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ -1 \end{pmatrix}. .. rubric:: Examples The BB84 basis states can be obtained in :code:`toqito` as follows in the form of a list of arrays. >>> from toqito.states import bb84 >>> bb84() [[array([[1.], [0.]]), array([[0.], [1.]])], [array([[0.70710678], [0.70710678]]), array([[ 0.70710678], [-0.70710678]])]] .. note:: We use `#doctest` to verify our examples work as expected. `# doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE` is used here to make sure doctest matches the calculated output to be close to the expected output instead of making sure both match exactly. .. rubric:: References .. bibliography:: :filter: docname in docnames :return: The four BB84 basis states.