Operasi ApproximatelyMultiplexPauli
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 rotasi Pauli yang dikondisikan pada array kubit, memotong sudut rotasi kecil sesuai dengan toleransi tertentu.
operation ApproximatelyMultiplexPauli (tolerance : Double, coefficients : Double[], pauli : Pauli, control : Microsoft.Quantum.Arithmetic.LittleEndian, target : Qubit) : Unit is Adj + Ctl
Deskripsi
Ini menerapkan operasi uniter multiply controlled yang melakukan rotasi dengan sudut $\theta_j$ tentang operator Pauli qubit tunggal $P$ ketika dikontrol oleh status angka $$-qubit $n $\ket{j}$. Secara khusus, tindakan operasi ini diwakili oleh uniter
$$ \begin{align} U = \sum^{2^n - 1}_{j=0} \ket{j}\bra{j} \otimes e^{i P \theta_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.
pauli : Pauli
Operator Pauli $P$ yang menentukan sumbu rotasi.
control : LittleEndian
$n$-qubit control register yang mengodekan angka menyatakan $\ket{j}$ dalam format little-endian.
target : Qubit
Register qubit tunggal yang diputar oleh $e^{i P \theta_j}$.
Output : Unit
Keterangan
coefficients
akan diisi dengan elemen $\theta_j = 0,0$ jika kurang dari $2^n$ ditentukan.