Физики из Российского квантового центра разработали высокопроизводительный эмулятор 34-кубитного квантового компьютера — программа умещается на небольшом сервере.
Зачем это нужно? Квантовые устройства создаются в единичных экземплярах и решают конкретные задачи, поэтому их нельзя применить для разработки и отладки квантовых алгоритмов. Для этих целей создают квантовые эмуляторы — программы, которые имитируют квантовый процессор на классическом компьютере.
Чтобы создать эмулятор, авторы написали программу с нуля без использования библиотек линейной алгебры. Квантовые состояния системы физики меняли с помощью квантовых вентилей, которые выполняют логические операции над кубитами. Например, вентиль отрицания меняет состояние кубита с 1 на 0 и наоборот. Математически это можно представить как умножение большой матрицы состояний на маленькую матрицу преобразования — вентиль. Библиотеки линейной алгебры, которые часто применяются при создании эмуляторов, оптимизированы под умножение больших матриц на большие матрицы, и поэтому здесь не эффективны. Ученые же учли особенность системы и написали код без них.