Обмен состояниями в базисе X
$|0\rangle=(1,0)^T$, $|1\rangle=(0,1)^T$, $|\pm\rangle=(|0\rangle\pm|1\rangle)/\sqrt2$.
Найдите другую схему, которая меняет местами кубиты в состояниях $|+\rangle$ и $|-\rangle$, и покажите, что она эквивалентна последовательности CNOT(a,b), CNOT(b,a), CNOT(a,b).
Данная авторская схема выполняет по порядку CNOT(a,b), CNOT(b,a), CNOT(a,b). Она обменивает любые двухкубитные состояния; её исходный рисунок и программа сохранены. В обозначении CNOT(c,t) первый аргумент — управление, второй — цель.
from qiskit import QuantumCircuit
from qiskit.circuit import Gate
from math import pi
qc = QuantumCircuit(2)
c = 0
t = 1
a = 0
b = 1
qc = QuantumCircuit(2)
# swaps states of qubits a and b
qc.cx(a,b)
qc.cx(b,a)
qc.cx(a,b)
qc.draw()