Квантовая телепортация#

Автор(ы):

Пожалуй, пришло время познакомиться с квантовой телепортацией.

Часто вижу в новостях “телепортировали кубит”, “телепортировали электрон”. Но это лишь игра слов… Рассмотрим два запутанных электрона – первый находится у вас, а второй у вашего друга. И под телепортацией подразумевается вот что: вы, используя допустимую операцию, изменяете состояние своего электрона, и второй (запутанный с ним), также изменит свое состояние (в соответствии с примененной операцией). Вам остается лишь выбрать допустимую операцию.

Давайте сейчас посмотрим на состояния Белла (Bell states). Прошу:

(11)#\[ |\beta_{00}\rangle = \frac{1}{\sqrt{2}} (|00\rangle + |11\rangle)\]
\[ |\beta_{01}\rangle = \frac{1}{\sqrt{2}} (|01\rangle + |10\rangle)\]
\[ |\beta_{10}\rangle = \frac{1}{\sqrt{2}} (|00\rangle - |11\rangle)\]
\[ |\beta_{11}\rangle = \frac{1}{\sqrt{2}} (|01\rangle - |10\rangle)\]

Это четыре всадника квантовой запутанности. И у них есть много преимуществ: используют всего два кубита, их легко получить… А что нам еще нужно? Дальше в примере мы воспользуемся одним из этих состояний.

Теперь работаем в терминах квантовой теории информации – это сильно поможет с пониманием остальных тем нашего с вами курса.

Итак, квантовая телепортация будет проводиться двумя персонами – Алисой и Бобом, из которых первые два кубита контролируются Алисой, а третий – Бобом. Алиса хочет передать Бобу закодированное сообщение (отождествляемое с квантовым состоянием): \( |\psi\rangle = \alpha|0\rangle + \beta|1\rangle \)

Изначально, вся система из трех кубитов будет иметь следующее состояние: \( |\psi_{0}\rangle = |\psi\rangle|0\rangle|0\rangle \). Т.е. первый кубит находится в состоянии \( |\psi\rangle \), которое затем будет передаваться с помощью второго кубита на третий.

Алиса и Боб

Первые два шага являются подготовительными. Поэтому Боб находится рядом и ждет, пока Алиса проведет необходимые операции.

  1. Алиса применяет гейт Адамара ко второму кубиту:

    \[ |\psi_{1}\rangle = (I \otimes H \otimes I)|\psi_{0}\rangle = (I \otimes H \otimes I) |\psi\rangle|0\rangle|0\rangle = \frac{1}{\sqrt{2}}|\psi\rangle(|0\rangle + |1\rangle)|0\rangle \]
  2. Далее Алиса использует гейт CNOT для того, чтобы запутать второй кубит с третьим:

    \[ |\psi_{2}\rangle = (I \otimes CNOT(2,3))|\psi_{1}\rangle =\]
    \[(I \otimes CNOT(2,3))\frac{1}{\sqrt{2}}|\psi\rangle(|0\rangle + |1\rangle)|0\rangle = \frac{1}{\sqrt{2}}|\psi\rangle(|0\rangle|0\rangle + |1\rangle|1\rangle)\]

    Алиса и Боб

    Теперь состояния готовы. Сейчас Боб, забрав третий кубит с собой, отправляется по своим делам. И Алиса, в случае необходимости, сможет передать ему послание.

  3. Алиса применяет CNOT между первым и вторым кубитами. Вспоминая, что \( |\psi\rangle = \alpha|0\rangle + \beta|1\rangle \):

    \[|\psi_{3}\rangle = (CNOT(1, 2) \otimes I)|\psi_{2}\rangle =\]
    \[(CNOT(1, 2) \otimes I)\frac{1}{\sqrt{2}}(\alpha|0\rangle + \beta|1\rangle)(|00\rangle + |11\rangle) =\]
    \[ = \frac{1}{\sqrt{2}}[\alpha(|000\rangle + |011\rangle) + \beta(|110\rangle + |101\rangle)] \]
  4. Алиса применяет гейт Адамара на своем первом кубите:

    \[ |\psi_4\rangle = (H \otimes I \otimes I)|\psi_{3}\rangle = \]
    \[\frac{1}{2} [|00\rangle(\alpha|0\rangle + \beta|1\rangle) +\]
    \[ |01\rangle(\alpha|1\rangle + \beta|0\rangle)+ \]
    \[ |10\rangle(\alpha|0\rangle - \beta|1\rangle)+ \]
    \[ |11\rangle(\alpha|1\rangle - \beta|0\rangle)] \]

    Внимание

    Видно, что в каждой строчке у нас получаются разные состояния, по первым двум кубитам мы можем определить, в каком будет третий. Обратите внимание на общий множитель \(\frac{1}{2}\) в первой строчке, не пропустите.

  5. Алисе нужно теперь измерить первые 2 кубита и станет ясно, в какое из четырех состояний перейдет кубит Боба:

    \[\begin{split} \begin{array} {|r|r|} \hline 00 & \alpha|0\rangle + \beta|1\rangle \\ \hline 01 & \alpha|1\rangle + \beta|0\rangle \\ \hline 10 & \alpha|0\rangle - \beta|1\rangle \\ \hline 11 & \alpha|1\rangle - \beta|0\rangle \\ \hline \end{array} \end{split}\]
  6. В зависимости от полученных по классическому каналу данных, Боб должен применить одну из операций для того, чтобы восстановить исходное состояние:

