Operación MultiplexOperationsFromGenerator
Advertencia
Esta documentación hace referencia al QDK clásico, que se ha reemplazado por el QDK moderno.
https://aka.ms/qdk.api Consulte la documentación de la API para el QDK moderno.
Espacio de nombres: Microsoft.Quantum.Canon
Paquete: Microsoft.Quantum.Standard
Aplica una operación unitaria controlada por multiplicación $U$ que aplica una $V_j$ unitaria cuando se controla mediante el estado de número de n bits cuánticos $\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
Entrada
unitaryGenerator : (Int,Int -> 'T =>Unit is Adj + Ctl)
Una tupla donde el primer elemento Int
es el número de $N$, y el segundo elemento (Int -> ('T => () is Adj + Ctl))
es una función que toma un entero $j$ en $[0,N-1]$ y genera la operación unitaria $V_j$.
índice : LittleEndian
$n registro de control$-qubit que codifica los estados numéricos $\ket{j}$ en formato little-endian.
target : 'T
Registro de cúbit genérico en el que $V_j$ actúa.
Salida: unidad
Parámetros de tipo
'T
Comentarios
coefficients
se rellenará con elementos de identidad si se especifican menos de $2^n$. Esta implementación usa cúbits auxiliares de $n-1$.