Namespace Microsoft.Quantum.Arithmetic
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 ini berisi fungsi dan operasi yang digunakan untuk komputasi aritmatika secara koheren.
Operasional
Nama | Ringkasan |
---|---|
TambahkanConstantFxP | Menambahkan konstanta klasik ke angka titik tetap kuantum. |
TambahkanFxP | Menambahkan dua angka titik tetap yang disimpan dalam register kuantum. |
AddI | Secara otomatis memilih antara penambahan dengan carry dan tanpa, tergantung pada ukuran ys register . |
ApplyLEOperationOnPhaseLE | Menerapkan operasi yang mengambil register jenis yang ditentukan pengguna PhaseLittleEndian sebagai input pada register target jenis jenis yang ditentukan pengguna LittleEndian. |
ApplyLEOperationOnPhaseLEA | Menerapkan operasi yang mengambil register jenis yang ditentukan pengguna PhaseLittleEndian sebagai input pada register target jenis jenis yang ditentukan pengguna LittleEndian. |
ApplyLEOperationOnPhaseLEC | Menerapkan operasi yang mengambil register jenis yang ditentukan pengguna PhaseLittleEndian sebagai input pada register target jenis jenis yang ditentukan pengguna LittleEndian. |
ApplyLEOperationOnPhaseLECA | Menerapkan operasi yang mengambil register jenis yang ditentukan pengguna PhaseLittleEndian sebagai input pada register target jenis jenis yang ditentukan pengguna LittleEndian. |
ApplyMajorityInPlace | Menerapkan operasi mayoritas tiga-qubit di tempat pada daftar qubit. |
ApplyPhaseLEOperationOnLE | Menerapkan operasi yang mengambil jenis register yang ditentukan pengguna LittleEndian sebagai input pada register target jenis yang ditentukan pengguna PhaseLittleEndian. |
ApplyPhaseLEOperationOnLEA | Menerapkan operasi yang mengambil jenis register yang ditentukan pengguna LittleEndian sebagai input pada register target jenis yang ditentukan pengguna PhaseLittleEndian. |
ApplyPhaseLEOperationOnLEC | Menerapkan operasi yang mengambil jenis register yang ditentukan pengguna LittleEndian sebagai input pada register target jenis yang ditentukan pengguna PhaseLittleEndian. |
ApplyPhaseLEOperationOnLECA | Menerapkan operasi yang mengambil jenis register yang ditentukan pengguna LittleEndian sebagai input pada register target jenis yang ditentukan pengguna PhaseLittleEndian. |
ApplyReversedOpBE | Menerapkan operasi yang mengambil input big-endian ke register yang mengodekan bilangan bulat yang tidak ditandatangani menggunakan format little-endian. |
ApplyReversedOpBEA | Menerapkan operasi yang mengambil input big-endian ke register yang mengodekan bilangan bulat yang tidak ditandatangani menggunakan format little-endian. |
ApplyReversedOpBEC | Menerapkan operasi yang mengambil input big-endian ke register yang mengodekan bilangan bulat yang tidak ditandatangani menggunakan format little-endian. |
ApplyReversedOpBECA | Menerapkan operasi yang mengambil input big-endian ke register yang mengodekan bilangan bulat yang tidak ditandatangani menggunakan format little-endian. |
ApplyReversedOpLE | Menerapkan operasi yang mengambil input little-endian ke register yang mengodekan bilangan bulat yang tidak ditandatangani menggunakan format big-endian. |
ApplyReversedOpLEA | Menerapkan operasi yang mengambil input little-endian ke register yang mengodekan bilangan bulat yang tidak ditandatangani menggunakan format big-endian. |
ApplyReversedOpLEC | Menerapkan operasi yang mengambil input little-endian ke register yang mengodekan bilangan bulat yang tidak ditandatangani menggunakan format big-endian. |
ApplyReversedOpLECA | Menerapkan operasi yang mengambil input little-endian ke register yang mengodekan bilangan bulat yang tidak ditandatangani menggunakan format big-endian. |
ApplyXorInPlace | Menerapkan operasi bitwise-XOR antara bilangan bulat klasik dan bilangan bulat yang diwakili oleh daftar kubit. |
AssertAllZeroFxP | Menegaskan bahwa angka titik tetap kuantum diinisialisasi menjadi nol. |
AssertMostSignificantBit | Menegaskan bahwa kubit paling signifikan dari register qubit yang mewakili bilangan bulat yang tidak ditandatangani berada dalam keadaan tertentu. |
AssertPhaseLessThan | Menegaskan bahwa yang dikodekan number dalam PhaseLittleEndian kurang dari value . |
AssertProbInt | Menegaskan bahwa probabilitas status tertentu dari register kuantum memiliki nilai yang diharapkan. |
Carry | Mengimplementasikan gerbang carry yang dapat dibalik. Mengingat bit carry-in yang dikodekan dalam qubit carryIn dan dua bit summand yang dikodekan dalam summand1 dan summand2 , menghitung bitwise xor dari carryIn , summand1 dan summand2 dalam qubit summand2 dan carry-out xored ke qubit carryOut . |
CompareGTI | Pembungkus untuk perbandingan bilangan bulat: result = x > y . |
BandingkanGTSI | Pembungkus untuk perbandingan bilangan bulat yang ditandatangani: result = xs > ys . |
BandingkanGreaterThanFxP | Membandingkan dua angka titik tetap yang disimpan dalam register kuantum, dan mengontrol flip pada hasilnya. |
CompareUsingRippleCarry | Operasi ini menguji apakah bilangan bulat yang diwakili oleh register kubit lebih besar dari bilangan bulat lain, menerapkan XOR hasil ke dalam kubit output. |
ComputeReciprocalFxP | Menghitung timbal balik dari angka yang disimpan dalam register kuantum dengan representasi titik tetap. |
ComputeReciprocalI | Menghitung timbal balik 1/x untuk bilangan bulat yang tidak ditandatangani x menggunakan divisi bilangan bulat. Hasilnya, ditafsirkan sebagai bilangan bulat, akan menjadi floor(2^(2*n-1) / x) . |
CopyMostSignificantBit | Menyalin bit paling signifikan dari register from qubit yang mewakili bilangan bulat yang tidak ditandatangani ke dalam qubit target . |
DivideI | Membagi dua bilangan bulat kuantum. |
EvaluateEvenPolynomialFxP | Mengevaluasi polinomial yang merata dalam representasi titik tetap. |
EvaluateOddPolynomialFxP | Mengevaluasi polinomial ganjil dalam representasi titik tetap. |
EvaluatePolynomialFxP | Mengevaluasi polinomial dalam representasi titik tetap. |
GreaterThan | Menerapkan perbandingan yang lebih besar antara dua bilangan bulat yang dikodekan ke dalam register qubit, membalik kubit target berdasarkan hasil perbandingan. |
IncrementByInteger | Menaikkan register kuantum yang tidak ditandatangani oleh bilangan bulat klasik, menggunakan rotasi fase. |
IncrementByModularInteger | Melakukan kenaikan modular dari register qubit oleh konstanta bilangan bulat. |
IncrementPhaseByInteger | Menaikkan register kuantum yang tidak ditandatangani oleh bilangan bulat klasik, menggunakan rotasi fase. |
IncrementPhaseByModularInteger | Melakukan kenaikan modular dari register qubit oleh konstanta bilangan bulat. |
Invert2sSI | Membalikkan pelengkap modulo 2 bilangan bulat tertentu. |
InvertFxP | Menghitung inversi aditif dari fp . |
MAJ | Ini menerapkan operasi mayoritas di tempat hingga 3 kubit. |
MeasureFxP | Mengukur angka titik tetap, mengembalikan nilainya sebagai Ganda, dan mengatur ulang semua register ke nol. |
MeasureInteger | Mengukur konten register kuantum dan mengonversinya menjadi bilangan bulat. Pengukuran dilakukan sehubungan dengan dasar komputasi standar, yaitu, eigenbasis dari PauliZ . |
MultiplyAndAddByModularInteger | Melakukan konstanta multiply-and-add modular dengan bilangan bulat pada register qubit. |
MultiplyAndAddPhaseByModularInteger | Sama seperti MultiplyAndAddByModularInteger, tetapi mengasumsikan bahwa summand mengodekan bilangan bulat dalam basis QFT. |
MultiplyByModularInteger | Melakukan perkalian modular dengan konstanta bilangan bulat pada register qubit. |
MultiplyFxP | Mengalikan dua angka titik tetap dalam register kuantum. |
KalikanI | Kalikan bilangan bulat xs dengan bilangan bulat ys dan simpan hasilnya di result , yang awalnya harus nol. |
MultiplySI | Kalikan bilangan bulat xs yang ditandatangani dengan bilangan bulat ys yang ditandatangani dan simpan hasilnya di result , yang awalnya harus nol. |
PrepareFxP | Menginisialisasi angka titik tetap kuantum ke konstanta klasik. |
ReflectAboutInteger | Mencerminkan register kuantum tentang bilangan bulat klasik tertentu. |
RippleCarryAdderCDKM | Penambahan riak-carry yang dapat dibalik, di tempat dari dua bilangan bulat. |
RippleCarryAdderD | Penambahan riak-carry yang dapat dibalik, di tempat dari dua bilangan bulat. |
RippleCarryAdderNoCarryTTK | Reversible, di tempat riak-carry penambahan dua bilangan bulat tanpa dilakukan. |
RippleCarryAdderTTK | Penambahan riak-carry yang dapat dibalik, di tempat dari dua bilangan bulat. Mengingat dua bilangan bulat $n$-bit yang dikodekan dalam register xs LittleEndian dan ys , dan membawa qubit, operasi menghitung jumlah dari dua bilangan bulat di mana $n$ bit paling tidak signifikan dari hasil ditahan ys dan bit yang dilakukan xored ke qubit carry . |
SquareFxP | Kuadrat angka titik tetap. |
SquareI | Menghitung kuadrat bilangan bulat xs menjadi result , yang awalnya harus nol. |
SquareSI | Bilangan bulat xs bertanda tangan persegi dan simpan hasilnya di result , yang awalnya harus nol. |
SubtractFxP | minuend - subtrahend Menghitung dan menyimpan perbedaan dalam minuend . |
Sum | Mengimplementasikan gerbang jumlah yang dapat dibalik. Mengingat bit bawaan yang dikodekan dalam qubit carryIn dan dua bit summand yang dikodekan dalam summand1 dan summand2 , menghitung xor bitwise , carryIn summand1 dan summand2 dalam qubit summand2 . |
Fungsi
Nama | Ringkasan |
---|---|
ApplyFunctionWithLookupTable | Fungsi ini membuat operator tabel pencarian untuk fungsi yang ingin Anda perkirakan, serta parameter yang diperlukan untuk membuat dua FixedPoint register yang perlu digunakan sebagai input ke operator. |
BigEndianAsLittleEndian | BigEndian Mengonversi register qubit ke LittleEndian register qubit dengan mengembalikan urutan qubit. |
IdenticalFormatFactFxP | Tegaskan bahwa semua angka titik tetap dalam array yang disediakan memiliki posisi titik dan angka kubit yang identik. |
IdenticalPointPosFactFxP | Tegaskan bahwa semua angka titik tetap dalam array yang disediakan memiliki posisi titik yang identik saat menghitung dari bit yang paling tidak signifikan. Yaitu, jumlah bit dikurangi posisi titik harus konstan untuk semua angka titik tetap dalam array. |
LittleEndianAsBigEndian | LittleEndian Mengonversi register qubit ke BigEndian register qubit dengan mengembalikan urutan qubit. |
ReversedOpBE | Mengingat operasi yang mengambil input big-endian, mengembalikan operasi baru yang mengambil input little-endian. |
ReversedOpBEA | Mengingat operasi yang mengambil input big-endian, mengembalikan operasi baru yang mengambil input little-endian. |
ReversedOpBEC | Mengingat operasi yang mengambil input big-endian, mengembalikan operasi baru yang mengambil input little-endian. |
ReversedOpBECA | Mengingat operasi yang mengambil input big-endian, mengembalikan operasi baru yang mengambil input little-endian. |
ReversedOpLE | Mengingat operasi yang mengambil input little-endian, mengembalikan operasi baru yang mengambil input big-endian. |
ReversedOpLEA | Mengingat operasi yang mengambil input little-endian, mengembalikan operasi baru yang mengambil input big-endian. |
ReversedOpLEC | Mengingat operasi yang mengambil input little-endian, mengembalikan operasi baru yang mengambil input big-endian. |
ReversedOpLECA | Mengingat operasi yang mengambil input little-endian, mengembalikan operasi baru yang mengambil input big-endian. |
Jenis yang ditentukan pengguna
Nama | Ringkasan |
---|---|
BigEndian | Daftarkan yang mengodekan bilangan bulat yang tidak ditandatangani dalam urutan big-endian. Qubit dengan indeks 0 mengodekan bit tertinggi dari bilangan bulat yang tidak ditandatangani. |
FixedPoint | Mewakili register qubit yang mengodekan angka titik tetap. Terdiri dari bilangan bulat yang sama dengan jumlah kubit di sebelah kiri titik biner, yaitu, kubit berat lebih besar dari atau sama dengan 1, dan register kuantum. |
FunctionWithLookupTable | Jenis pengembalian saat membuat tabel pencarian. Ini berisi operasi yang membuat sirkuit tabel pencarian, serta semua parameter yang diperlukan untuk membuat dua register FixedPoint yang perlu digunakan sebagai input dan output ke operator. |
LittleEndian | Daftarkan yang mengodekan bilangan bulat yang tidak ditandatangani dalam urutan little-endian. Qubit dengan indeks 0 mengodekan bit terendah dari bilangan bulat yang tidak ditandatangani. |
PhaseLittleEndian | Bilangan bulat yang tidak ditandatangani little-endian berdasarkan QFT. |
SignedLittleEndian | Jenis bilangan bulat bertanda tangan yang disimpan di little endian (lihat LittleEndian). Angka negatif disimpan menggunakan pelengkap dua. |