Delen via


LookAheadDKRSAddLE-bewerking

Volledig gekwalificeerde naam: Std.Arithmetic.LookAheadDKRSAddLE

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

Samenvatting

Stelt een zero-initialized little-endian register zs in op de som van little-endian registers xs en ys met behulp van het carry-lookahead-algoritme.

Beschrijving

Berekent zs := xs + ys + zs[0] modulo 2ⁿ, waarbij xs, ys en zs little-endian-registers zijn, Length(xs) = Length(ys) ≤ Length(zs) = n, ervan uitgaande dat zs 0-initialized is, met uitzondering van misschien zs[0], die in |0> of |1> staat kan worden gebruikt en kan worden gebruikt als carry-in. OPMERKING: zs[Length(xs)] kan worden gebruikt als uitvoering, als zs langer is dan xs. Deze bewerking maakt gebruik van het carry-lookahead-algoritme.

Referentie

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