Delen via


IncByLEUsingAddLE-bewerking

Volledig gekwalificeerde naam: Std.Arithmetic.IncByBYLEUsingAddLE

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

Samenvatting

Algemene bewerking voor het omzetten van twee out-place invoegtoepassingen in één in-place invoegtoepassing

Beschrijving

Met deze implementatie kunt u twee afzonderlijke invoegtoepassingen opgeven voor voorwaartse en achterwaartse richting. De voorwaartse invoegtoepassing wordt altijd toegepast in de bodyvariant, terwijl de achterwaartse invoegtoepassing altijd wordt toegepast in de aangrenzende variant. Daarom is het mogelijk om bijvoorbeeld de rimpelingstoevoeger in achterwaartse richting te gebruiken om geen T-poorten te vereisen.

De gecontroleerde variant is ook geoptimaliseerd op een manier die alles behalve de adders wordt beheerd,

Referentie

  • arXiv:2012.01624 "Quantum block lookahead adders en het wachten op magische toestanden", Craig Gidney.