Udostępnij przez


IncByLEUsingAddLE, operacja

W pełni kwalifikowana nazwa: Std.Arithmetic.IncByLEUsingAddLE

operation IncByLEUsingAddLE(forwardAdder : ((Qubit[], Qubit[], Qubit[]) => Unit is Adj), backwardAdder : ((Qubit[], Qubit[], Qubit[]) => Unit is Adj), xs : Qubit[], ys : Qubit[]) : Unit is Adj + Ctl

Podsumowanie

Operacja ogólna, aby przekształcić dwa dodatki out-place w jeden dodatek w miejscu

Opis

Ta implementacja umożliwia określenie dwóch odrębnych dodatków dla kierunku do przodu i do tyłu. Dodatek do przodu jest zawsze stosowany w jego wariantie treści, podczas gdy dodatek do tyłu jest zawsze stosowany w jego sąsiednim wariantie. W związku z tym można na przykład użyć dodatku typu "tętnień" w kierunku wstecznym, aby nie wymagać żadnych bram T.

Kontrolowany wariant jest również zoptymalizowany w taki sposób, że wszystko, ale dodatki są kontrolowane,

Źródło

  • arXiv:2012.01624 "Sumatory wyprzedzające bloki kwantowe i oczekiwanie na magiczne stany", Craig Gidney.