Operasi MultiplyByModularInteger

Peringatan

Dokumentasi ini mengacu pada QDK Klasik, yang telah digantikan oleh QDK Modern.

Silakan lihat https://aka.ms/qdk.api dokumentasi API untuk QDK Modern.

Namespace: Microsoft.Quantum.Arithmetic

Paket: Microsoft.Quantum.Standard

Melakukan perkalian modular dengan konstanta bilangan bulat pada register qubit.

operation MultiplyByModularInteger (constMultiplier : Int, modulus : Int, multiplicand : Microsoft.Quantum.Arithmetic.LittleEndian) : Unit is Adj + Ctl

Deskripsi

Mari kita tunjukkan modulus dengan $N$ dan constMultiplier dengan $a$. Kemudian operasi ini mengimplementasikan operasi unitaris yang ditentukan oleh peta berikut berdasarkan komputasi: $$ \begin{align} \ket{y} \mapsto \ket{(a \cdot y) \operatorname{mod} N} \end{align} $$ untuk semua $y$ antara $0$ dan $N - 1$.

Input

constMultiplier : Int

Konstanta di mana multiplicand sedang dikalikan. Harus ko-prime ke modulus.

modulus : Int

Operasi perkalian dilakukan modulo modulus.

multiplicand : LittleEndian

Angka yang dikalikan dengan konstanta. Ini adalah array qubit yang mengodekan bilangan bulat dalam format little-endian.

Output : Unit

Keterangan