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

Lihat juga