Квантовая телепортация
Квантовая телепортация#
Автор(ы):
Пожалуй, пришло время познакомиться с квантовой телепортацией.
Часто вижу в новостях “телепортировали кубит”, “телепортировали электрон”. Но это лишь игра слов… Рассмотрим два запутанных электрона – первый находится у вас, а второй у вашего друга. И под телепортацией подразумевается вот что: вы, используя допустимую операцию, изменяете состояние своего электрона, и второй (запутанный с ним), также изменит свое состояние (в соответствии с примененной операцией). Вам остается лишь выбрать допустимую операцию.
Давайте сейчас посмотрим на состояния Белла (Bell states). Прошу:
Это четыре всадника квантовой запутанности. И у них есть много преимуществ: используют всего два кубита, их легко получить… А что нам еще нужно? Дальше в примере мы воспользуемся одним из этих состояний.
Теперь работаем в терминах квантовой теории информации – это сильно поможет с пониманием остальных тем нашего с вами курса.
Итак, квантовая телепортация будет проводиться двумя персонами – Алисой и Бобом, из которых первые два кубита контролируются Алисой, а третий – Бобом. Алиса хочет передать Бобу закодированное сообщение (отождествляемое с квантовым состоянием):
Изначально, вся система из трех кубитов будет иметь следующее состояние:
Алиса и Боб
Первые два шага являются подготовительными. Поэтому Боб находится рядом и ждет, пока Алиса проведет необходимые операции.
Алиса применяет гейт Адамара ко второму кубиту:
Далее Алиса использует гейт CNOT для того, чтобы запутать второй кубит с третьим:
Алиса и Боб
Теперь состояния готовы. Сейчас Боб, забрав третий кубит с собой, отправляется по своим делам. И Алиса, в случае необходимости, сможет передать ему послание.
Алиса применяет CNOT между первым и вторым кубитами. Вспоминая, что
:Алиса применяет гейт Адамара на своем первом кубите:
Внимание
Видно, что в каждой строчке у нас получаются разные состояния, по первым двум кубитам мы можем определить, в каком будет третий. Обратите внимание на общий множитель
в первой строчке, не пропустите.Алисе нужно теперь измерить первые 2 кубита и станет ясно, в какое из четырех состояний перейдет кубит Боба:
В зависимости от полученных по классическому каналу данных, Боб должен применить одну из операций для того, чтобы восстановить исходное состояние:
Одним из ограничений квантовой телепортации является необходимость передать результаты измерений первых двух кубитов от Алисы к Бобу по классическому каналу (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 └─────┘