Operasi ApproximatelyPrepareArbitraryStateD
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
Mengingat satu set koefisien dan register kuantum yang dikodekan little-endian, menyiapkan status pada register yang dijelaskan oleh koefisien yang diberikan, hingga toleransi perkiraan tertentu.
operation ApproximatelyPrepareArbitraryStateD (tolerance : Double, coefficients : Double[], qubits : Microsoft.Quantum.Arithmetic.LittleEndian) : Unit is Adj + Ctl
Deskripsi
Operasi ini menyiapkan status kuantum arbitrer $\ket{\psi}$ dengan koefisien kompleks $r_j e^{i t_j}$ dari status dasar komputasi $n$-qubit $\ket{0 \cdots 0}$. Secara khusus, tindakan operasi ini dapat disimulasikan oleh transformasi uniter $U$ yang bertindak pada status all-zeros sebagai
$$ \begin{align} U\ket{0...0} & = \ket{\psi} \\ & = \frac{ \sum_{j=0}^{2^n-1} r_j e^{i t_j} \ket{j} }{ \sqrt{\sum_{j=0}^{2^n-1} |r_j|^2} }. \end{align} $$
Input
toleransi : Ganda
Toleransi perkiraan yang akan digunakan saat menyiapkan status yang diberikan.
koefisien : Double[]
Array hingga $2^n$ koefisien nyata. Koefisien $j$th mengindeks status angka $\ket{j}$ yang dikodekan dalam format little-endian.
qubits : LittleEndian
Qubit mendaftarkan status nomor pengodean dalam format little-endian. Ini diharapkan diinisialisasi dalam status dasar komputasi $\ket{0...0}$.
Output : Unit
Keterangan
Koefisien input negatif $r_j < 0$ akan diperlakukan seolah-olah positif dengan nilai $|r_j|$. coefficients
akan diisi dengan elemen $(r_j, t_j) = (0,0, 0,0)$ jika kurang dari $2^n$ ditentukan.
Referensi
- Sintesis Sirkuit Logika Kuantum Vivek V. Shende, Stephen S. Bullock, Igor L. Markov https://arxiv.org/abs/quant-ph/0406176