Operación ApplyDiagonalUnitary
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 matriz de fases complejas a los estados numéricos de un registro de cúbits.
operation ApplyDiagonalUnitary (coefficients : Double[], qubits : Microsoft.Quantum.Arithmetic.LittleEndian) : Unit is Adj + Ctl
Descripción
Esta operación implementa una unidad diagonal que aplica una fase compleja $e^{i \theta_j}$ en el estado de número de $n$-cúbit $\ket{j}$. En concreto, esta operación se puede representar mediante el unitario.
$$ \begin{align} U = \sum^{2^n-1}_{j=0}e^{i\theta_j}\ket{j}\bra{j}. \end{align} $$
Entrada
coeficientes : Double[]
Matriz de hasta $2^n$ coeficientes $\theta_j$. El coeficiente de $j$th indexa el estado numérico $\ket{j}$ codificado en formato little-endian.
cúbits : LittleEndian
$n registro de control$-qubit que codifica los estados numéricos $\ket{j}$ en formato little-endian.
Salida: unidad
Comentarios
coefficients
se rellenará con elementos $\theta_j = 0,0$ si se especifican menos de $2^n$.
Referencias
- Síntesis de circuitos lógicos cuánticos Vivek V. Shende, Stephen S. Bullock, Igor L. Markov https://arxiv.org/abs/quant-ph/0406176