CompareUsingRippleCarry işlemi

Uyarı

Bu belge, Modern QDK ile değiştirilen Klasik QDK'yi ifade eder.

Lütfen Modern QDK için API belgelerine bakın https://aka.ms/qdk.api .

Ad Alanı: Microsoft.Quantum.Arithmetic

Paket: Microsoft.Quantum.Standard

Bu işlem, kubitlerin bir yazmaç tarafından temsil edilen bir tamsayının başka bir tamsayıdan büyük olup olmadığını test eder ve sonucun XOR değerini bir çıkış kubitine uygular.

operation CompareUsingRippleCarry (x : Microsoft.Quantum.Arithmetic.LittleEndian, y : Microsoft.Quantum.Arithmetic.LittleEndian, output : Qubit) : Unit is Adj + Ctl

Description

İki tamsayı xy verilip eşit boyutlu kubit kayıtlarında depolandığında, bu işlem bunların öğesini karşılayıp karşılamadıklarını x > ydenetler. Doğruysa, 1 bir çıkış kubitine XORed olarak eklenir. Aksi takdirde, 0 bir çıkış kubitine XORed olur. Başka bir deyişle, bu işlem birim $$ \begin{align} U\ket{x}\ket{y}\ket{z} = \ket{x}\ket{y}\ket{z\oplus (x>y)} ile temsil edilebilir. \end{align} $$

Giriş

x : LittleEndian

Bir kubit yazmaçta LittleEndian biçimde depolanan karşılaştırılacak ilk sayı.

y : LittleEndian

Bir kubit yazmaçta LittleEndian biçimde depolanacak ikinci sayı.

output : Qubit

Karşılaştırma sonucunu y$ $x>depolayan Qubit.

Çıkış : Birim

Başvurular