В квантовых вычислениях и, в частности , в модели вычислений с квантовой схемой , квантовый логический вентиль (или просто квантовый вентиль ) представляет собой базовую квантовую схему, работающую на небольшом количестве кубитов . Они [квантовые логические вентили] являются строительными блоками квантовых схем, подобно тому как классические логические вентили являются строительными блоками для обычных цифровых схем.
В отличие от многих классических логических элементов, квантовые логические элементы обратимы . Классические вычисления можно выполнять, используя только обратимые вентили. Например, обратимый вентиль Тоффоли может реализовать все логические функции , часто за счет необходимости использования вспомогательных битов . У вентиля Тоффоли есть прямой квантовый эквивалент, показывающий, что квантовые схемы могут выполнять все операции, выполняемые классическими схемами.
Несмотря на то, что квантовые логические элементы принадлежат к непрерывным группам симметрии , реальное оборудование неточно и, следовательно, ограничено в точности. Применение вентилей обычно приводит к ошибкам, и точность квантовых состояний со временем снижается. Если используется коррекция ошибок , используемые элементы дополнительно ограничиваются конечным набором. [4] : гл. 10 [1] : гл. 14 Далее в этой статье это игнорируется, поскольку основное внимание уделяется свойствам идеальных квантовых вентилей.
Квантовые состояния обычно обозначаются «кетами» из обозначения, известного как bra–ket .
Здесь и – комплексные амплитуды вероятности кубита. Эти значения определяют вероятность измерения 0 или 1 при измерении состояния кубита. Подробности см. в разделе измерений ниже.
Нулевое значение представлено кетом , а значение единица представлено кетом .
Тензорное произведение (или произведение Кронекера ) используется для объединения квантовых состояний. Комбинированное состояние регистра кубитов представляет собой тензорное произведение составляющих его кубитов. Тензорное произведение обозначается символом .
Векторное представление двух кубитов: [6]
Действие вентиля на определенное квантовое состояние находится путем умножения вектора , представляющего состояние, на матрицу, представляющую вентиль. Результатом является новое квантовое состояние :
Яркие примеры
Существует несчетное количество ворот. Некоторые из них были названы разными авторами: [2] [1] [4] [5] [7] [8] [9] и ниже приведены некоторые из наиболее часто используемых в литературе.
Идентификационные ворота
Идентификационный вентиль — это единичная матрица , обычно записываемая как I , и определяемая для одного кубита как
где I не зависит от базиса и не изменяет квантовое состояние. Идентификационный вентиль наиболее полезен при математическом описании результатов различных операций вентиля или при обсуждении многокубитных схем.
Ворота Паули ( X , Y , Z )
Квантовые ворота (сверху вниз): ворота идентичности, ворота НЕ, Паули Y, Паули Z.
Ворота Паули представляют собой три матрицы Паули и действуют на один кубит. X , Y и Z Паули соответствуют вращению сферы Блоха вокруг осей x , y и z на радианы . [б]
Гейт Паули- X является квантовым эквивалентом вентиля НЕ для классических компьютеров относительно стандартного базиса , который выделяет ось z на сфере Блоха . Иногда его называют переворотом битов, поскольку он отображается в и в . Точно так же Паули- Y отображается в и в . Паули Z оставляет базовое состояние неизменным и отображает его в . Из-за этой природы Паули Z иногда называют фазовым переворотом.
Управляемые вентили действуют на 2 или более кубитов, причем один или несколько кубитов выполняют функцию управления некоторой операцией. [2] Например, управляемый вентиль НЕ (или CNOT или CX) действует на 2 кубита и выполняет операцию НЕ на втором кубите только тогда, когда первый кубит равен , а в противном случае оставляет его неизменным. По базису , , , , она представляется эрмитовой унитарной матрицей :
Вентиль CNOT (или управляемый Паули- X ) можно описать как вентиль, который отображает базовые состояния , где XOR .
В более общем смысле, если U — это вентиль, который работает с одним кубитом с матричным представлением.
тогда вентиль с контролируемым U — это вентиль, который работает с двумя кубитами таким образом, что первый кубит служит управляющим. Он отображает базовые состояния следующим образом.
Принципиальные схемы управляемых вентилей Паули (слева направо): CNOT (или управляемый-X), управляемый-Y и контролируемый-Z.
Матрица, представляющая управляемый U, равна
Когда U является одним из операторов Паули, X , Y , Z , иногда используются соответствующие термины «контролируемый- X », «контролируемый- Y » или «контролируемый- Z ». [4] : 177–185 Иногда это сокращается до C X , CY и C Z .
Управление может быть распространено на вентили с произвольным числом кубитов [2] и функции на языках программирования. [10] Функции могут быть обусловлены состояниями суперпозиции. [11] [12]
Классический контроль
Воротами также можно управлять с помощью классической логики. Квантовый компьютер управляется классическим компьютером и ведет себя как сопроцессор , который получает инструкции от классического компьютера о том, какие вентили на каких кубитах выполнять. [13] : 42–43 [14] Классический контроль — это просто включение или исключение вентилей в последовательность команд квантового компьютера. [4] : 26–28 [1] : 87–88
Ворота фазового сдвига
Фазовый сдвиг — это семейство однокубитных вентилей, которые отображают базовые состояния и . Вероятность измерения a или не меняется после применения этого вентиля, однако он изменяет фазу квантового состояния. Это эквивалентно отслеживанию горизонтального круга (линии постоянной широты) или вращению вокруг оси z на сфере Блоха в радианах. Вентиль фазового сдвига представлен матрицей:
где – фазовый сдвиг с периодом 2π . Некоторыми распространенными примерами являются вентиль T , где (исторически известный как вентиль), фазовый вентиль (также известный как вентиль S, записываемый как S , хотя S иногда используется для вентилей SWAP), где и вентиль Паули-Z, где .
Вентиляторы фазового сдвига связаны друг с другом следующим образом:
Обратите внимание, что фазовый вентиль не является эрмитовым (за исключением всех ). Эти ворота отличаются от своих эрмитовых сопряжений: . Два сопряженных (или сопряженных транспонированных ) вентиля иногда включаются в наборы команд. [15] [16]
Ворота Адамара
Ворота Адамара или Уолша-Адамара, названные в честь Жака Адамара ( французский: [adamaʁ] ) и Джозефа Л. Уолша , действуют на один кубит. Он отображает базовые состояния и (он создает равное состояние суперпозиции, если задано вычислительное базовое состояние). Два состояния и иногда пишутся и соответственно. Ворота Адамара совершают вращение вокруг оси сферы Блоха и поэтому являются инволютивными . Она представлена матрицей Адамара :
Если эрмитовский (так ) вентиль Адамара используется для изменения базиса , он переворачивается и . Например, и
Обмен воротами
Ворота подкачки меняют местами два кубита. По базису , , , , он представляется матрицей
Своп-вентиль можно разложить в форму суммирования:
Ворота Тоффоли (CCNOT)
Ворота Тоффоли, названные в честь Томмазо Тоффоли и также называемые воротами CCNOT или воротами Дойча , представляют собой 3-битные ворота, универсальные для классических вычислений, но не для квантовых вычислений. Квантовый вентиль Тоффоли — это тот же вентиль, определенный для 3 кубитов. Если мы ограничимся приемом только входных кубитов, которые являются и , то, если первые два бита находятся в состоянии, он применяет Паули- X (или НЕ) к третьему биту, в противном случае он ничего не делает. Это пример ворот CC-U (унитарный с управляемым управлением). Поскольку это квантовый аналог классического вентиля, он полностью определяется таблицей истинности. Ворота Тоффоли универсальны в сочетании с однокубитными воротами Адамара. [17]
Вентиль Тоффоли связан с классическими операциями AND ( ) и XOR ( ), поскольку он выполняет отображение состояний в вычислительном базисе.
Ворота Тоффоли можно выразить с помощью матриц Паули как
Универсальные квантовые ворота
Набор универсальных квантовых гейтов — это любой набор гейтов, к которому может быть сведена любая возможная операция на квантовом компьютере, то есть любая другая унитарная операция может быть выражена как конечная последовательность гейтов из этого набора. Технически это невозможно с чем-то меньшим, чем несчетный набор гейтов, поскольку количество возможных квантовых гейтов несчетно, тогда как количество конечных последовательностей из конечного набора счетно . Чтобы решить эту проблему, нам нужно лишь, чтобы любая квантовая операция могла быть аппроксимирована последовательностью элементов из этого конечного множества. Более того, для унитаров с постоянным числом кубитов теорема Соловея–Китаева гарантирует, что это можно сделать эффективно. Проверить, является ли набор квантовых вентилей универсальным, можно с помощью методов теории групп [18] и/или относительно (приблизительных) унитарных t-схем [19]
Некоторые универсальные наборы квантовых вентилей включают:
Операторы вращения R x ( θ ) , R y ( θ ) , R z ( θ ) , вентиль фазового сдвига P ( φ ) [c] и CNOT обычно используются для формирования универсального набора квантовых вентилей. [20] [д]
Множество Клиффорда {CNOT, H , S } + T вентиль. Набор Клиффорда сам по себе не является универсальным набором квантовых вентилей, поскольку его можно эффективно смоделировать классически в соответствии с теоремой Готтсмана-Нилла .
Ворота Тоффоли + ворота Адамара. [17] Один только вентиль Тоффоли образует набор универсальных вентилей для обратимых булевых алгебраических логических схем, которые охватывают все классические вычисления.
Немецкие ворота
Однозатворный набор универсальных квантовых вентилей также можно сформулировать с использованием параметризованного трехкубитного вентиля Дойча , [21] названного в честь физика Дэвида Дойча . Это общий случай CC-U , или унитарного вентиля «управляемый-управляемый» , и он определяется как
К сожалению, работающие ворота Дойча остались недоступными из-за отсутствия протокола. Есть предложения реализовать вентиль Дойча с диполь-дипольным взаимодействием в нейтральных атомах. [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
Если мы, как на картинке, объединим вентиль Паули- Y с вентилем Паули- X параллельно, то это можно записать так:
И ворота Паули- X , и ворота Паули- Y действуют на один кубит. Полученные ворота действуют на два кубита.
Иногда символ тензорного произведения опускается, и вместо него для операторов используются индексы. [25]
Преобразование Адамара
Ворота — это ворота Адамара ( ) , применяемые параллельно к двум кубитам. Это можно записать как:
Этот «двухкубитный параллельный вентиль Адамара», примененный, например, к двухкубитному нулевому вектору ( ), создаст квантовое состояние, которое имеет равную вероятность наблюдения в любом из четырех возможных результатов; , , , и . Эту операцию мы можем записать так:
Здесь амплитуда для каждого измеримого состояния равна 1 ⁄ 2 . Вероятность наблюдения любого состояния равна квадрату абсолютного значения амплитуды измеримых состояний, что в приведенном выше примере означает, что в одном из четырех случаев мы наблюдаем какой-либо из отдельных четырех случаев. Подробности смотрите в измерении.
выполняет преобразование Адамара для двух кубитов. Аналогичным образом вентиль выполняет преобразование Адамара в регистре кубитов .
При применении к регистру кубитов, все инициализированных как , преобразование Адамара переводит квантовый регистр в суперпозицию с равной вероятностью измерения в любом из его возможных состояний:
Это состояние представляет собой равномерную суперпозицию и генерируется на первом этапе в некоторых алгоритмах поиска, например, при усилении амплитуды и оценке фазы .
Измерение этого состояния приводит к получению случайного числа между и . [e] Насколько случайное число зависит от точности логических элементов. Если его не измерить, это квантовое состояние с равной амплитудой вероятности для каждого из возможных состояний.
Преобразование Адамара действует на регистр с кубитами следующим образом :
Приложение к запутанным состояниям
Если два или более кубитов рассматриваются как одно квантовое состояние, это объединенное состояние равно тензорному произведению составляющих его кубитов. Любое состояние, которое можно записать как тензорное произведение составляющих его подсистем, называется разделимыми состояниями . С другой стороны, запутанное состояние — это любое состояние, которое не может быть тензорно факторизовано, или, другими словами: запутанное состояние не может быть записано как тензорное произведение составляющих его состояний кубитов. Особую осторожность следует проявлять при применении вентилей к составляющим кубитам, образующим запутанные состояния.
Если у нас есть набор из N кубитов, которые запутаны, и мы хотим применить квантовый вентиль к M < N кубитам в наборе, нам придется расширить вентиль, чтобы он мог занять N кубитов. Это приложение можно реализовать, объединив вентиль с единичной матрицей так, чтобы их тензорное произведение стало вентилем, действующим на N кубитов. Единичная матрица ( ) представляет собой представление вентиля, который отображает каждое состояние на себя (т. е. вообще ничего не делает). На принципиальной схеме идентификационный вентиль или матрица часто выглядят как оголенный провод.
Например, вентиль Адамара ( ) действует на один кубит, но если мы подадим ему первый из двух кубитов, составляющих запутанное состояние Белла , мы не сможем легко написать эту операцию. Нам нужно расширить вентиль Адамара тождественным вентилем , чтобы мы могли воздействовать на квантовые состояния, охватывающие два кубита:
Теперь вентиль можно применить к любому двухкубитному состоянию, запутанному или другому. Гейт оставит второй кубит нетронутым и применит преобразование Адамара к первому кубиту. Если применить это к состоянию Белла в нашем примере, мы можем записать это как:
Вычислительная сложность и тензорное произведение
Временная сложность умножения двух -матриц составляет не менее , [26] при использовании классической машины. Поскольку размер вентиля, который работает с кубитами, означает, что время моделирования шага в квантовой схеме (посредством умножения вентилей), которая работает с общими запутанными состояниями, составляет 0,000 . По этой причине считается невозможным моделировать большие запутанные квантовые системы с помощью классических компьютеров. Однако подмножества вентилей, такие как вентили Клиффорда или тривиальный случай схем, реализующих только классические булевы функции (например, комбинации X, CNOT, Тоффоли), можно эффективно моделировать на классических компьютерах.
Поскольку все квантовые логические элементы обратимы , любая композиция из нескольких элементов также обратима. Все произведения и тензорные произведения (т.е. последовательные и параллельные комбинации) унитарных матриц также являются унитарными матрицами. Это означает, что можно построить инверсию всех алгоритмов и функций, если они содержат только вентили.
Если функция является произведением элементов, можно построить унитарную обратную функцию :
Потому что у нас после неоднократного применения на себе
Аналогично, если функция состоит из двух вентилей и параллельно, то и .
Ворота, являющиеся своими унитарными обратными, называются эрмитовыми или самосопряженными операторами . Некоторые элементарные элементы, такие как ворота Адамара ( 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 ) . В таком случае измерение представляет собой вероятностную проекцию точек на поверхности этой сложной сферы на базисные векторы , охватывающие пространство (и маркирующие результаты).
Во многих случаях пространство представляется как гильбертово, а не как какое-то конкретное -мерное комплексное пространство. Число измерений (определяемых базисными векторами и, следовательно, также возможными результатами измерения) часто подразумевается операндами, например, как необходимое пространство состояний для решения проблемы . В алгоритме Гровера Гровер назвал этот общий набор базисных векторов «база данных» .
Выбор базисных векторов для измерения квантового состояния повлияет на результат измерения. [1] : 30–35 [4] : 22, 84–85, 185–188 [33] Подробности см. в разделе « Изменение базиса и энтропия фон Неймана ». В этой статье мы всегда используем вычислительный базис , что означает, что мы пометили базисные векторы 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] можно сделать логически обратимыми, добавив информацию к выходу, так что входные данные можно вычислить на основе выходных данных (т. е. существует функция ). . В нашем примере это можно сделать, передав один из входных регистров на выход: . Затем выходные данные можно использовать для вычисления входных данных (т. е., учитывая выходные данные и , мы можем легко найти входные данные; задано и ) , и функция становится биективной.
Все логические алгебраические выражения могут быть закодированы как унитарные преобразования (квантовые логические элементы), например, с использованием комбинаций элементов Паули-X, CNOT и Тоффоли. Эти вентили функционально завершены в области булевой логики.
В библиотеках Q# , QCL , Qiskit и других языках квантового программирования доступно множество унитарных преобразований . Оно также встречается в литературе. [42] [43]
Например, где — количество кубитов, составляющих регистр , в QCL реализовано следующим образом: [44] [13] [12]
cond qufunct inc ( qureg x ) { // увеличиваем регистр int i ; for 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). Исследования в области квантовых вычислений . Спрингер . ISBN 978-1-84628-887-6.
^ abcdefg Баренко, Адриано; Беннетт, Чарльз Х.; Клив, Ричард; ДиВинченцо, Дэвид П.; Марголус, Норман; Шор, Питер; Слитор, Тихо; Смолин, Джон А.; Вайнфуртер, Харальд (1 ноября 1995 г.). «Элементарные вентили для квантовых вычислений». Физический обзор А. Американское физическое общество (APS). 52 (5): 3457–3467. arXiv : Quant-ph/9503016 . Бибкод : 1995PhRvA..52.3457B. дои : 10.1103/physreva.52.3457. ISSN 1050-2947. PMID 9912645. S2CID 8764584.
^ аб Фейнман, Ричард П. (1986). «Квантово-механические компьютеры». Основы физики . ООО «Спрингер Сайенс энд Бизнес Медиа». 16 (6): 507–531. Бибкод : 1986FoPh...16..507F. дои : 10.1007/bf01886518. ISSN 0015-9018. S2CID 122076550.
^ "Microsoft.Quantum.Intrinsic пространство имен" . Майкрософт ( Q# ). 28 июля 2023 г.
^ ab Операции и функции (документация Q#)
^ аб Омер, Бернхард (2 сентября 2009 г.). «Структурированное квантовое программирование» (PDF) . Институт теоретической физики Венского технического университета. стр. 72, 92–107. Архивировано из оригинала (PDF) 27 марта 2022 г.
^ аб Омер, Бернхард (29 апреля 2003 г.). «Классические концепции квантового программирования». Международный журнал теоретической физики . 44 (7): 943–955. arXiv : Quant-ph/0211100 . doi : 10.1007/s10773-005-7071-x. S2CID 119373370.
^ abcd Омер, Бернхард (20 января 2000 г.). Квантовое программирование в QCL (PDF) (Диссертация). Институт теоретической физики Венского технического университета. Архивировано из оригинала (PDF) 1 июня 2022 года . Проверено 24 мая 2021 г.
^ ab Паука С.Дж., Дас В., Калра Р., Мойни А., Ян Й., Тренер М., Буске А., Канталоб С., Дик Н., Гарднер Г.К., Манфра М.Дж., Рейли DJ (2021). «Криогенный КМОП-чип для генерации управляющих сигналов для нескольких кубитов». Природная электроника . 4 (4): 64–70. arXiv : 1912.01299 . дои : 10.1038/s41928-020-00528-y. S2CID 231715555.
^ Савицкий, Адам; Маттиоли, Лоренцо; Зимборас, Золтан (12 мая 2022 г.). «Проверка универсальности набора квантовых вентилей». Физический обзор А. 105 (5): 052602. arXiv : 2111.03862 . Бибкод : 2022PhRvA.105e2602S. doi :10.1103/PhysRevA.105.052602. S2CID 248761038.
^ Уильямс, Колин П. (2011), Уильямс, Колин П. (редактор), «Квантовые ворота», Исследования в области квантовых вычислений , Тексты по информатике, Лондон: Springer, стр. 51–122, doi : 10.1007/978 -1-84628-887-6_2, ISBN978-1-84628-887-6, получено 14 мая 2021 г.
^ Дойч, Дэвид (8 сентября 1989 г.), «Квантовые вычислительные сети», Proc. Р. Сок. Лонд. A , 425 (1989): 73–90, Bibcode : 1989RSPSA.425...73D, doi : 10.1098/rspa.1989.0099, S2CID 123073680
^ Ши, Сяо-Фэн (22 мая 2018 г.). «Дойч, Тоффоли и Кнот Гейтс через ридберговскую блокаду нейтральных атомов». Применена физическая проверка . 9 (5): 051001. arXiv : 1710.01859 . Бибкод : 2018PhRvP...9e1001S. doi : 10.1103/PhysRevApplied.9.051001. ISSN 2331-7019. S2CID 118909059.
^ "Я операция" . docs.microsoft.com . 28 июля 2023 г.
^ Доусон, Кристофер М.; Нильсен, Майкл (1 января 2006 г.). «Алгоритм Соловая-Китаева». Квантовая информация и вычисления . 6 (1). Раздел 5.1, уравнение 23. arXiv : quant-ph/0505030 . дои : 10.26421/QIC6.1-6.
^ Маттео, Оливия Ди (2016). «Распараллеленный синтез квантовых схем». Квантовая наука и технология . 1 (1): 015003. arXiv : 1606.07413 . Бибкод : 2016QS&T....1a5003D. дои : 10.1088/2058-9565/1/1/015003. S2CID 62819073.
^ Ааронсон, Скотт (2002). «Квантовая нижняя граница для рекурсивной выборки Фурье». Квантовая информация и вычисления . 3 (2): 165–174. arXiv : Quant-ph/0209060 . Бибкод : 2002quant.ph..9060A. дои : 10.26421/QIC3.2-7.
^ Онлайн-руководство Q#: Управление квантовой памятью