\[\begin{split} \begin{array} {|r|r|} \hline 00 & I \\ \hline 01 & X \\ \hline 10 & Z \\ \hline 11 & ZX \\ \hline \end{array} \end{split}\]

Одним из ограничений квантовой телепортации является необходимость передать результаты измерений первых двух кубитов от Алисы к Бобу по классическому каналу (5 шаг). Поэтому весь протокол выполняется не быстрее скорости света.

Приведем данную схему:

from qiskit import QuantumCircuit, ClassicalRegister, QuantumRegister

# создаем необходимые регистры
qr = QuantumRegister(3, name="q")
crz = ClassicalRegister(1, name="crz")
crx = ClassicalRegister(1, name="crx")

# создаем схему
qc = QuantumCircuit(qr, crz, crx)

# Шаг 1
qc.h(qr[1])
# Шаг 2
qc.cx(qr[1], qr[2])

# Шаг 3
qc.cx(qr[0], qr[1])
# Шаг 4
qc.h(qr[0])

# Шаг 5 - измеряются 2 кубита Алисы, чтобы передать результат Бобу
qc.measure(qr[0], crz)
qc.measure(qr[1], crx)

# Шаг 6 - применяются гейт X и гейт Z в завиимости от того, какое из измерений дает результат 1.
qc.x(qr[2]).c_if(crx, 1)
qc.z(qr[2]).c_if(crz, 1)

qc.draw()
                      ┌───┐┌─┐              
  q_0: ────────────■──┤ H ├┤M├──────────────
       ┌───┐     ┌─┴─┐└┬─┬┘└╥┘              
  q_1: ┤ H ├──■──┤ X ├─┤M├──╫───────────────
       └───┘┌─┴─┐└───┘ └╥┘  ║  ┌───┐  ┌───┐ 
  q_2: ─────┤ X ├───────╫───╫──┤ X ├──┤ Z ├─
            └───┘       ║   ║  └─╥─┘  └─╥─┘ 
                        ║   ║    ║   ┌──╨──┐
crz: 1/═════════════════╬═══╩════╬═══╡ = 1 ╞
                        ║   0 ┌──╨──┐└─────┘
crx: 1/═════════════════╩═════╡ = 1 ╞═══════
                        0     └─────┘       

Лекция и реализация квантовой телепортации в Qiskit