Содержание
Что такое Quirk
Quirk — это интерактивный веб-симулятор квантовых алгоритмов, который позиционируется как эффективная «песочница» для построения и тестирования логических цепей.
Инструмент был создан Крейгом Гидни (Craig Gidney), инженером Google, специализирующимся на квантовых вычислениях. Проект имеет открытый исходный код, а сам редактор доступен в браузере по адресу algassert.com/quirk
Ключевое преимущество Quirk заключается в мгновенном расчете состояний: симуляция происходит непрерывно без ручного запуска. Перерасчет схемы выполняется каждые 0,1 секунды, что, по заверениям разработчика, обеспечивает производительность, в сотни раз превышающую стандартные решения на чистом JavaScript.
Кому подойдет
Несмотря на высокую скорость, Quirk не является заменой профессиональным средам разработки вроде Qiskit или Q#. Это прежде всего образовательный и прототипирующий ресурс. Он будет полезен:
-
Студентам и старшеклассникам для визуального освоения работы базовых вентилей и логики квантовых операций без необходимости написания кода;
-
Преподавателям в качестве наглядного пособия для демонстрации эффектов в реальном времени;
-
Исследователям для оперативной проверки гипотез или декомпозиции небольших фрагментов схем.
Как отмечает создатель, Quirk задумывался как средство для формирования глубокой интуиции в области квантовых вычислений.
Преимущества и недостатки
Плюсы:
-
Работа в браузере без регистрации и установки;
-
Нулевая задержка между редактированием и получением результата;
-
Качественная визуализация процессов;
-
Мониторинг состояния системы в любой промежуточной точке алгоритма;
-
Открытая лицензия Apache 2.0.
Минусы:
-
Ограничение по масштабируемости (не более 16 кубитов);
-
Отсутствие графического конструктора для создания собственных вентилей;
-
Низкая эргономика при работе с мобильных устройств;
-
Невозможность накопления долгосрочной статистики детекторов;
-
Часть функционала доступна только через прямое редактирование параметров в URL.
Навигация по Quirk
На стартовой странице расположено основное меню (main menu), содержащее ссылки на техническую документацию, обучающие видео, репозиторий и предустановленные примеры алгоритмов (example circuits).

Для начала работы необходимо перейти в редактор («Edit circuit»).
В верхней части экрана сосредоточены ключевые гейты, элементы управления и измерительные приборы.

Нижняя область отведена под специализированные арифметические и расширенные операции.

Центральное пространство — это холст, куда перетаскиваются элементы. Слева от линий кубитов находятся маркеры начального состояния (стандартное значение |0⟩ меняется кликом на |1⟩, |+⟩, |-⟩, |i⟩ или |-i⟩). Удаление компонента производится простым перетаскиванием за границы рабочего поля.

Особенности визуальной кодировки: белые элементы — статические вентили и датчики; желтые — динамические, отображающие фазовые сдвиги и вращения в динамике; серые — многокубитные аналоги стандартных гейтов; зеленые — информационные дисплеи. Синий цвет дисплея Amps указывает на работу с комплексными числами (амплитудами).

Интерактивные подсказки: при наведении на любой объект появляется контекстное окно с его названием, описанием функции, матричным представлением и осями вращения.

Сохранение прогресса: любая модификация схемы кодируется прямо в URL-адресе. Чтобы сохранить результат или поделиться им, достаточно скопировать ссылку из адресной строки.
Важно помнить: встроенная система автосохранения отсутствует — при обновлении страницы без сохранения ссылки данные будут утеряны.
Обзор функциональных блоков:
-
Probes (Зонды) — неинвазивные инструменты наблюдения. Они позволяют считывать данные или задавать условия, не внося изменений в квантовое состояние.

Инструменты зондирования Хотя в реальных квантовых системах измерение ведет к коллапсу состояния, здесь зонды служат удобным средством отладки.
-
Displays (Дисплеи) — визуализаторы, отображающие текущие параметры кубитов (вероятности, амплитуды, фазы) в конкретной точке цепи.

Визуализаторы состояния 
Пример размещения дисплеев -
Half turns (Полуобороты) — базовый набор операций для разворота состояния на 180° по осям X, Y, Z, включая оператор Адамара (H) и гейт обмена (Swap).

-
Quarter и Eighth Turns — гейты для прецизионного поворота на 90° (π/2) и 45° (π/4).

