Condividi tramite


Operazione IncByLEUsingAddLE

Nome completo: Std.Arithmetic.IncByLEUsingAddLE

operation IncByLEUsingAddLE(forwardAdder : ((Qubit[], Qubit[], Qubit[]) => Unit is Adj), backwardAdder : ((Qubit[], Qubit[], Qubit[]) => Unit is Adj), xs : Qubit[], ys : Qubit[]) : Unit is Adj + Ctl

Sommario

Operazione generica per trasformare due componenti aggiuntivi sul posto in un unico adder sul posto

Descrizione

Questa implementazione consente di specificare due componenti aggiuntivi distinti per la direzione avanti e indietro. L'adder in avanti viene sempre applicato nella variante del corpo, mentre l'adder all'indietro viene sempre applicato nella variante adiacente. Pertanto, è possibile, ad esempio, utilizzare l'addizione a increspatura fuori luogo in direzione indietro per non richiedere cancelli T.

La variante controllata è ottimizzata anche in modo che tutto, ma i componenti aggiuntivi sono controllati,

Riferimento

  • arXiv:2012.01624 "Sommatori lookahead a blocchi quantistici e l'attesa degli stati magici", Craig Gidney.