Condividi tramite


Operazione PreparePureStateD

Nome completo: Std.StatePreparation.PreparePureStateD

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

Sommario

Dato un set di coefficienti e un registro quantistico big-endian, prepara uno stato su tale registro descritto dai coefficienti specificati.

Descrizione

Questa operazione prepara uno stato quantistico arbitrario |ψ⟩ con coefficienti aj dallo stato di base di calcolo n-qubit |0...0⟩.

L'azione di U sullo stato all-zeros è data da $$ \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} $$

Inserimento

Coefficienti

Matrice di fino a 2ⁿ coefficienti reali. Il coefficiente j-th indicizza lo stato numerico |j⟩ codificato in formato big-endian.

qubit

Qubit registra gli stati dei numeri di codifica in un formato big-endian. È prevista l'inizializzazione nello stato di base di calcolo |0...0⟩.

Osservazioni:

coefficients verranno normalizzati e riempiti con elementi aj = 0,0 se vengono specificati meno di 2ⁿ.

Esempio

Il frammento di codice seguente prepara lo stato quantistico |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩ nel registro qubit qubits.

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

Riferimenti

  • arXiv:quant-ph/0406176 "Sintesi dei circuiti logici quantistici", Vivek V. Shende, Stephen S. Bullock, Igor L. Markov

Vedere anche

  • Std.StatePreparation.ApprossimativamentePreparePureStateCP