Compartilhar via


Operação PreparePureStateD

Nome totalmente qualificado: Std.StatePreparation.PreparePureStateD

operation PreparePureStateD(coefficients : Double[], 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 especificados.

Descrição

Esta operação prepara um estado quântico arbitrário |ψ⟩ com coeficientes aj do estado de base computacional n-qubit |0...0⟩.

A ação de U no estado de todos os zeros é fornecida por $$ \begin{align} U \ket{0\cdots 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{align} $$

Entrada

Coeficientes

Matriz de até 2ⁿ coeficientes reais. O coeficiente j-th indexa o estado numérico |j⟩ codificado no 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 normalizados e acolchoados com elementos aj = 0,0 se menos de 2ⁿ forem especificados.

Exemplo

O snippet a seguir prepara o estado quântico |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩ 2⟩=√(1/8)|00⟩+√(7/8)|10⟩ no registro de qubit qubits.

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

Referências

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

Consulte Também

  • Std.StatePreparation.ApproximatelyPreparePureStateCP