Compartir a través de


Operación LookAheadDKRSAddLE

Nombre completo: Std.Arithmetic.LookAheadDKRSAddLE

operation LookAheadDKRSAddLE(xs : Qubit[], ys : Qubit[], zs : Qubit[]) : Unit is Adj

Resumen

Establece un registro little-endian inicializado cero zs en la suma de little-endian registra xs e ys mediante el algoritmo carry-lookahead.

Descripción

Calcula zs := xs + ys + zs[0] módulo 2ⁿ, donde xs, ys y zs son registros little-endian, Length(xs) = Length(ys) ≤ Length(zs) = n, suponiendo que zs es 0 inicializado, excepto para tal vez zs[0], que puede estar en |0> o |1> estado y se puede usar como transporte. NOTA: zs[Length(xs)] se puede usar como realización, si zs es mayor que xs. Esta operación usa el algoritmo carry-lookahead.

Referencia

  • arXiv:quant-ph/0406142 "A logaritmic-depth quantum carry-lookahead adder", Thomas G. Draper, Samuel A. Kutin, Eric M. Rains, Krysta M. Svore