Operasi MultiplexZ
Peringatan
Dokumentasi ini mengacu pada QDK Klasik, yang telah digantikan oleh QDK Modern.
Silakan lihat https://aka.ms/qdk.api dokumentasi API untuk QDK Modern.
Namespace: Microsoft.Quantum.Canon
Paket: Microsoft.Quantum.Standard
Menerapkan rotasi Pauli Z yang dikondisikan pada array kubit.
operation MultiplexZ (coefficients : Double[], 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 $Z$ ketika dikontrol oleh status angka $n$-qubit $\ket{j}$. Secara khusus, operasi ini dapat diwakili oleh unitaris
$$ \begin{align} U = \sum^{2^n-1}_{j=0} \ket{j}\bra{j} \otimes e^{i Z \theta_j}. \end{align} $$
Input
koefisien : Double[]
Array hingga $2^n$ koefisien $\theta_j$. Koefisien $j$th mengindeks status angka $\ket{j}$ yang dikodekan dalam format little-endian.
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.
Referensi
- Sintesis Sirkuit Logika Kuantum Vivek V. Shende, Stephen S. Bullock, Igor L. Markov https://arxiv.org/abs/quant-ph/0406176