Квантовый вентиль

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Квантовый вентиль (квантовый логический элемент) — это базовый элемент квантового компьютера, преобразующий входные состояния кубитов на выходные по определённому закону. Отличается от обычных логических вентилей тем, что работает с кубитами, а следовательно подчиняется квантовой логике. Квантовые вентили в отличие от многих классических всегда являются обратимыми.

Так как кубит можно представить вектором в двумерном пространстве, то действие вентиля можно описать унитарной матрицей, на которую умножается соответствующий вектор состояния входного кубита. Однокубитные вентили описываются матрицами размера 2 × 2, двухкубитные — 4 × 4, а n-кубитные — 2n × 2n.

Примеры квантовых вентилей[править | править вики-текст]

Простейшие однокубитовые вентили:

  • Тождественное преобразование:
 \sigma_0 = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}
  • Отрицание:
 \sigma_1 = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}
  • Фазовый сдвиг:
 \sigma_2 = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}
  • Преобразование Адамара:
 H = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}


Также возможны вентили, имеющие два входа (и два выхода, так как количество входов и выходов у квантовых вентилей должно совпадать в силу требования унитарности):

  • Контролируемое U (C-U). Суть контролируемого U заключается в том, что на первый вход подаётся управляющий кубит, а на второй — управляемый. Если управляющий кубит равен единице, над управляемым проводится операция U, а если нулю — тождественное преобразование (кубит подается на выход без изменений). Если матрица U имеет вид
 U =  \begin{bmatrix} x_{00} & x_{01} \\ x_{10} & x_{11} \end{bmatrix} ,

тогда матрица преобразования C-U выглядит так:

 \operatorname{C}(U) =  \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & x_{00} & x_{01} \\  0 & 0 & x_{10} & x_{11} \end{bmatrix}
  • Контролируемое отрицание (C-NOT). В этом случае  U = \sigma_1 и матрица преобразования имеет вид:
 CNOT = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{bmatrix}


Важными 3-х кубитными вентилями являются:

  • вентиль Тоффоли (Toffoli, часто CCNOT) — является универсальным. Может быть реализован на C-NOT и однокубитных вентилях. Похож по алгоритму работы на CNOT, но обращает значение последнего бита только если два первых входа равны единице. В противном случае все входы подаются на выход неизменными.
  • вентиль Фредкина (англ. Fredkin gate, часто CSWAP) — также универсален. Если первый вход установлен, переставляет значения кубитов со входов 2 и 3. Иначе все три кубита остаются без изменений.

Универсальные квантовые вентили[править | править вики-текст]

Набор квантовых вентилей называют универсальным, если любое унитарное преобразование можно аппроксимировать с любой заданной точностью конечной последовательностью вентилей из этого набора. Иными словами, универсальные квантовые вентили являются генераторами группы унитарных матриц. Можно доказать, что набор, состоящий из вентиля C-NOT и всех однокубитных вентилей, является универсальным. Возможны и другие универсальные наборы.