Freigeben über


IncByLEUsingAddLE-Vorgang

Vollqualifizierter Name: 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

Zusammenfassung

Allgemeiner Vorgang, um zwei out-place-Adder in einen direkten Adder umzuwandeln

BESCHREIBUNG

Diese Implementierung ermöglicht es, zwei unterschiedliche Adder für die Vorwärts- und Rückwärtsrichtung anzugeben. Der Vorwärtszusatz wird immer in seiner Textkörpervariante angewendet, während der Rückzusatz immer in seiner angrenzenden Variante angewendet wird. Daher ist es möglich, z. B. den Out-of-Place-Adder in Rückwärtsrichtung zu verwenden, um keine T-Tore zu benötigen.

Die kontrollierte Variante ist auch so optimiert, dass alles, aber die Adder gesteuert wird,

Referenz

  • arXiv:2012.01624 "Quantenblock-Lookahead-Addierer und das Warten auf magische Zustände", Craig Gidney.