Вентиль CCCNOT - это четырехразрядный обратимый вентиль, который переворачивает свой четвертый бит, если и только если все первые три бита находятся в состоянии .
Как мне реализовать ворота CCCNOT, используя ворота Toffoli? Предположим, что биты в рабочей области начинаются с определенного значения, 0 или 1, при условии, что вы возвращаете их этому значению.
quantum-gate
gate-synthesis
chuster
источник
источник
Ответы:
Я думаю, что вы ищете следующую схему. Здесь,б1, б2, б3, б4∈ { 0 , 1 } , и ⊕ является сложение по модулю 2 .
Здесь пятый кубит используется в качестве вспомогательного или вспомогательного кубита . Это начинается в| 0⟩ и заканчивается в | 0⟩ , когда применяется схема.
Позвольте мне подробнее рассказать о том, как работает эта схема. Идея состоит в том, чтобы прежде всего проверить, находятся ли первые два кубита в состоянии| 1⟩ . Это может быть сделано с использованием единственного гейта Тоффоли, и результат сохраняется во вспомогательном кубите. Теперь задача сводится к переключению кубита 4 , когда кубиты 3 и вспомогательный кубит находятся в | 1⟩ . Это также может быть достигнуто с помощью одного приложения ворот Тоффоли, а именно среднего в схеме, показанной выше. Наконец, последний вентиль Toffoli служит для вычисления временного результата, который мы сохранили во вспомогательном кубите, так что состояние этого кубита возвращается к | 0⟩ после того, как схема применяется.
В разделе комментариев возник вопрос, возможно ли реализовать такую схему, используя только логики Тоффоли, без использования вспомогательных кубитов. На этот вопрос можно ответить отрицательно, как я покажу здесь.
Мы хотим реализоватьC C C N O T -gate, который действует на четыре кубита. Мы можем определить следующую матрицу (матрицу представление Паули Икс -gate):
Икс= [ 0110]
Кроме того, мы будем обозначать N - мерную матрицу идентичности яN . Теперь мы видим, что матричное представление C C C N O T ворот, действующих на четыре кубита, задается следующей матрицей 16 × 16 :
C C C N O T = [ I1400Икс]
Следовательно, мы можем определить его определитель:
дет ( C C C N O T ) = - 1
Теперь рассмотрим матричное представление ворот Тоффоли, действующих на первые три кубита4 система Его матричное представление записывается в виде (где мы использовали произведение матриц Кронекера):
Т о фео л я ⊗ я2= [ Я600Икс] ⊗ я2= [ Я1200Икс⊗ я2] = ⎡⎣⎢я120000я20я20⎤⎦⎥
Расчет его определяющих выходов:
дет ( Т о фео л я ⊗ я2) = 1
Врата Тофоли, конечно же, могут действовать и на разные кубиты. Предположим, что мы позволяем воротам Тоффоли действовать на первом, втором и четвертом кубите, где четвертый кубит является целевым кубитом. Затем мы получаем новое матричное представление из представленного выше путем замены столбцов, соответствующих состояниям, которые отличаются только в третьем и четвертом кубите, т. Е. | 0001⟩ с | 0010⟩ , | 0101⟩ с | 0110⟩ и т.д. Важно отметить, что число перестановок столбцов четно, и , следовательно, определитель остается неизменным. Как мы можем записать каждую перестановку кубитов в виде последовательности последовательных перестановок просто2 кубита (т. Е.S4 генерируется транспозициями вS4 ), мы находим, что для всех тоффолио, примененных к любой комбинации контрольных и целевых кубитов, его матричное представление имеет определитель1 .
Последнее, что следует отметить, это то, что определитель коммутирует с умножением матриц, то естьдет ( A B ) = дет ( A ) дет ( B ) , для любых двух матриц A и В совместимых с умножением матриц. Следовательно, теперь становится очевидным, что применение нескольких последовательностей Toffoli никогда не создает схему, матричное представление которой имеет определитель, отличный от 1 , что, в частности, подразумевает, что C C C N O T ворота не могут быть реализованы с использованием только элементов Toffoli для 4 кубитов.
Теперь очевидный вопрос: что меняется, когда мы разрешаем вспомогательный кубит? Мы находим ответ, когда записываем действиеC C C N O T ворот на 5 кубитную систему:
C C C N O T ⊗ I2= [ Я1400Икс] ⊗ я2= ⎡⎣⎢я280000я20я20⎤⎦⎥
Если мы вычислим этот определитель, мы найдем:
дет ( C C C N O T ⊗ I2) = 1
Следовательно, определительCCCNOT -грэта, действующего на5 кубитах, равен1 , а не−1 . Вот почему предыдущий аргумент недействителен для5 кубитов, как мы уже знали из-за явно сконструированной схемы, запрошенной OP.
источник