Operasi PrepareUniformSuperposition
Peringatan
Dokumentasi ini mengacu pada QDK Klasik, yang telah digantikan oleh Modern QDK.
Silakan lihat https://aka.ms/qdk.api dokumentasi API untuk QDK Modern.
Namespace: Microsoft.Quantum.Preparation
Paket: Microsoft.Quantum.Standard
Membuat superposisi seragam atas status yang mengodekan 0 hingga nIndices - 1
.
operation PrepareUniformSuperposition (nIndices : Int, indexRegister : Microsoft.Quantum.Arithmetic.LittleEndian) : Unit is Adj + Ctl
Deskripsi
Operasi ini dapat dijelaskan oleh matriks uniter $U$ yang membuat superposisi seragam atas semua status angka $0$ hingga $M-1$, mengingat status input $\ket{0\cdots 0}$. Dengan kata lain, $$ \begin{align} U \ket{0} = \frac{1}{\sqrt{M}} \sum_{j=0}^{M - 1} \ket{j}. \end{align} $$.
Input
nIndices : Int
Jumlah status yang diinginkan $M$ dalam superposisi seragam.
indexRegister : LittleEndian
Register qubit yang menyimpan status angka dalam LittleEndian
format.
Register ini harus dapat menyimpan angka $M-1$, dan diasumsikan diinisialisasi dalam status $\ket{0\cdots 0}$.
Output : Unit
Contoh
Contoh berikut menyiapkan status $\frac{1}{\sqrt{6}}\sum_{j=0}^{5}\ket{j}$ pada $3$ qubits.
let nIndices = 6;
using(indexRegister = Qubit[3]) {
PrepareUniformSuperposition(nIndices, LittleEndian(indexRegister));
// ...
}
Keterangan
Operasi ini berdampingan, tetapi mengharuskan yang indexRegister
berada dalam superposisi seragam atas status dasar pertama nIndices
dalam kasus itu.