Eu acho que o que você está procurando é o seguinte circuito. Aqui, b1,b2,b3,b4∈{0,1} e ⊕ é o módulo de adição 2 .

Aqui, o qubit qubit é usado como um qubit auxiliar ou ancilla . Começa às |0⟩ e termina em |0⟩ quando o circuito é aplicado.
Deixe-me explicar como esse circuito funciona. A idéia é verificar primeiro se os dois primeiros qubits estão no estado |1⟩ . Isso pode ser feito usando uma única porta Toffoli, e o resultado é armazenado no qubit auxiliar. Agora, o problema reduz-se ao lançamento do qubit 4 , sempre que o qubits 3 e o qubit auxiliar estiverem em |1⟩ . Isso também pode ser alcançado usando uma aplicação de um portão de Toffoli, ou seja, o do meio no circuito mostrado acima. Finalmente, o último portão de Toffoli serve para não calcular o resultado temporário que armazenamos no qubit auxiliar, de modo que o estado desse qubit retorne a |0⟩ após o circuito ser aplicado.
Na seção de comentários, surgiu a questão de saber se é possível implementar esse circuito usando apenas portas Toffoli, sem o uso de qubits auxiliares. Esta pergunta pode ser respondida de forma negativa, como mostrarei aqui.
Queremos implementar a CCCNOT -gate, que atua em quatro qubits. Podemos definir a seguinte matriz (matriz a representação da Pauli- X -gate):
X= [ 01 11 10 0]
Além disso, nós denotar a
N matriz identidade -dimensional por
EuN . Agora, observa-se que a representação da matriz da
C C C N O T -gate, agindo em quatro qubits, é dada pela seguinte
16 × 16 matriz:
C C C N O T = [ I140 00 0X]
Assim, pode-se determinar o seu determinante:
det ( C C C N O T ) = - 1
Considere agora a representação da matriz da porta Toffoli, agindo sobre as três primeiras qubits de um
4 sistema de qubit. A sua representação matricial é escrito como (onde foi utilizado o produto de Kronecker de matrizes):
T o ffo l i ⊗ I2= [ I60 00 0X] ⊗ I2= [ I120 00 0X⊗ eu2] = ⎡⎣⎢Eu120 00 00 00 0Eu20 0Eu20 0⎤⎦⎥
Calculando os seus rendimentos determinantes:
det ( T offo l i ⊗ I2) = 1
Os portões de Toffoli também podem atuar em diferentes qubits, é claro. Suponha que deixemos o portão de Toffoli agir no primeiro, segundo e quarto qubit, onde o quarto qubit é o qubit alvo. Em seguida, obtemos a nova representação matricial da exibida acima, trocando as colunas correspondentes aos estados que diferem apenas no terceiro e quarto qubit, ou seja,
| 0001⟩ com
| 0010⟩ ,
| 0101⟩ com
|0110⟩ , etc. O importante a notar aqui, é que o número de swaps de colunas é ainda, e, portanto, que o determinante permanece inalterado. Como podemos escrever toda permutação de qubits como uma sequência de permutações consecutivas de apenas
2 qubits (isto é,
S4 é gerado pelas transposições em
S4 ), descobrimos que, para todos os portões de Toffoli, aplicados a qualquer combinação de controle e qubits alvo, sua representação matricial é determinante
1 .
A última coisa a notar é que o determinante comuta com multiplicação de matrizes, ou seja, det(AB)=det(A)det(B) , para quaisquer duas matrizes A e B compatíveis com a multiplicação de matrizes. Assim, torna-se agora evidente que a aplicação de múltiplas portas Toffoli em sequência não cria um circuito cuja representação matriz tem um diferente determinante de 1 , que em particular implica que o CCCNOT -gate não pode ser implementado utilizando apenas portas Toffoli sobre 4 qubits.
A questão óbvia, agora, é o que muda quando permitimos um qubit auxiliar. Encontramos a resposta quando escrevemos a ação do CCCNOT -gate em um 5 sistema -qubit:
CCCNOT⊗I2=[I1400X]⊗I2=⎡⎣⎢I280000I20I20⎤⎦⎥
Se calcularmos esse determinante, encontramos:
det(CCCNOT⊗I2)=1
Assim, o determinante da
CCCNOT agir -gate em
5 qubits é
1 , em vez de
−1 . É por isso que o argumento anterior não é válido para
5 qubits, como já sabíamos por causa do circuito explicitamente construído que o OP solicitava.