Partager via


Opération IncByLEUsingAddLE

Nom complet : 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

Résumé

Opération générique pour transformer deux adders out-place en un seul adder sur place

Descriptif

Cette implémentation permet de spécifier deux adders distincts pour la direction vers l’avant et l’arrière. L’adder avant est toujours appliqué dans sa variante de corps, tandis que l’additionneur vers l’arrière est toujours appliqué dans sa variante adjointe. Par conséquent, il est possible, par exemple, d’utiliser l’additionneur sur place à l’arrière pour ne pas avoir de portes T.

La variante contrôlée est également optimisée de manière à ce que tout, mais les adders sont contrôlés,

Référence

  • arXiv :2012.01624 « Adders lookahead de bloc quantique et l’attente des états magiques », Craig Gidney.