Operasi MultiplexOperationsFromGenerator
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 operasi uniter multiply-controlled $U$ yang menerapkan unitary $V_j$ ketika dikontrol oleh status angka n-qubit $\ket{j}$.
$U = \sum^{N-1}_{j=0}\ket{j}\bra{j}\otimes V_j$.
operation MultiplexOperationsFromGenerator<'T> (unitaryGenerator : (Int, (Int -> ('T => Unit is Adj + Ctl))), index : Microsoft.Quantum.Arithmetic.LittleEndian, target : 'T) : Unit is Adj + Ctl
Input
unitaryGenerator : (Int,Int -> 'T =>Unit is Adj + Ctl)
Tupel di mana elemen Int
pertama adalah jumlah unitaris $N$, dan elemen (Int -> ('T => () is Adj + Ctl))
kedua adalah fungsi yang mengambil bilangan bulat $j$ dalam $[0,N-1]$ dan menghasilkan operasi uniter $V_j$.
index : LittleEndian
$n$-qubit control register yang mengodekan angka menyatakan $\ket{j}$ dalam format little-endian.
target : 'T
Register qubit generik yang $V_j$ bertindak.
Output : Unit
Jenis parameter
'T
Keterangan
coefficients
akan diisi dengan elemen identitas jika kurang dari $2^n$ ditentukan. Implementasi ini menggunakan $n-1$ kubit tambahan.