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.LookAheadDKRSAddLE
operation LookAheadDKRSAddLE(xs : Qubit[], ys : Qubit[], zs : Qubit[]) : Unit is Adj
Resumo
Define um registro little-endian inicializado zero zs para a soma dos registros little-endian xs e ys usando o algoritmo carry-lookahead.
Descrição
Calcula zs := xs + ys + zs[0] módulo 2ⁿ, onde xs, ys e zs são registros little-endian, Length(xs) = Length(ys) ≤ Length(zs) = n, assumindo que zs é 0-inicializado, exceto talvez zs[0], que pode estar em |0> ou |1> estado e pode ser usado como carry-in.
NOTA: zs[Length(xs)] pode ser utilizado como transporte, se zs for superior a xs.
Esta operação usa o algoritmo carry-lookahead.
Referência
- arXiv:quant-ph/0406142 "A logarithmic-depth quantum carry-lookahead adder", Thomas G. Draper, Samuel A. Kutin, Eric M. Rains, Krysta M. Svore