В квантовых вычислениях и, в частности, в модели квантовых схем вычислений , квантовый логический вентиль (или просто квантовый вентиль ) — это базовая квантовая схема, работающая на небольшом количестве кубитов . Квантовые логические вентили являются строительными блоками квантовых схем, подобно тому, как классические логические вентили являются строительными блоками для обычных цифровых схем.
В отличие от многих классических логических вентилей, квантовые логические вентили обратимы . Можно выполнять классические вычисления, используя только обратимые вентили. Например, обратимый вентиль Тоффоли может реализовать все булевы функции , часто за счет необходимости использования вспомогательных битов . Вентиль Тоффоли имеет прямой квантовый эквивалент, показывающий, что квантовые схемы могут выполнять все операции, выполняемые классическими схемами.
Несмотря на то, что квантовые логические вентили принадлежат к непрерывным группам симметрии , реальное оборудование неточно и, таким образом, ограничено в точности. Применение вентилей обычно приводит к ошибкам, а точность квантовых состояний со временем снижается. Если используется коррекция ошибок , то используемые вентили еще больше ограничиваются конечным набором. [4] : гл. 10 [1] : гл. 14 Далее в этой статье это игнорируется, поскольку основное внимание уделяется свойствам идеальных квантовых вентилей.
Квантовые состояния обычно обозначаются как «кеты» (от нотации, известной как бра–кет) .
Здесь и — комплексные амплитуды вероятности кубита. Эти значения определяют вероятность измерения 0 или 1 при измерении состояния кубита. Подробности см. в измерении ниже.
Значение ноль представлено символом кет , а значение единица представлено символом кет .
Тензорное произведение (или произведение Кронекера ) используется для объединения квантовых состояний. Объединенное состояние для кубитного регистра — это тензорное произведение составляющих кубитов. Тензорное произведение обозначается символом .
Векторным представлением двух кубитов является: [6]
Действие гейта на определенное квантовое состояние находится путем умножения вектора , представляющего состояние, на матрицу, представляющую гейт. Результатом является новое квантовое состояние :
Известные примеры
Существует несчетное бесконечное количество ворот. Некоторые из них были названы разными авторами, [2] [1] [4] [5] [7] [8] [9] и ниже следуют некоторые из наиболее часто используемых в литературе.
Вход в систему идентификации
Идентификационный вентиль — это матрица идентичности , обычно записываемая как I , и определяемая для одного кубита как
где I не зависит от базиса и не изменяет квантовое состояние. Тождественный вентиль наиболее полезен при математическом описании результата различных операций вентиля или при обсуждении многокубитных схем.
Паули Гейтс (Х,И,З)
Квантовые вентили (сверху вниз): вентили идентичности, вентили НЕ, Паули Y, Паули Z
Вентили Паули — это три матрицы Паули , действующие на один кубит. Паули X , Y и Z равны соответственно вращению вокруг осей x , y и z сферы Блоха на радианы. [b]
Вентиль Pauli- X является квантовым эквивалентом вентиля NOT для классических компьютеров относительно стандартного базиса , , который различает ось z на сфере Блоха . Иногда его называют бит-флипом, поскольку он отображается в и в . Аналогично, Pauli- Y отображается в и в . Pauli Z оставляет базисное состояние неизменным и отображается в . Из-за этой природы Pauli Z иногда называют фазовым флипом.
Управляемые вентили действуют на 2 или более кубитов, где один или более кубитов действуют как элемент управления для некоторой операции. [2] Например, управляемый вентиль НЕ (или CNOT или CX) действует на 2 кубита и выполняет операцию НЕ на втором кубите только тогда, когда первый кубит равен , а в противном случае оставляет его неизменным. Что касается базиса , , , , он представлен эрмитовой унитарной матрицей:
Вентиль CNOT (или управляемый Pauli- X ) можно описать как вентиль, который отображает базисные состояния , где XOR .
CNOT можно выразить в базисе Паули следующим образом:
В более общем случае, если U — вентиль, работающий на одном кубите с матричным представлением
тогда управляемый U-вентиль — это вентиль, который работает с двумя кубитами таким образом, что первый кубит служит в качестве контроля. Он отображает базисные состояния следующим образом.
Схемы управляемых вентилей Паули (слева направо): CNOT (или управляемый-X), управляемый-Y и управляемый-Z.
Матрица, представляющая контролируемое U, имеет вид
Когда U является одним из операторов Паули, X , Y , Z , иногда используются соответствующие термины «управляемый -X », «управляемый- Y » или «управляемый- Z ». [4] : 177–185 Иногда это сокращается просто до C X , C Y и C Z .
Управление может быть распространено на вентили с произвольным числом кубитов [2] и функции в языках программирования. [10] Функции могут быть обусловлены состояниями суперпозиции. [11] [12]
Классический контроль
Вентили также могут контролироваться классической логикой. Квантовый компьютер контролируется классическим компьютером и ведет себя как сопроцессор , который получает инструкции от классического компьютера о том, какие вентили выполнять на каких кубитах. [13] : 42–43 [14] Классический контроль — это просто включение или исключение вентилей в последовательность инструкций для квантового компьютера. [4] : 26–28 [1] : 87–88
Фазовые затворы
Фазовый сдвиг представляет собой семейство однокубитовых вентилей, которые отображают базисные состояния и . Вероятность измерения или не изменяется после применения этого вентиля, однако он изменяет фазу квантового состояния. Это эквивалентно обводке горизонтальной окружности (линии постоянной широты) или вращению вокруг оси z на сфере Блоха на радианы. Фазовый вентиль сдвига представлен матрицей:
где — фазовый сдвиг с периодом 2π . Некоторые общие примеры — это вентиль T , где (исторически известный как вентиль), фазовый вентиль (также известный как вентиль S, пишется как S , хотя S иногда используется для вентилей SWAP), где и вентиль Pauli-Z, где
Фазовые затворы связаны друг с другом следующим образом:
Обратите внимание, что фазовый вентиль не является эрмитовым (за исключением всех ). Эти вентили отличаются от их эрмитовых сопряженных: . Два сопряженных (или сопряженно-транспонированных ) вентиля и иногда включаются в наборы инструкций. [15] [16]
ворота Адамара
Вентиль Адамара или Уолша-Адамара, названный в честь Жака Адамара ( фр. [adamaʁ] ) и Джозефа Л. Уолша , действует на один кубит. Он отображает базисные состояния и (он создает равное состояние суперпозиции, если задано вычислительное базисное состояние). Два состояния и иногда записываются и соответственно. Вентиль Адамара выполняет вращение вокруг оси на сфере Блоха и, следовательно, является инволютивным . Он представлен матрицей Адамара :
Если эрмитов (так ) вентиль Адамара используется для выполнения смены базиса , он переворачивает и . Например, и
Своп-ворота
Обменный вентиль меняет местами два кубита. Относительно базиса , , , , он представлен матрицей
Вентиль обмена можно разложить в виде суммы:
ворота Тоффоли (CCNOT)
Вентиль Тоффоли, названный в честь Томмазо Тоффоли и также называемый вентилем CCNOT или вентилем Deutsch , представляет собой 3-битный вентиль, который универсален для классических вычислений, но не для квантовых вычислений. Квантовый вентиль Тоффоли — это тот же вентиль, определенный для 3 кубитов. Если мы ограничимся только приемом входных кубитов, которые являются и , то если первые два бита находятся в состоянии, он применяет Pauli- X (или NOT) к третьему биту, в противном случае он ничего не делает. Это пример вентиля CC-U (управляемо-управляемый унитарный). Поскольку он является квантовым аналогом классического вентиля, он полностью определяется своей таблицей истинности. Вентиль Тоффоли универсален в сочетании с вентилем Адамара с одним кубитом. [17]
Вентиль Тоффоли связан с классическими операциями И ( ) и XOR ( ), поскольку он выполняет отображение состояний в вычислительной базе.
Вентиль Тоффоли можно выразить с помощью матриц Паули следующим образом:
Универсальные квантовые вентили
Набор универсальных квантовых вентилей — это любой набор вентилей, к которому может быть сведена любая операция, возможная на квантовом компьютере, то есть любая другая унитарная операция может быть выражена как конечная последовательность вентилей из набора. Технически это невозможно с чем-либо меньшим, чем несчетный набор вентилей, поскольку число возможных квантовых вентилей несчетно, тогда как число конечных последовательностей из конечного набора счетно . Чтобы решить эту проблему, нам требуется только, чтобы любая квантовая операция могла быть аппроксимирована последовательностью вентилей из этого конечного набора. Более того, для унитарных вентилей на постоянном числе кубитов теорема Соловея–Китаева гарантирует, что это можно сделать эффективно. Проверка того, является ли набор квантовых вентилей универсальным, может быть выполнена с использованием методов теории групп [18] и/или связи с (приближенными) унитарными t-дизайнами [19]
Некоторые универсальные наборы квантовых вентилей включают в себя:
Операторы вращения R x ( θ ) , R y ( θ ) , R z ( θ ) , фазовый вентиль сдвига P ( φ ) [c] и CNOT обычно используются для формирования универсального набора квантовых вентилей. [20] [d]
Набор Клиффорда {CNOT, H , S } + вентиль T. Набор Клиффорда сам по себе не является универсальным набором квантовых вентилей, поскольку его можно эффективно моделировать классически в соответствии с теоремой Готтесмана–Книлла .
Вентиль Тоффоли + вентиль Адамара. [17] Вентиль Тоффоли сам по себе образует набор универсальных вентилей для обратимых булевых алгебраических логических схем, которые охватывают все классические вычисления.
Дойч гейт
Однозатворный набор универсальных квантовых затворов также может быть сформулирован с использованием параметризованного трехкубитного затвора Дойча , [21] названного в честь физика Дэвида Дойча . Это общий случай CC-U , или контролируемо-контролируемо-унитарного затвора, и определяется как
К сожалению, рабочий Deutsch gate остался вне досягаемости из-за отсутствия протокола. Есть некоторые предложения реализовать Deutsch gate с диполь-дипольным взаимодействием в нейтральных атомах. [22]
Универсальный логический вентиль для обратимых классических вычислений, вентиль Тоффоли, сводится к вентилю Дойча , тем самым показывая, что все обратимые классические логические операции могут быть выполнены на универсальном квантовом компьютере.
Существуют также одиночные двухкубитные вентили, достаточные для универсальности. В 1996 году Адриано Баренко показал, что вентиль Дойча можно разложить, используя только один двухкубитный вентиль ( вентиль Баренко ), но это трудно реализовать экспериментально. [1] : 93 Эта особенность свойственна только квантовым схемам, поскольку не существует классических двухкубитных вентилей, которые были бы одновременно обратимыми и универсальными. [1] : 93 Универсальные двухкубитные вентили могут быть реализованы для улучшения классических обратимых схем в быстрых маломощных микропроцессорах. [1] : 93
Состав схемы
Последовательно подключенные затворы
Предположим, что у нас есть два вентиля A и B , которые оба действуют на кубиты. Когда B помещается после A в последовательной цепи, то эффект двух вентилей можно описать как один вентиль C.
где — матричное умножение . Результирующий вентиль C будет иметь те же размеры, что и A и B. Порядок, в котором вентили будут появляться на схеме, меняется на обратный при их умножении. [4] : 17–18,22–23,62–64 [5] : 147–169
Например, если поместить вентиль Паули X после вентиля Паули Y , оба из которых действуют на один кубит, то можно получить единый комбинированный вентиль C :
Символ продукта ( ) часто опускается.
Экспоненты квантовых вентилей
Все действительные показатели степеней унитарных матриц также являются унитарными матрицами, и все квантовые вентили являются унитарными матрицами.
Положительные целые показатели эквивалентны последовательностям последовательно соединенных вентилей (например, ), а действительные показатели являются обобщением последовательной цепи. Например, и являются действительными квантовыми вентилями.
для любой унитарной матрицы . Единичная матрица ( ) ведет себя как NOP [23] [24] и может быть представлена как голый провод в квантовых схемах или не показана вообще.
Все вентили являются унитарными матрицами, так что и , где — сопряженное транспонирование . Это означает, что отрицательные показатели степеней вентилей являются унитарными обратными их положительно возведенным в степень аналогам: . Например, некоторые отрицательные показатели степеней вентилей сдвига фазы равны и .
Обратите внимание, что для эрмитовой матрицы и из-за унитарности, то же самое и для всех эрмитовых вентилей. Они инволютивны . Примерами эрмитовых вентилей являются вентили Паули, Адамара, CNOT, SWAP и Тоффоли. Каждая эрмитова унитарная матрица обладает свойством , что где
Параллельные ворота
Тензорное произведение (или произведение Кронекера ) двух квантовых вентилей — это вентиль, который равен двум вентилям, включенным параллельно. [4] : 71–75 [5] : 148
Если мы, как на рисунке, объединим параллельно вентиль Pauli- Y с вентильом Pauli- X , то это можно записать так:
Оба вентиля Pauli- X и Pauli- Y действуют на один кубит. Результирующий вентиль действует на два кубита.
Иногда символ тензорного произведения опускается, и вместо него для операторов используются индексы. [25]
преобразование Адамара
Вентиль — это вентиль Адамара ( ), примененный параллельно к 2 кубитам. Его можно записать как:
Этот «двухкубитный параллельный вентиль Адамара» при применении, например, к двухкубитному нулевому вектору ( ), создаст квантовое состояние, которое имеет равную вероятность быть наблюдаемым в любом из его четырех возможных результатов; , , , и . Мы можем записать эту операцию как:
Здесь амплитуда для каждого измеряемого состояния равна 1 ⁄ 2 . Вероятность наблюдения любого состояния равна квадрату абсолютного значения амплитуды измеряемых состояний, что в приведенном выше примере означает, что существует один из четырех случаев, когда мы наблюдаем любой из четырех отдельных случаев. Подробности см. в разделе измерение.
выполняет преобразование Адамара на двух кубитах. Аналогично вентиль выполняет преобразование Адамара на регистре кубитов .
При применении к регистру кубитов, все из которых инициализированы значением , преобразование Адамара помещает квантовый регистр в суперпозицию с равной вероятностью измерения в любом из его возможных состояний:
Это состояние представляет собой однородную суперпозицию и генерируется как первый шаг в некоторых алгоритмах поиска, например, при усилении амплитуды и оценке фазы .
Измерение этого состояния приводит к случайному числу между и . [e] Насколько случайным является число, зависит от точности логических вентилей. Если не измерять, это квантовое состояние с равной амплитудой вероятности для каждого из его возможных состояний.
Преобразование Адамара действует на регистр с кубитами следующим образом :
Применение к запутанным состояниям
Если два или более кубита рассматриваются как одно квантовое состояние, это объединенное состояние равно тензорному произведению составляющих кубитов. Любое состояние, которое может быть записано как тензорное произведение из составляющих подсистем, называется разделимыми состояниями . С другой стороны, запутанное состояние — это любое состояние, которое не может быть разложено на тензоры, или, другими словами: запутанное состояние не может быть записано как тензорное произведение состояний его составляющих кубитов. Особую осторожность следует проявлять при применении вентилей к составляющим кубитам, которые составляют запутанные состояния.
Если у нас есть набор из N кубитов, которые запутаны, и мы хотим применить квантовый вентиль к M < N кубитам в наборе, нам придется расширить вентиль, чтобы взять N кубитов. Это применение можно осуществить, объединив вентиль с единичной матрицей так, чтобы их тензорное произведение стало вентиль, который действует на N кубитов. Идентичная матрица ( ) является представлением вентиля, который отображает каждое состояние в себя (т.е. вообще ничего не делает). На схеме цепи единичный вентиль или матрица часто будут выглядеть как просто голый провод.
Например, вентиль Адамара ( ) действует на один кубит, но если мы подадим ему первый из двух кубитов, составляющих запутанное состояние Белла , мы не сможем легко записать эту операцию. Нам нужно расширить вентиль Адамара с помощью вентиля тождества , чтобы мы могли действовать на квантовые состояния, которые охватывают два кубита:
Теперь вентиль можно применить к любому двухкубитному состоянию, запутанному или нет. Вентиль оставит второй кубит нетронутым и применит преобразование Адамара к первому кубиту. Если применить его к состоянию Белла в нашем примере, мы можем записать это как:
Вычислительная сложность и тензорное произведение
Временная сложность умножения двух -матриц составляет по крайней мере , [26] при использовании классической машины. Поскольку размер вентиля, который работает с кубитами, составляет это означает, что время моделирования шага в квантовой схеме (посредством умножения вентилей), которая работает с общими запутанными состояниями, составляет . По этой причине считается, что моделировать большие запутанные квантовые системы с использованием классических компьютеров не поддается обработке . Подмножества вентилей, такие как вентили Клиффорда или тривиальный случай схем, которые реализуют только классические булевы функции (например, комбинации X, CNOT, Toffoli), могут, однако, эффективно моделироваться на классических компьютерах.
Поскольку все квантовые логические вентили обратимы , любая композиция из нескольких вентилей также обратима. Все произведения и тензорные произведения (т. е. последовательные и параллельные комбинации) унитарных матриц также являются унитарными матрицами. Это означает, что можно построить обратные всех алгоритмов и функций, пока они содержат только вентили.
Если функция является произведением вентилей, то можно построить унитарную обратную функцию :
Потому что у нас есть, после многократного применения на себе
Аналогично, если функция состоит из двух вентилей и параллельно, то и .
Вентили, которые являются своими собственными унитарными обратными, называются эрмитовыми или самосопряженными операторами . Некоторые элементарные вентили, такие как вентили Адамара ( H ) и Паули ( I , X , Y , Z ), являются эрмитовыми операторами, в то время как другие, такие как вентили сдвига фазы ( S , T , P , CPhase ), обычно таковыми не являются.
Например, алгоритм сложения может быть использован для вычитания, если он «запускается в обратном порядке», как его унитарная обратная функция. Обратное квантовое преобразование Фурье является унитарным обратным. Унитарные обратные функции также могут быть использованы для невычисления . Языки программирования для квантовых компьютеров, такие как Q# от Microsoft , [10] QCL от Бернхарда Омера , [13] : 61 и Qiskit от IBM , [27] содержат инверсию функции как программные концепции.
Измерение
Измерение (иногда называемое наблюдением ) необратимо и, следовательно, не является квантовым вентилем, поскольку оно присваивает наблюдаемому квантовому состоянию одно значение. Измерение берет квантовое состояние и проецирует его на один из базисных векторов с вероятностью, равной квадрату длины вектора (в 2-норме [4] : 66 [5] : 56, 65 ) вдоль этого базисного вектора. [1] : 15–17 [28] [29] [30] Это известно как правило Борна и выглядит [e] как стохастическая необратимая операция, поскольку она вероятностно устанавливает квантовое состояние равным базисному вектору, который представляет измеренное состояние. В момент измерения состояние, как говорят, « коллапсирует » к определенному одному значению, которое было измерено. Почему и как, или даже если [31] [32] квантовое состояние коллапсирует при измерении, называется проблемой измерения .
Измерение одного кубита, квантовое состояние которого представлено вектором , приведет к результату с вероятностью , а также к результату с вероятностью .
Например, измерение кубита с квантовым состоянием даст с равной вероятностью либо , либо .
Квантовое состояние , охватывающее n кубитов, можно записать как вектор в комплексных измерениях: . Это происходит потому, что тензорное произведение n кубитов является вектором в измерениях. Таким образом, регистр из n кубитов может быть измерен до различных состояний, подобно тому, как регистр из n классических битов может содержать различные состояния. В отличие от битов классических компьютеров, квантовые состояния могут иметь ненулевые амплитуды вероятности в нескольких измеримых значениях одновременно. Это называется суперпозицией .
Сумма всех вероятностей для всех результатов всегда должна быть равна1 . [f] Другой способ сказать это заключается в том, что теорема Пифагора, обобщенная до , имеет то, что все квантовые состояния с n кубитами должны удовлетворять [g] , где - амплитуда вероятности для измеримого состояния . Геометрическая интерпретация этого заключается в том, что возможное пространство значений квантового состояния с n кубитами - это поверхность единичной сферы в , а унитарные преобразования (т. е. квантовые логические вентили), примененные к нему, являются вращениями на сфере. Вращения, которые выполняют вентили, образуют группу симметрии U(2 n ) . Измерение тогда является вероятностной проекцией точек на поверхности этой сложной сферы на базисные векторы , которые охватывают пространство (и маркируют результаты).
Во многих случаях пространство представляется как гильбертово пространство , а не как некое конкретное -мерное комплексное пространство. Число измерений (определяемое базисными векторами, и, следовательно, также возможными результатами измерения) затем часто подразумевается операндами, например, как требуемое пространство состояний для решения задачи . В алгоритме Гровера Гровер назвал этот общий набор базисных векторов «базой данных» .
Примером использования альтернативной основы измерения является шифр BB84 .
Влияние измерения на запутанные состояния
Если два квантовых состояния (т. е. кубиты или регистры ) запутаны (это означает, что их объединенное состояние не может быть выражено как тензорное произведение ), измерение одного регистра влияет на состояние другого регистра или раскрывает его, частично или полностью разрушая его состояние. Этот эффект может быть использован для вычислений и используется во многих алгоритмах.
Комбинация Адамара-CNOT действует на нулевое состояние следующим образом:
Это результирующее состояние — состояние Белла . Его нельзя описать как тензорное произведение двух кубитов. Решения для
потому что, например, w должно быть как ненулевым, так и нулевым в случае xw и yw .
Квантовое состояние охватывает два кубита. Это называется запутанностью . Измерение одного из двух кубитов, составляющих это состояние Белла, приведет к тому, что другой кубит логически должен иметь то же значение, оба должны быть одинаковыми: Либо он будет обнаружен в состоянии , либо в состоянии . Если мы измерим один из кубитов, чтобы он был, например , , то другой кубит также должен быть , потому что их объединенное состояние стало . Измерение одного из кубитов коллапсирует все квантовое состояние, которое охватывает два кубита.
Состояние GHZ представляет собой аналогичное запутанное квантовое состояние, охватывающее три или более кубита.
Этот тип присвоения значений происходит мгновенно на любом расстоянии , и по состоянию на 2018 год это было экспериментально подтверждено QUESS для расстояний до 1200 километров. [34] [35] [36] То, что явления, по-видимому, происходят мгновенно, в отличие от времени, которое потребовалось бы для прохождения расстояния, разделяющего кубиты со скоростью света, называется парадоксом ЭПР , и в физике остается открытым вопрос о том, как разрешить это. Первоначально он был решен путем отказа от предположения локального реализма , но появились и другие интерпретации . Для получения дополнительной информации см. эксперименты по тестированию Белла . Теорема об отсутствии связи доказывает, что это явление не может быть использовано для передачи классической информации со скоростью, превышающей скорость света .
Измерение на регистрах с попарно запутанными кубитами
Возьмем регистр A с n кубитами, инициализированными как , и пропустим его через параллельный вентиль Адамара . Затем регистр A перейдет в состояние , которое имеет равную вероятность при измерении находиться в любом из его возможных состояний; в . Возьмем второй регистр B, также с n кубитами, инициализированными как , и попарно CNOT его кубитов с кубитами в регистре A, так что для каждого p кубиты и образуют состояние .
Если теперь мы измерим кубиты в регистре A, то обнаружим, что регистр B содержит то же значение, что и A. Однако если вместо этого мы применим квантовый логический вентиль F к A , а затем измерим, то , где — унитарная инверсия F.
Из-за того, как действуют унитарные обратные вентили, . Например, скажем , тогда .
Равенство будет сохраняться независимо от того, в каком порядке выполняется измерение (в регистрах A или B), предполагая, что F дошел до завершения. Измерение может даже быть случайным и параллельным чередованием кубит за кубитом, поскольку назначение измерений одному кубиту ограничит возможное пространство значений от других запутанных кубитов.
Несмотря на то, что равенства выполняются, вероятности измерения возможных результатов могут измениться в результате применения F , как и может быть намерением квантового алгоритма поиска.
Функции и процедуры, которые используют только вентили, сами по себе могут быть описаны как матрицы, как и меньшие вентили. Матрица, которая представляет квантовую функцию, действующую на кубиты, имеет размер . Например, функция, которая действует на «кубайт» ( регистр из 8 кубитов), будет представлена матрицей с элементами.
Унитарные преобразования, которые не входят в набор вентилей, изначально доступных в квантовом компьютере (примитивные вентили), могут быть синтезированы или аппроксимированы путем объединения доступных примитивных вентилей в схему . Один из способов сделать это — разложить матрицу, кодирующую унитарное преобразование, на произведение тензорных произведений (т. е. последовательных и параллельных цепей) доступных примитивных вентилей. Группа U (2 q ) является группой симметрии для вентилей, которые действуют на кубиты. [2] Факторизация тогда представляет собой проблему нахождения пути в U(2 q ) из порождающего набора примитивных вентилей. Теорема Соловея–Китаева показывает, что при наличии достаточного набора примитивных вентилей существует эффективное приближение для любого вентиля. Для общего случая с большим числом кубитов этот прямой подход к синтезу схемы является неразрешимым . [38] [39] Это накладывает ограничение на то, как большие функции могут быть грубо разложены на примитивные квантовые вентили. Обычно квантовые программы создаются с использованием относительно небольших и простых квантовых функций, аналогичных обычному классическому программированию.
Из-за унитарной природы вентилей все функции должны быть обратимыми и всегда быть биективными отображениями входа на выход. Всегда должна существовать функция такая, что . Функции, которые не являются обратимыми, можно сделать обратимыми, добавив вспомогательные кубиты ко входу или выходу, или к обоим. После того, как функция завершится, вспомогательные кубиты могут быть либо невычисленными , либо оставленными нетронутыми. Измерение или иное схлопывание квантового состояния вспомогательного кубита (например, путем повторной инициализации его значения или путем его спонтанной декогеренции ), которые не были невычислены, может привести к ошибкам, [40] [41], поскольку их состояние может быть запутано с кубитами, которые все еще используются в вычислениях.
Логически необратимые операции, например, сложение по модулю двух -кубитных регистров a и b , , [h] можно сделать логически обратимыми, добавив информацию к выходу, так что вход может быть вычислен из выхода (т.е. существует функция ). В нашем примере это можно сделать, передав один из входных регистров на выход: . Затем выход может быть использован для вычисления входа (т.е. учитывая выход и , мы можем легко найти вход; дан и ) , и функция становится биективной.
Все булевы алгебраические выражения могут быть закодированы как унитарные преобразования (квантовые логические вентили), например, с использованием комбинаций вентилей Pauli-X, CNOT и Toffoli. Эти вентили функционально полны в области булевой логики.
Существует множество унитарных преобразований, доступных в библиотеках Q# , QCL , Qiskit и других квантовых языков программирования. Это также встречается в литературе. [42] [43]
Например, , где — число кубитов, составляющих регистр , в QCL реализовано следующим образом: [44] [13] [12]
cond qufunct inc ( qureg x ) { // инкремент регистра int i ; для i = # x - 1 до 0 шаг - 1 { CNot ( x [ i ], x [ 0 :: i ]); // применяем контролируемое НЕ из } // MSB к LSB }
В QCL декремент выполняется путем «отмены» инкремента. Префикс !используется для запуска унитарной инверсии функции. !inc(x)является инверсией inc(x)и вместо этого выполняет операцию . Ключевое слово означает, что функция может быть условной. [11]cond
В модели вычислений, используемой в этой статье ( модель квантовой схемы ), классический компьютер генерирует композицию вентилей для квантового компьютера, а квантовый компьютер ведет себя как сопроцессор , который получает инструкции от классического компьютера о том, какие примитивные вентили применять к каким кубитам. [13] : 36–43 [14] Измерение квантовых регистров приводит к двоичным значениям, которые классический компьютер может использовать в своих вычислениях. Квантовые алгоритмы часто содержат как классическую, так и квантовую часть. Неизмеренный ввод-вывод (отправка кубитов на удаленные компьютеры без коллапса их квантовых состояний) может использоваться для создания сетей квантовых компьютеров . Затем обмен запутанностью может использоваться для реализации распределенных алгоритмов с квантовыми компьютерами, которые не связаны напрямую. Примерами распределенных алгоритмов, которые требуют использования только нескольких квантовых логических вентилей, являются сверхплотное кодирование , квантовое византийское соглашение и протокол обмена шифровальными ключами BB84 .
^ Матричное умножение квантовых вентилей определяется как последовательные цепи.
^ Обратите внимание, что здесь полный оборот вокруг сферы Блоха составляет радианы, в отличие от оператора вращения, где полный оборот равен
^ Можно использовать как P- , так и Ph- затвор, как показано [2] : 11 [1] : 76–83
^ Этот набор точно генерирует все возможные унитарные вентили. Однако, поскольку глобальная фаза не имеет значения в выходных данных измерения, можно построить универсальные квантовые подмножества, например, набор, содержащий R y ( θ ) , R z ( θ ) и CNOT, охватывает только все унитарные элементы с определителем ±1, но этого достаточно для квантовых вычислений.
^ ab Если это на самом деле стохастический эффект, зависит от того, какая интерпретация квантовой механики является правильной (и может ли быть правильной любая интерпретация). Например, теория Де Бройля–Бома и многомировая интерпретация утверждают детерминизм . (В многомировой интерпретации квантовый компьютер — это машина, которая запускает программы ( квантовые схемы ), которые выбирают реальность, в которой вероятность того, что она будет иметь состояния решения задачи, велика . То есть машина чаще всего оказывается в реальности, в которой она дает правильный ответ. Поскольку все результаты реализуются в отдельных вселенных согласно многомировой интерпретации, общий результат является детерминированным. Однако эта интерпретация не меняет механику, по которой работает машина.)
^ Гипотенуза имеет длину 1 , поскольку сумма вероятностей равна 1, поэтому вектор квантового состояния является единичным вектором .
^ Вход — кубиты, но выход — просто кубиты. Стирание информации — необратимая (или унитарная ) операция, и поэтому не допускается. См. также принцип Ландауэра .
Ссылки
^ abcdefghij Колин П. Уильямс (2011). Исследования в области квантовых вычислений . Springer . ISBN 978-1-84628-887-6.
^ abcdefg Баренко, Адриано; Беннетт, Чарльз Х.; Клив, Ричард; ДиВинченцо, Дэвид П.; Марголус, Норман; Шор, Питер; Слейтор, Тихо; Смолин, Джон А.; Вайнфуртер, Харальд (1995-11-01). «Элементарные вентили для квантовых вычислений». Physical Review A. 52 ( 5). Американское физическое общество (APS): 3457–3467. arXiv : quant-ph/9503016 . Bibcode : 1995PhRvA..52.3457B. doi : 10.1103/physreva.52.3457. ISSN 1050-2947. PMID 9912645. S2CID 8764584.
^ ab Feynman, Richard P. (1986). «Квантовые механические компьютеры». Основы физики . 16 (6). Springer Science and Business Media LLC: 507–531. Bibcode : 1986FoPh...16..507F. doi : 10.1007/bf01886518. ISSN 0015-9018. S2CID 122076550.
^ "Microsoft.Quantum.Intrinsic namespace". Microsoft ( Q# ). 28 июля 2023 г.
^ ab Операции и функции (документация Q#)
^ ab Ömer, Bernhard (2 сентября 2009 г.). "Structured Quantum Programming" (PDF) . Institute for Theoretical Physics, Vienna University of Technology. стр. 72, 92–107. Архивировано из оригинала (PDF) 27 марта 2022 г.
^ ab Ömer, Bernhard (29 апреля 2003 г.). «Классические концепции квантового программирования». International Journal of Theoretical Physics . 44 (7): 943–955. arXiv : quant-ph/0211100 . doi :10.1007/s10773-005-7071-x. S2CID 119373370.
^ abcd Ömer, Bernhard (2000-01-20). Квантовое программирование в QCL (PDF) (диссертация). Институт теоретической физики, Венский технический университет. Архивировано из оригинала (PDF) 1 июня 2022 г. . Получено 2021-05-24 .
^ ab Pauka SJ, Das W, Kalra R, Moini A, Yang Y, Trainer M, Bousquet A, Cantaloube C, Dick N, Gardner GC, Manfra MJ, Reilly DJ (2021). «Криогенный CMOS-чип для генерации управляющих сигналов для нескольких кубитов». Nature Electronics . 4 (4): 64–70. arXiv : 1912.01299 . doi :10.1038/s41928-020-00528-y. S2CID 231715555.
^ Уильямс, Колин П. (2011), Уильямс, Колин П. (ред.), «Квантовые вентили», Исследования в области квантовых вычислений , Тексты по информатике, Лондон: Springer, стр. 51–122, doi :10.1007/978-1-84628-887-6_2, ISBN978-1-84628-887-6, получено 2021-05-14
^ Дойч, Дэвид (8 сентября 1989 г.), «Квантовые вычислительные сети», Proc. R. Soc. Lond. A , 425 (1989): 73–90, Bibcode : 1989RSPSA.425...73D, doi : 10.1098/rspa.1989.0099, S2CID 123073680
^ Ши, Сяо-Фэн (2018-05-22). «Deutsch, Toffoli и cnot Gates через Rydberg Blockade of Neutral Atoms». Physical Review Applied . 9 (5): 051001. arXiv : 1710.01859 . Bibcode : 2018PhRvP...9e1001S. doi : 10.1103/PhysRevApplied.9.051001. ISSN 2331-7019. S2CID 118909059.
^ "I операция". docs.microsoft.com . 28 июля 2023 г.
^ Доусон, Кристофер М.; Нильсен, Майкл (2006-01-01). "Алгоритм Соловея-Китаева". Квантовая информация и вычисления . 6 (1). Раздел 5.1, уравнение 23. arXiv : quant-ph/0505030 . doi :10.26421/QIC6.1-6.
^ Маттео, Оливия Ди (2016). «Распараллеливание синтеза квантовых цепей». Квантовая наука и технологии . 1 (1): 015003. arXiv : 1606.07413 . Bibcode : 2016QS&T....1a5003D. doi : 10.1088/2058-9565/1/1/015003. S2CID 62819073.
^ Ааронсон, Скотт (2002). «Квантовая нижняя граница для рекурсивной выборки Фурье». Квантовая информация и вычисления . 3 (2): 165–174. arXiv : quant-ph/0209060 . Bibcode :2002quant.ph..9060A. doi :10.26421/QIC3.2-7.
^ Онлайн-руководство Q#: Управление квантовой памятью
^ Монтасер, Раша (2019). «Новая конструкция обратимого полного сумматора/вычитателя с использованием R-вентиля». Международный журнал теоретической физики . 58 (1): 167–183. arXiv : 1708.00306 . Bibcode :2019IJTP...58..167M. doi :10.1007/s10773-018-3921-1. S2CID 24590164.