Как реализовать «Квадратный корень из Swap gate» в IBM Q (композитор)?


9

Я хотел бы смоделировать квантовый алгоритм, где одним из шагов является «Квадратный корень из Swap gate» между 2 кубитами.

Как я могу реализовать этот шаг с помощью IBM composer ?


Возможно, будет полезно использовать простые своп-ворота в качестве «кирпича» для построения квадратного корня из своп-ворот. Вы можете моделировать на IBM Q следующим образом: cx q [1], q [0]; HQ [0]; HQ [1]; cx q [1], q [0]; HQ [0]; HQ [1]; cx q [1], q [0];
Лежащий танцор

1
@JanVdA Квадратный корень не уникален. На самом деле, должно быть 2 ^ 4 = 16 возможных корней. Какой ты имеешь в виду?
Норберт Шух

Кто-нибудь сделает для меня. Нет предпочтений для конкретного.
JanVdA

Ответы:


9

Вот конструкция SQRT (SWAP), которая требует только CNOT в одном направлении, Адамарс, S-ворота (Z12), S кинжал ворот (Z12), Т гейтс (Z14) и T кинжал ворот (Z14):

введите описание изображения здесь

Вы должны быть в состоянии закодировать это непосредственно в композитор.


Как можно получить это из первых принципов?
user1271772

@ user1271772 Каковы "первые принципы"?
Норберт Шух

Я не знаю как реализовать Z1/2 а также Z1/2используя IBM composer.
JanVdA

@ user1271772 Я начал с схемы свопа CNOT-NOTC-CNOT, заменил средний CNOT на C-sqrt (не), чтобы сделать все это sqrt (SWAP), разложил C-srt (не) на ворота S + CNOT Я перемещал некоторые ворота, пока мне не удалось отменить один из CNOT, затем использовал Адамара, чтобы изменить направление любого CNOT, указывающего неправильный путь.
Крейг Гидни,

@JanVdA Z1/2 является S, а также Z1/2 является S(посмотрите на синие ворота в композиторе).
Крейг Гидни

2

То, что вы хотите сделать, это вращение подпространства, охватываемого |01 а также |10 который вращает его на X, Для этого вы можете сначала сделать CNOT, который отображает это подпространство на{|01,|11}, Теперь вам нужно сделатьXвращение на первом кубите, обусловленное вторым кубитом, равным единице. Реализация контролируемыхUВорота с использованием CNOT - это стандартная конструкция, которую можно найти в разных местах, см., например, https://arxiv.org/abs/quant-ph/9503016 . В зависимости от того, как вы делаете этот шаг, вам может потребоваться исправить «глобальную» фазу 1-го кубита (учитывая, что 2-й|1). Наконец, вам нужно отменить CNOT.


Мне не понятно 1) как ты делаешь Xв композиторе. 2) как отменить CNOT в композиторе 3) вы упомянули ворота с контролируемым U, но неясно, где их следует использовать в алгоритме. Я думаю, что пошаговое описание алгоритма было бы полезно для реализации этого в IBM composer.
JanVdA

@JanVdA Боюсь, вам придется самостоятельно поработать, чтобы ознакомиться с квантовыми цепями и их манипуляциями. В противном случае, что вы собираетесь делать, когда узнаете схему для sqrt-SWAP?
Норберт Шух

К вашему сведению: я использовал приведенное выше описание sqrt-SWAP, чтобы протестировать решение, предложенное для Quantcomputing.stackexchange.com/questions/2209/… на IBM composer.
JanVdA

@JanVdA Какой? Принятый? Тот говорит только о контролируемом свопе. (Для этого: journals.aps.org/pra/abstract/10.1103/PhysRevA.53.2855 )
Норберт Шух

Извините, я ссылаюсь
JanVdA

-1

Каждый 2-кубитный вентиль имеет «полиномиальное разложение», что означает, что его можно записать как полином матрицы Паули.

Для ворот вы хотите:

SWAP=[1000012(1+i)12(1i)0012(1i)12(1+i)00001]=1i4(X1X2+Y1Y2+Z1Z2)+3+i2I,

where Xi is an X gate applied to the ith qubit.


OK, thanks for the answer - I need to study a bit to figure out how I can translate this to the IBM Composer.
JanVdA

@JanVdA What's wrong? Can't you drag and drop the X,Y, and Z gates into the circuit? You may wish to ask a separate question about how to multiply a gate by a constant.
user1271772

I can drag and drop X, Y, Z gates but I don't know how to do the multiplications (e.g. X1X2), the additions (e.g. X1X2+Y1Y2), the multiplication by a constant, I even don't know what you mean by I. I guess I must sound like a complete idiot.
JanVdA

X1X2 means you're applying X to qubit 1 and X to qubit 2. However, as I mention in the previous comment, I think you should ask a separate question about how to multiply by a constant.
user1271772

See also Eq. 8 of this paper: arxiv.org/pdf/1805.10478.pdf, and the circuit diagrams in the supplementary material. Eq. 8 of the paper is exactly like what I gave you, except with only Z gates. It's still a "Paulinomial" but with only Z gates, and it is implemented in the IBM composer in that paper.
user1271772
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.