Delen via


Bewerking PreparePureStateD

Volledig gekwalificeerde naam: Std.StatePreparation.PreparePureStateD

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

Samenvatting

Op basis van een set coëfficiënten en een big-endian kwantumregister bereidt u een status voor op dat register dat wordt beschreven door de opgegeven coëfficiënten.

Beschrijving

Met deze bewerking wordt een willekeurige kwantumstatus |ψ⟩ met coëfficiënten van de berekeningsstatus n-qubit |0...0⟩ voorbereid.

De actie van U op de status alle nullen wordt gegeven door $$ \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} $$

Invoer

Coëfficiënten

Matrix van maximaal 2ⁿ reële coëfficiënten. De j-th-coëfficiënt indexeert de getalstatus |j⟩ gecodeerd in big-endian-indeling.

qubits

Qubit registreert coderingsnummerstatussen in een big-endian-indeling. Dit wordt naar verwachting geïnitialiseerd in de rekenkundige basisstatus |0...0⟩.

Opmerkingen

coefficients worden genormaliseerd en opgevuld met elementen aj = 0,0 als minder dan 2ⁿ zijn opgegeven.

Voorbeeld

Met het volgende codefragment wordt de kwantumstatus |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩ in het qubitregister qubitsvoorbereid.

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

Verwijzingen

  • arXiv:quant-ph/0406176 "Synthese van kwantumlogische circuits", Vivek V. Shende, Stephen S. Bullock, Igor L. Markov

Zie ook

  • Std.StatePreparation.OngeveerPreparePureStateCP