Compartilhar via


Operação ApproximatelyPreparePureStateCP

Nome totalmente qualificado: Std.StatePreparation.ApproximatelyPreparePureStateCP

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

Resumo

Dado um conjunto de coeficientes e um registro quântico de big-endian, prepara um estado nesse registro descrito pelos coeficientes determinados, até uma determinada tolerância à aproximação.

Descrição

Esta operação prepara um estado quântico arbitrário |ψ⟩ com coeficientes complexos rj>e^(i>tj) do estado de base computacional n-qubit |0...0⟩. Em particular, a ação dessa operação pode ser simulada por uma transformação unitária U que atua no estado de todos os zeros 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{align} $$

Entrada

tolerância

A tolerância de aproximação a ser usada ao preparar o estado determinado.

Coeficientes

Matriz de até 2ⁿ coeficientes complexos representados por seu valor absoluto e fase (rj, tj). O coeficiente j-th indexa o estado numérico |j⟩ codificado em um formato big-endian.

qubits

Registrar estados de número de codificação do Qubit em um formato big-endian. Espera-se que isso seja inicializado no estado de base computacional |0...0⟩.

Observações

coefficients serão acolchoados com elementos (rj, tj) = (0,0, 0,0) se menos de 2ⁿ forem especificados.

Referências

  • arXiv:quant-ph/0406176 "Síntese de Circuitos Lógicos Quânticos", Vivek V. Shende, Stephen S. Bullock, Igor L. Markov