Квантовые V ворота 1/sqrt(5) ( I + 2iZ)
По определению вентиль 1/sqrt(5) (I + 2iZ) должен действовать на кубит a|0> + b|1>
превратить его в 1/sqrt(5) ((1+2i)a|0> + (1-2i)b|1>)
но преобразования каждого шага RUS выполняются следующим образом: сначала вспомогательные команды находятся в состоянии |+>
- Начальная форма:
1/sqrt(2) (a,b,a,b,a,b,a,b)
- CCNOT (вспомогательные материалы, вход):
1/sqrt(2) (a,b,a,b,a,b,b,a)
- S (вход):
1/sqrt(2) (a,ib,a,ib,a,ib,b,ia)
- CCNOT (вспомогательные материалы, вход):
1/sqrt(2) (a,ib,a,ib,a,ib,ia,b)
- Z (вход):
1/sqrt(2) (a,-ib,a,-ib,a,-ib,ia,-b)
Теперь измерение вспомогательных данных в базисе PauliX эквивалентно измерению PauliZ после применения H() к состоянию. Теперь у меня 2 путаницы, я должен подать заявку H x H x I
или же H x H x H
в объединенном состоянии. Также ни одно из этих преобразований не оказывается эквивалентным V-вентилю, определенному в первом абзаце, когда оба измерения равны нулю. Где я неправ?
Ссылка: https://github.com/Microsoft/Quantum/blob/master/Samples/UnitTesting/RepeatUntilSuccessCircuits.qs (1-й пример кода)
1 ответ
Преобразование правильное, хотя для проверки потребуется некоторое время с ручкой и бумагой.
Как примечание стороны, мы начнем с государства |+>|+>(a|0> + b|1>)
, который 0.5 (a,b,a,b,a,b,a,b)
в векторном виде (оба |+>
государства вносят 1/sqrt(2)
к коэффициентам). Это не повлияет на наши расчеты состояния после измерения, поскольку его необходимо перенормировать, но это все же стоит отметить.
После последовательности CCNOT, S, CCNOT, Z получаем 0.5 (a,-ib,a,-ib,a,-ib,ia,-b)
, Поскольку мы измеряем только первые два кубита в базисе PauliX, нам нужно применять Адамара только к первым двум кубитам, или H x H x I
в объединенном состоянии.
Я позволю себе пропустить выписывание целого выражения после применения Адамара и перенесемся к результатам измерений, и вот почему. Нас интересует только состояние входного кубита, если оба измерения дали 0, поэтому достаточно собрать только члены общего состояния, которые имеют |00>
как состояние первых двух кубитов.
Состояние третьего кубита после измерения |00>
на первом кубите будет: (3+i)a |0> - (3i+1)b |1>
, умноженный на некоторый коэффициент нормализации c
,c = 1/sqrt(|3+i|^2 + |3i+1|^2) = 1/sqrt(10))
,
Теперь нам нужно проверить, в каком состоянии мы оказались, |S_actual> = 1/sqrt(10) ((3+i)a |0> - (3i+1)b |1>)
это то же состояние, которое мы ожидаем получить от применения V-гейта, |S_expected> = 1/sqrt(5) ((1+2i)a |0> + (1-2i)b |1>)
, Они не выглядят одинаково, но помните, что в квантовых вычислениях состояния определяются вплоть до глобальной фазы. Таким образом, если мы можем найти комплексное число p
с абсолютным значением 1, для которого |S_actual> = p * |S_expected>
, государства будут эффективно одинаковыми.
Это переводит в следующие уравнения для p
и амплитуды |0>
а также |1>
: (3+i)/sqrt(2) = p (1+2i)
а также -(3i+1)/sqrt(2) = p (1-2i)
, Мы решаем оба уравнения, чтобы получить p = (1-i)/sqrt(2)
который действительно имеет абсолютное значение 1.
Таким образом, мы можем сделать вывод, что действительно состояние, которое мы получили после всех преобразований, действительно эквивалентно состоянию, которое мы получили бы, применив V-вентиль.