A questão pode não estar totalmente bem definida, no sentido de que, para solicitar uma maneira de calcular partir de uma decomposição de U, é necessário especificar o conjunto de portas que você deseja usar. De fato, é um resultado conhecido que qualquer porta de n- qubit pode ser decomposta exatamente usando CNOT e operações de um único qubit, de modo que uma resposta ingênua à pergunta seria: simplesmente decomponha C ( U ) usando um único qubit e CNOTC(U)UnCNOTC(U)CNOT s.
Uma interpretação diferente da pergunta é a seguinte: dado , posso calcular C ( U ) usando um conjunto de operações de qubit único e CNOT não está no qubit de controle e CNOT s com o controle sendo o primeiro qubit? Isso pode ser feito generalizando um resultado encontrado no capítulo quatro da Nielsen & Chuang .UC(U)CNOTCNOT
Seja um portão de um qubit único. Pode-se então provar que U sempre pode ser escrito como U = e i α A X B X C , onde X é o portão Pauli X, e A , B e C são operações de qubit único, como A B C = I ( veja N&C para uma prova). Daqui resulta que
C ( U ) = Φ 1 ( α ) A 2 C ( X ) 2UUU=eiαAXBXCXA,BCABC=I
onde Φ 1 ( α ) ≡ ( 1 0 0 e i α ) ⊗ eu é um porta fase aplicado ao primeiro qbit, e A 2 , B 2 , C 2 são Uma , B , C aplicada para o segundo qubit. Isso é imediato quando você percebe que, se esse primeiro qubit for | 0 ⟩ , em seguida, C ( X )
C(U)=Φ1(α)A2C(X)B2C(X)C2,
Φ1(α)≡(100eiα)⊗IA2,B2,C2A,B,C|0⟩C(X)torna-se uma identidade e, no segundo qubit, você tem as operações
, que dão a identidade. Por outro lado, se o primeiro qubit for
| 1 ⟩ , em seguida, no segundo trilho tiver
um X B X C , os quais (em conjunto com a fase) é igual a
L , por definição.
ABC|1⟩AXBXCU
A decomposição acima pode ser usada para encontrar uma maneira ingênua de calcular para uma porta unitária geral de qubit de n . A principal observação é de que, se L = A 1 A 2 ⋯ Um m para qualquer conjunto de portas { A 1 , . . , A m } , então
C ( U ) = C ( A 1 ) C ( A 2 ) ⋯ C ( A m )C(U)nU=A1A2⋯Am{A1,..,Am}
C(U)=C(A1)C(A2)⋯C(Am).
Mas também sabemos que qualquer
U de qubit pode ser decomposto em termos de CNOTs e operações de qubit único. Segue-se que
C ( U ) é uma sequência de operações CCNOT e
C ( V ) , onde CCNOT é aqui uma porta
X aplicada a alguns qubit condicionados a outros dois qubits
| 1 ⟩ , e
V é uma operação qubits único em alguns qbit. Porém, novamente, qualquer operação do CCNOT (também chamada de
Toffoli ) pode ser decomposta, como mostra a Figura 4.9 em N&C, e o
C ( V )nUC(U)C(V)X|1⟩VC(V) são decompostos como mostrado na primeira parte da resposta.
Esse método permite decompor uma porta unitária geral de qubit U usando apenas portas CNOT e de qubit único. Você pode ir além e generalizar isso para encontrar uma decomposição para o caso de múltiplos qubits de controle. Para isso, agora você só precisa de uma maneira de decompor os portões de Toffoli, o que é encontrado novamente na Figura 4.9 da N&C.nUCNOT