Compartilhar via


Operação RippleCarryCGAddLE

Nome totalmente qualificado: Std.Arithmetic.RippleCarryCGAddLE

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

Resumo

Define um registro de little-endian inicializado zero zs para a soma de little-endian registra xs e ys usando o algoritmo de carregamento de ondulação.

Descrição

Computes zs := xs + ys + zs[0] modulo 2ⁿ, onde xs, ys e zs são registros little-endian, Length(xs) = Length(ys) ≤ Length(zs) = n, supondo que zs seja inicializado em 0, exceto talvez zs[0], que pode ser Essa operação usa o algoritmo de transporte de ondulação. OBSERVAÇÃO: zs[Length(xs)] podem ser usados como realização, se zs for maior que xs.

Referência

  • arXiv:1709.06648 "Reduzindo pela metade o custo da adição quântica", Craig Gidney.