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

9

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

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

JanVdA
источник
Возможно, будет полезно использовать простые своп-ворота в качестве «кирпича» для построения квадратного корня из своп-ворот. Вы можете моделировать на 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.

user1271772
источник
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