Выбор операции

Полное имя: Std.TableLookup.Select

operation Select(data : Bool[][], address : Qubit[], target : Qubit[]) : Unit is Adj + Ctl

Сводка

Выполняет поиск таблиц с помощью сети SELECT

Описание

Если регистр target с нуля инициализирован, эта операция инициализирует ее с помощью битов в data по индексам в соответствии с вычислительными значениями регистра address.

Ввод

данные

Классические данные подстановки таблицы, подготовленные в target относительно состояния в address. Длина данных должна быть меньше 2ⁿ, где n — длина address. Каждая запись в данных должна иметь ту же длину, которая должна быть равна длине target.

адрес

Регистрация адресов

цель

Ноль инициализированный целевой регистр

Замечания

Реализация сети SELECT основана на унарной кодировке, представленной в [1]. Рекурсивная реализация этого алгоритма представлена в [3]. Вариант сложения оптимизирован с помощью операции отмены измерения [3]. Управляемый вариант присоединяемого не оптимизирован с помощью этого метода.

Ссылки

  1. arXiv:1805.03662 "Кодирование электронных спектров в квантовых каналах с линейной сложностью T"
  2. arXiv:1905.07682 "Окно арифметическое"
  3. arXiv:2211.01133 "Поиск оптимизированных таблиц в пространстве"