Предположим, у меня есть регистр (qs) из 3 кубитов (первые 2 используются исключительно для управления, последний — вход). Первые два управляющих кубита находятся в состоянии |+>
, а состояние третьего входа неизвестно. Пусть будет a|0> + b|1>
.
Теперь я применяю CCNOT(qs[0],qs[1],qs[2]), чтобы их объединенное состояние стало 0.5(a,b,a,b,a,b,b,a)
в форме транспонированной матрицы [Пожалуйста, исправьте, если я здесь ошибаюсь] . Теперь я применяю S-gate к третьему кубиту, который преобразует |1> -> i|1>
.
Сейчас я не могу угадать состояние комбинированного состояния «qs».
Что я думал:
- Одна логика состоит в том, чтобы умножить каждое состояние на «i», если оно имеет форму
|XY1>
, чтобы объединенное состояние стало0.5(a,ib,a,ib,a,ib,b,ia) [Transposed]
- Другая логика состоит в том, чтобы найти тензорное произведение
(I x I x S)
, так как я не меняю первые 2 кубита. Выполнение этого дает другой результат:0.5(a,b,a,b,ia,ib,ib,ia) [Transposed]
[Опять же, поправьте меня, если я ошибаюсь].
Какой правильный вывод после прохождения через S-ворота (если есть)?