Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 adders out-place em um adder in-loco
Descrição
Esta implementação permite especificar dois adders distintos para a direção para frente e para trás. O aditivo para a frente é sempre aplicado na sua variante de corpo, enquanto o aditivo para trás é sempre aplicado na sua variante adjunta. Portanto, é possível, por exemplo, usar o adder ripple-carry out-of-place na direção inversa para não exigir portas T.
A variante controlada também é otimizada de forma que tudo, exceto os aditivos, seja controlado,
Referência
- arXiv:2012.01624 "Quantum block lookahead adders e a espera por estados mágicos", Craig Gidney.