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.

Referensi