Operación MultiplexOperationsBruteForceFromGenerator

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 la 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 MultiplexOperationsBruteForceFromGenerator<'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 versión se implementa directamente mediante el bucle a través de operadores unitarios controlados por n.