La domanda potrebbe non essere del tutto ben definita, nel senso che per chiedere un modo per calcolare da una decomposizione di U è necessario specificare l'insieme di porte che si desidera utilizzare. In effetti, è un risultato noto che qualsiasi gate n -qubit può essere esattamente decomposto usando le operazioni CNOT e single-qubit, in modo che una risposta ingenua alla domanda sarebbe: semplicemente decomporre C ( U ) usando single-qubit e CNOT s.C(U)UnCNOTC(U)CNOT
Una diversa interpretazione della domanda è la seguente: dato , posso calcolare C ( U ) usando una serie di operazioni singolo qubit e CNOT s non sul qubit controllo , e CNOT s con il controllo essendo il primo qubit? Questo può essere fatto generalizzando un risultato trovato nel capitolo quattro di Nielsen & Chuang .UC(U)CNOTCNOT
Sia un gate a qubit singolo. Si può quindi dimostrare che U può sempre essere scritto come U = e i α A X B X C , dove X è la porta di Pauli X e A , B e C sono operazioni a singolo qubit in modo tale che A B C = I ( vedere N&C per una prova). Ne consegue che
C ( U ) = Φ 1 ( α ) A 2 C ( X ) BUUU=eiαAXBXCXA,BCABC=I
dove Φ 1 ( α ) ≡ ( 1 0 0 e i α ) ⊗ I è un gate di fase applicato al primo qubit e A 2 , B 2 , C 2 sono A , B , C applicato al secondo qubit. Questo è immediato quando ti rendi conto che, se quel primo qubit è | 0 ⟩ , allora C ( X )
C(U)=Φ1(α)A2C(X)B2C(X)C2,
Φ1(α)≡(100eiα)⊗IA2,B2,C2A,B,C|0⟩C(X)diventa un'identità, e sul secondo qubit hai le operazioni
, che danno l'identità. D'altra parte, se il primo qubit è
| 1 ⟩ , quindi sulla seconda rotaia avete
A X B X C , che (insieme con la fase) è uguale a
U per definizione.
ABC|1⟩AXBXCU
La suddetta decomposizione può essere usata per trovare un modo ingenuo di calcolare per una porta unitaria n -qubit generale . L'osservazione principale è che se U = A 1 A 2 ⋯ A m per ogni gruppo di porte { A 1 , . . , A m } , quindi
C ( U ) = C ( A 1 ) C ( A 2 ) ⋯ C ( A m )C(U)nU=A1A2⋯Am{A1,..,Am}
Ma sappiamo anche che ogni n -qubit U può essere scomposta in termini di CNOTs e operazioni a singolo qubit. Ne consegue che C ( U ) è una sequenza di operazioni CCNOT e C ( V ) , in cui CCNOT è qui ungate X applicato ad alcuni qubit condizionati a due altri qubit essendo | 1 ⟩ , e V è un'operazione a singolo qubit su alcuni qubit. Ma ancora una volta, qualsiasi operazione CCNOT (chiamata ancheToffoli), può essere decomposta come mostrato nella Figura 4.9 in N&C e C ( V )
C(U)=C(A1)C(A2)⋯C(Am).
nUC(U)C(V)X|1⟩VC(V) vengono decomposti come mostrato nella prima parte della risposta.
Questo metodo consente di scomporre un gate U unitario -qubit generale usando solo porte CNOT e single-qubit. È quindi possibile andare oltre e generalizzare questo per trovare una decomposizione per il caso di qubit di controllo multipli. Per questo è necessario solo ora un modo per scomporre le porte di Toffoli, che si trova di nuovo nella Figura 4.9 delle N&C.nUCNOT