Дробные вращения Они расширяют стандартные оси X, Y, Z операциями с дробными степенями:
Quarter Turns (1/4): S (√Z) — сдвиг на 90°, и его инверсия S^-1. Также доступны корни из X и Y.
Eighth Turns (1/8): T (√S) — поворот на 45° вокруг оси Z, включая обратный вентиль T^-1 и аналоги для других осей.
-
Spinning (Динамическое вращение) — группа анимированных гейтов с непрерывным изменением фазы. Интенсивность и угол поворота настраиваются интерактивно.

-
Formulaic — вентили, параметры которых определяются математическим выражением. Пользователь может задать:
Фиксированное числовое значение угла;
Сложную функцию с переменными (t, x, y) для реализации параметрической логики.

-
Parametrized — гейты, управляемые внешней переменной A. Это позволяет динамически менять углы поворота в зависимости от внешних входных данных или результатов моделирования.

Параметризованные операции -
Sampling (Сэмплирование) — блок для вероятностного анализа. Система генерирует случайный исход на основе текущих вероятностей при каждом взаимодействии, что позволяет имитировать реальное поведение квантового компьютера.

-
Parity (Четность) — специализированные вентили, срабатывающие при нечетном количестве контрольных кубитов в состоянии |1⟩. Актуальны для систем коррекции ошибок.

-
X/Y Probes — зонды, работающие в альтернативных базисах измерения (X и Y) вместо стандартного Z.

Зонды в базисах X и Y -
Order (Порядок следования) — инструменты управления иерархией кубитов. Позволяют инвертировать порядок значимости (эндианность) или выполнять реверс регистра.

Управление порядком кубитов
Frequency — блок для квантового преобразования Фурье (QFT). Включает прямой и обратный алгоритмы, а также вспомогательные фазовые градиенты.

-
Специальные группы для реализации полноценных арифметических вычислений в квантовых регистрах.

Библиотека примеров (Example circuits)
В главном меню представлены готовые реализации классических квантовых алгоритмов:
-
Grover Search (Алгоритм Гровера)
Метод эффективного поиска в неупорядоченных данных. Обеспечивает квадратичное ускорение O(√N) по сравнению с классическим перебором.

Реализация поиска Гровера Визуализация демонстрирует рост вероятности нахождения цели с каждой итерацией.
-
Shor Period Finding (Поиск периода Шора)
Фундаментальный блок алгоритма факторизации, находящий период функции модульного возведения в степень.

Поиск периода для числа 26 Дисплеи наглядно показывают гармонические пики после применения преобразования Фурье.
-
Bell Inequality Test (Проверка неравенства Белла)
Эксперимент, подтверждающий нелокальную природу квантовой механики и отсутствие «скрытых переменных».

Моделирование теста Белла -
Quantum Teleportation (Квантовая телепортация)
Процесс переноса состояния кубита на расстояние с использованием запутанной пары и классического канала передачи данных.

Протокол квантовой телепортации -
Superdense Coding (Сверхплотное кодирование)
Метод передачи двух классических бит информации при помощи всего одного кубита, использующий предварительную квантовую запутанность.

Начальная стадия кодирования 
Результат декодирования (100% точность) -
Delayed Choice Eraser (Квантовый ластик с отложенным выбором)
Парадоксальный эксперимент, показывающий, что информация о пути частицы может быть «стерта» даже после события, что восстанавливает интерференционную картину.

Модель квантового ластика -
Symmetry Breaking (Нарушение симметрии)
Демонстрация перехода системы из симметричного состояния в асимметричное при определенных условиях.

Визуализация спонтанного нарушения симметрии -
Quantum Fourier Transform (Квантовое преобразование Фурье)
Ключевой оператор для многих алгоритмов, преобразующий амплитуды в частотный спектр состояний.

QFT: начальная фаза 
QFT: завершение цикла -
Reversible Addition (Обратимое сложение)
Квантовая арифметика, реализованная на базе обратимых логических операций.

Квантовый сумматор -
Magic State Distillation (Дистилляция магических состояний)
Процедура очистки зашумленных состояний, необходимая для реализации отказоустойчивых квантовых вычислений.

Сложная схема дистилляции 
Анализ выходного состояния
Полезные материалы на SE7ENе
-
Введение в квантовую логику и язык Q# — серия обучающих статей
Ресурсы и источники
Руководство пользователя (Wiki)


