Compartilhar via


Operação IncByLEUsingAddLE

Nome totalmente qualificado: 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

Resumo

Operação genérica para transformar dois adidores de saída em um adder in-loco

Descrição

Essa implementação permite especificar dois adidores distintos para direção para frente e para trás. O adder para frente é sempre aplicado em sua variante de corpo, enquanto o adder para trás é sempre aplicado em sua variante adjacente. Portanto, é possível, por exemplo, usar a forragem de ondulação-carry-out-of-place na direção anterior para não exigir portas T.

A variante controlada também é otimizada de uma maneira que tudo, exceto os adidores, é controlado,

Referência

  • arXiv:2012.01624 "Adidores lookahead de bloco quântico e a espera por estados mágicos", Craig Gidney.