Operasi ApproximatelyDiagonalUnitary
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.Canon
Paket: Microsoft.Quantum.Standard
Menerapkan array fase kompleks ke status dasar numerik dari daftar qubit, memotong sudut rotasi kecil sesuai dengan toleransi tertentu.
operation ApproximatelyApplyDiagonalUnitary (tolerance : Double, coefficients : Double[], qubits : Microsoft.Quantum.Arithmetic.LittleEndian) : Unit is Adj + Ctl
Deskripsi
Operasi ini mengimplementasikan unit diagonal yang menerapkan fase kompleks $e^{i \theta_j}$ pada status angka $n$-qubit $\ket{j}$. Secara khusus, operasi ini dapat diwakili oleh uniter
$$ \begin{align} U = \sum^{2^n-1}_{j=0}e^{i\theta_j}\ket{j}\bra{j}. \end{align} $$
Input
toleransi : Ganda
Toleransi di bawah koefisien kecil mana yang terpotok.
koefisien : Double[]
Array hingga $2^n$ koefisien $\theta_j$. Koefisien $j$th mengindeks status angka $\ket{j}$ yang dikodekan dalam format little-endian.
qubits : LittleEndian
$n$-qubit control register yang mengodekan angka menyatakan $\ket{j}$ dalam format little-endian.
Output : Unit
Keterangan
coefficients
akan diisi dengan elemen $\theta_j = 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