Compartir a través de


Operación PreparePureStateD

Nombre completo: Std.StatePreparation.PreparePureStateD

operation PreparePureStateD(coefficients : Double[], qubits : Qubit[]) : Unit is Adj + Ctl

Resumen

Dado un conjunto de coeficientes y un registro cuántico big-endian, prepara un estado en ese registro descrito por los coeficientes especificados.

Descripción

Esta operación prepara un estado cuántico arbitrario |ψ⟩ con coeficientes aj del estado de base computacional de n cúbits |0...0⟩.

$$ \begin{align} U \ket{0\cdots 0} = \ket{\kets 0} = \ket{\psi} = \frac{\sum_{j=0}^{2^n-1}\alpha_j \ket{j}}{\sqrt{\sum_{j=0}^{2^n-1}|\alpha_j|^2}}. \end{alinear} $$

Entrada

Coeficientes

Matriz de hasta 2ⁿ coeficientes reales. El coeficiente j-th indexa el estado numérico |j⟩ codificado en formato big-endian.

cúbits

Número de codificación de registro de cúbits estados en formato big-endian. Se espera que se inicialice en el estado de base computacional |0...0⟩.

Observaciones

coefficients se normalizarán y rellenarán con elementos aj = 0,0 si se especifican menos de 2ⁿ.

Ejemplo

El fragmento de código siguiente prepara el estado cuántico |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩ en el registro de cúbits qubits.

let amplitudes = [Sqrt(0.125), 0.0, Sqrt(0.875), 0.0];
use qubits = Qubit[2];
PreparePureStateD(amplitudes, qubits);

Referencias

  • arXiv:quant-ph/0406176 "Síntesis de circuitos lógicos cuánticos", Vivek V. Shende, Stephen S. Bullock, Igor L. Markov

Véase también

  • Std.StatePreparation.ApproximatelyPreparePureStateCP