L'esercizio 4.29 del calcolo quantistico e delle informazioni quantistiche di Nielsen e Chuang mi ha lasciato perplesso.
Trova un circuito contenente Toffoli, CNOT e porte a qubit singolo che implementa un gate (per ), senza qubit di lavoro.
Ho capito che questo non può essere fatto in modo classico .
Ho capito come farlo con cancelli esponenzialmente precisi (annidare la costruzione a doppio controllo-da-singolo-controllo-e-quadrata-radice-operazione dentro di sé volte).
Ho provato a generalizzare la costruzione di cui sopra nell'accumulare una combinazione lineare di operazioni controllate. Ad esempio, se ho 3 controlli chiamati A e B e C e realizzo un vettore dei vari casi [0, A, B, C, AB, BC, AC, ABC], allora:
- L'applicazione di un'operazione aggiunge incondizionatamente [1, 1, 1, 1, 1, 1, 1, 1]
- Il controllo di un'operazione su A aggiunge [0, 1, 0, 0, 1, 1, 0, 1]
- Xoring A in C quindi controllo di un'operazione su C (quindi annullamento di xor) aggiungerebbe [0, 1, 0, 1, 1, 1, 0, 0]
- Xoring (A e B) in C tramite una porta toffoli quindi il controllo di un'operazione su C aggiungerebbe [0, 0, 0, 1, 1, 1, 1, 0]
Quindi proverei ad aggiungere (applicare una radice di X) e sottrarre (applicare la radice quadrata inversa) i vari vettori che posso fare fino a quando il risultato non viene visualizzato come [0, 0, 0, 0, 0, 0, 0, N] .
Ma continuo a colpire vari muri, come soluzioni che finiscono con grandi multipli (cioè le porte che sto usando diventano esponenzialmente precise, che penso sia un no-no) o semplicemente non sono in grado di risolvere il sistema a causa dell'interazione tra generare elementi con AND / XOR quindi risolverli con + / * non standard o creare numeri esponenziali di porte.
Quali sono alcuni altri approcci da provare?