Как создать квантовые схемы с нуля

9

Сейчас я занимаюсь самообучением, используя в основном книгу «Квантовые вычисления - нежное введение» Элеоноры Риффель и Вольфганга Полака.

Прохождение более ранних глав и упражнений прошло довольно хорошо (к счастью, у более ранних глав было множество примеров), однако я застрял в 5-й главе о квантовых цепях. Хотя я понимаю концепции, представленные авторами, возможно, из-за отсутствия примеров, у меня возникают проблемы с применением указанных концепций к упражнениям.

Упражнения, с которыми у меня возникают проблемы (и где я не могу найти решение или полное / вводное объяснение), следующие:

Вопросов:

Разработать схему для создания: |Wn=1n(|0001+|0010+|0100)++|1000) от |0000

И разработаем схему для создания «Харди состояния»: 112(3|00+|01+|10+|11)

Может ли кто-нибудь указать мне правильное направление или направить меня к некоторым литературным / учебным пособиям, чтобы я мог лучше понять такие упражнения?

Возможно, связанный вопрос: Советы и рекомендации по построению схем для генерации произвольных квантовых состояний

Joery
источник
1
Я не знаком с состоянием Харди, но вы можете проверить, что вы написали? Это не нормализовано (и довольно тривиально), так что я думаю, это не то, что вы намеревались. Для W-состояния вы, вероятно, хотите проверить этот вопрос .
DaftWullie
Вы правы, я сделал несколько опечаток. Я их отредактировал, теперь они исправлены / нормализованы. И благодарю вас!
Joery
1
Кстати, в этой статье arxiv.org/abs/quant-ph/0104030 дается общая методика построения произвольных квантовых состояний.
парадокс

Ответы:

7

Как отметил DaftWullie, вопрос о Wnимеет отличную коллекцию ответов здесь .

Для вопроса о состоянии Харди (и многих других подобных задач) вы можете подойти к нему следующим образом.

  • Начните с |0...0 штат.
  • Начните с помещения первого кубита «в правильное состояние», который является состоянием (α|0+β|1)|0...0, где α а также βявляются относительными весами всех базисных состояний, которые начинаются с 0 и с 1, соответственно. В частности, для состояния Харди два базовых состояния начинаются с 0:112(3|00+|01) и два основных состояния начинаются с 1: 112(|10+|11); их относительные веса - это просто суммы квадратов их амплитуд:912+112=1012 а также 112+112=212соответственно. Так что вам нужно поставить первый кубит в состояние(1012|0+212|1) с помощью Ry Ворота.
  • Продолжите, поместив второй кубит в правильное состояние, применяя контролируемый Ryворота с первым кубитом в качестве контроля. Чтобы правильно понять первые два условия, необходимо преобразовать термин1012|0|0 в срок 112(3|00+|01), что аналогично преобразованию нормального состояния |0|0 в 110(3|00+|01) не влияя на состояние |1|0 (обратите внимание на перенормировку при переходе от терминов большего выражения к автономным состояниям!). Для этого вы можете сделать «0» Ry с первым кубитом в качестве контроля и вторым кубитом в качестве цели.
  • Если у вас больше кубитов, вы продолжите делать это, используя больше контрольных кубитов, чтобы сделать ваши вращения более конкретными.

Вы можете посмотреть эту статью Шенде, Буллока и Маркова, если хотите более формальное и менее специальное объяснение.

Мария Михайлова
источник
Ваш ответ великолепен! Я думаю, что застрял, потому что я попытался сделать это в подходе сверху вниз, то есть, начиная с конечного состояния и пытаясь найти декомпозицию и ворота к базовому состоянию. Это и статья очень помогают, спасибо!
Джоери
4

Вы можете упростить задачи «создать состояние», разбив их на три части:

  1. Подготовьте набор величин, которые вам понадобятся, не беспокоясь о фазе или о том, какое состояние имеет какую величину.
  2. Исправьте фазы.
  3. Исправьте порядок.

Теперь рассмотрим состояние Харди. Какие величины нам нужно сделать? Нам нужен один экземпляр3/12 и три экземпляра экземпляра 1/12, Мы можем сделать их по одному, имея состояние «оставшейся амплитуды», от которого мы продолжаем разделяться.

Мы начинаем со всей амплитуды в одном состоянии с возбуждением слева, 0|1000...00 где 0=1, То, что мы хотим сделать, это переместить возбуждение вправо, оставляя позади желаемые величины. Итак, для начала мы хотим оставить позади величину3/12, Мы можем сделать это с контролируемымRy(θ0)операция, где элемент управления является крайним левым кубитом, а цель - кубитом справа от него. Выбрав только правильное значение дляθ, это приведет к состоянию 3/12|1000...00+1|1100...00, Затем мы CNOT второй кубит обратно на первый кубит, чтобы добраться до1|1000...00+3/12|0100...00, Далее мы хотим осуществить1/12, Мы выполняем другоеRyконтролируется крайним левым кубитом, за которым следует обратный CNOT, но на этот раз с целью - третий кубит слева. Выбирая идеальныйθ1 мы будем производить государство 2|1000...00+3/12|0100...00+1/122|0010...00, И вы просто продолжаете делать это до тех пор, пока не получите все необходимые амплитуды, удобные для адресации при возбуждении отдельных кубитов.

Теперь вы хотите исправить любые неправильные фазы, вызванные вращениями Y. Для состояния Харди это легко, потому что все фазы положительны. В целом вы нацеливаетесь на каждую позицию кубитаk с Rz(ϕk) работа с соответствующим образом выбранным ϕk значения, и это позволит получить правильные фазы.

Теперь мы хотим правильно оформить заказ. Самый простой способ сделать это - иметь несколько дополнительных кубитов, которые являются вашими выходными кубитами, и для каждого из подготовленных нами кубитов и каждого из выходных кубитов либо добавить CNOT между ними, либо нет. Например, если состояние с амплитудой3/12 должен быть |11, тогда нам нужно сделать CNOT с самого левого кубита на оба выходных кубита. Затем нам нужно вычислить самый левый кубит, используя многоконтролируемую операцию NOT. Должен быть один элемент управления для каждого выходного кубита, и тип элемента управления (qubit-must-be-on vs qubit-must-be-off) определяется тем, переключил ли вы кубит или нет.

Применение этих шагов создает неэффективную, но правильную схему для создания состояния Харди. Вы можете открыть цепь в Quirk :

Простая подготовка

Если вы хотите создать состояние без использования такого большого рабочего пространства, задача усложняется. Но вы все равно можете следить за величинами, затем фазами, а затем порядком следования. Кроме того, есть более умные способы подготовить наборы величин, которые имеют хорошие образцы. Например, когда только одна амплитуда отличается от других, одного раунда частичного усиления амплитуды может быть достаточно для подготовки состояния.

Крейг Гидни
источник