Stim — это высокоскоростной симулятор и набор инструментов для анализа стабилизаторных квантовых схем, ориентированный на моделирование квантовой коррекции ошибок, генерацию моделей ошибок и высокопроизводительный сэмплинг результатов. Stim был разработан для эффективного анализа и симуляции квантовых стабилизаторных схем, особенно тех, которые используются в квантовой коррекции ошибок (QEC). Он предоставляет инструменты для работы с детекторами ошибок, декодерами и симуляцией шумовых каналов. Stim доступен как Python-библиотека, а также может использоваться через командную строку или встраиваться в приложения на C++.
Stim использует представление стабилизаторного таблица (таблицы стабилизаторов), аналогичное CHP-симулятору Аарона и Готтесмана, но с тремя основными улучшениями. Во-первых, Stim улучшает асимптотику измерений с детерминированными результатами, снижая сложность с квадратичной до линейной, отслеживая обратную таблицу стабилизаторов схемы. Во-вторых, Stim улучшает постоянные множители алгоритма, используя кэш-дружелюбное расположение данных и 256-битные SIMD-инструкции. В-третьих, Stim использует дорогую симуляцию таблицы стабилизаторов только для создания начальной эталонной выборки, после чего дальнейшие выборки собираются пакетами, используя эту выборку в качестве эталона для пакетов Паули-фреймов, распространяющихся через схему.
- Быстрая симуляция стабилизаторных схем: Stim может анализировать схемы с тысячами кубитов и миллионами операций за считанные секунды, генерируя объекты, которые могут сэмплировать результаты на скорости до 1 кГц.
- Полуавтоматическая настройка декодеров: Stim преобразует шумовую схему в модель ошибок детектора (граф Таннера), которая может быть использована для настройки декодеров. Опция
decompose_operations=True
дополнительно предлагает, как гиперошибки могут быть разложены на графоподобные ошибки, упрощая настройку декодеров на основе соответствий. - Полезные строительные блоки для работы со стабилизаторами: Stim предоставляет такие компоненты, как
stim.PauliString
,stim.Tableau
иstim.TableauSimulator
, которые позволяют эффективно работать с квантовыми стабилизаторными схемами. - Высокая производительность: Stim использует оптимизированные алгоритмы и SIMD-инструкции для достижения высокой скорости симуляции и сэмплинга.
- Ограничения: Stim поддерживает только стабилизаторные операции (например, не поддерживает операции T и Toffoli) и ограничен в поддержке шумовых каналов в классе
stim.Circuit
(например, не поддерживает амплитудный распад).