Compartir a través de


Operación AproximadamentePreparePureStateCP

Nombre completo: Std.StatePreparation.ApproximatelyPreparePureStateCP

operation ApproximatelyPreparePureStateCP(tolerance : Double, coefficients : ComplexPolar[], 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, hasta una tolerancia de aproximación determinada.

Descripción

Esta operación prepara un estado cuántico arbitrario |ψ⟩ con coeficientes complejos rj·e^(i·tj) del estado de base computacional de n cúbits |0...0⟩. En concreto, la acción de esta operación se puede simular mediante una transformación unitaria U que actúa en el estado de todos los ceros como

$$ \begin{align} U\ket{0...0} & = \ket{\psi} \\ & = \frac{ \sum_{j=0}^{2^n-1} r_j e^{i t_j} \ket{j} }{ \sqrt{\sum_{j=0}^{2^n-1} |r_j|^2} }. \end{alinear} $$

Entrada

tolerancia

Tolerancia de aproximación que se va a usar al preparar el estado especificado.

Coeficientes

Matriz de hasta 2ⁿ coeficientes complejos representados por su valor absoluto y su fase (rj, tj). 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 rellenará con elementos (rj, tj) = (0,0, 0,0) si se especifican menos de 2ⁿ.

Referencias

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