Partilhar 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 big-endian, prepara um estado nesse registro descrito pelos coeficientes dados, até uma dada tolerância de aproximação.

Descrição

Esta operação prepara um estado quântico arbitrário |ψ⟩ com coeficientes complexos rj·e^(i·tj) a partir do estado base computacional n-qubit |0...0⟩. Em particular, a ação desta 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 utilizar na preparação do estado dado.

coeficientes

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

Qubits

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

Observações

coefficients serão preenchidos 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