Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Nom complet : Std.Arithmetic.LookAheadDKRSAddLE
operation LookAheadDKRSAddLE(xs : Qubit[], ys : Qubit[], zs : Qubit[]) : Unit is Adj
Résumé
Définit un registre little-endian initialisé zéro zs à la somme des registres little-endian xs et ys à l’aide de l’algorithme carry-lookahead.
Descriptif
Calcule zs := xs + ys + zs[0] modulo 2ⁿ, où xs, ys et zs sont des registres little-endian, Length(xs) = Length(ys) ≤ Length(zs) = n, en supposant que zs est 0 initialisé, à l’exception de zs[0], qui peut être dans |0> ou |1> état et peut être utilisé comme transport.
REMARQUE : zs[Length(xs)] peut être utilisé comme exécution, si zs est plus long que xs.
Cette opération utilise l’algorithme carry-lookahead.
Référence
- arXiv :quant-ph/0406142 « A logarithmic-depth quantum carry-lookahead adder », Thomas G. Draper, Samuel A. Kutin, Eric M. Rains, Krysta M. Svore