Гейты X, H и Z
Урок 7 из 23 курса «Квантум: курс с нуля». Бесплатно, с анимациями и тестом.
Гейт — это поворот
В обычном компьютере биты меняют логические элементы: «И», «ИЛИ», «НЕ». В квантовом их роль играют гейты. Гейт — это команда, которая поворачивает стрелку кубита на сфере Блоха. Физически это короткий импульс: микроволна для сверхпроводящего кубита или вспышка лазера для иона. Важное отличие: любой гейт можно отменить обратным поворотом. Необратимо только измерение, оно стирает амплитуды.
X: переворот 0 и 1
Гейт X — квантовая версия «НЕ». Он переворачивает сферу вверх ногами: из 0 делает 1, из 1 делает 0. Если кубит был в суперпозиции, X меняет местами амплитуды нуля и единицы. Это самый простой гейт, с него начинают все курсы. На практике X нужен, чтобы подготовить нужные входные данные, например записать в регистр число 101.
H: делаем суперпозицию
Гейт H назван в честь французского математика Жака Адамара. Он переводит стрелку с полюса на экватор: из точного 0 получается состояние «плюс», 50 на 50. Из точной 1 получается «минус», тоже 50 на 50, но с другим знаком. Почти любая квантовая программа начинается с того, что на все кубиты ставят по H. Так алгоритм получает суперпозицию всех входов, с которой потом работает интерференция.
Два H подряд — как будто ничего не было
Логика подсказывает: H сделал монетку 50 на 50, второй H перемешает её ещё раз, и снова будет 50 на 50. Реальность: после двух H кубит всегда даёт 0. Почему? К единице ведут два пути, у одного амплитуда со знаком плюс, у другого со знаком минус, и они гасят друг друга. Это тот самый интерферометр из первого уровня, только в виде схемы. Обычная случайная монетка так не умеет: дважды подброшенная, она остаётся случайной.
Z: невидимый, но меняет всё
Гейт Z ставит минус перед амплитудой единицы, то есть меняет фазу. Шансы при этом не меняются: если сразу измерить, Z будто не сработал. Но поставь его между двумя H, и вместо гарантированного 0 получишь гарантированную 1. Получается, H · Z · H делает то же самое, что X. Это главный приём квантовых алгоритмов: спрятать информацию в знак, а потом с помощью H превратить знак в результат измерения.
Читаем схемы как ноты
Квантовые программы рисуют схемами, и это проще, чем кажется. Каждая горизонтальная линия — один кубит, все стартуют с 0. Время идёт слева направо. Квадратик с буквой — гейт, точка с кружком-плюсом — гейт на два кубита, его разберём в следующем уроке. Значок со стрелкой в конце — измерение. Такие же схемы ты увидишь в учебниках, научных статьях и в облаке IBM, где их можно собирать мышкой.
Проверь себя
- Что покажет измерение после двух гейтов H подряд?
Правильный ответ: Всегда 0. Второй H возвращает стрелку на полюс 0: пути к единице с плюсом и минусом гасят друг друга. - Друг говорит: «Z сломан, результат не изменился». Что ответишь?
Правильный ответ: Z меняет знак; поставь H перед измерением, и разница проявится. Z не трогает шансы, только фазу. Измерение фазу не видит, а гейт H превращает её в разницу между 0 и 1. - Какой гейт поставишь, чтобы записать во второй кубит единицу?
Правильный ответ: X: он превращает 0 в точную 1. X — квантовое «НЕ»: из точного 0 делает точную 1. Именно так готовят входные данные.