Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Fullständigt kvalificerat namn: Std.StatePreparation.PreparePureStateD
operation PreparePureStateD(coefficients : Double[], qubits : Qubit[]) : Unit is Adj + Ctl
Sammanfattning
Med tanke på en uppsättning koefficienter och ett stort endianskt kvantregister förbereder ett tillstånd i det registret som beskrivs av de angivna koefficienterna.
Beskrivning
Den här åtgärden förbereder ett godtyckligt kvanttillstånd |ψ⟩ med koefficienter aj från beräkningsbastillståndet n-qubit |0...0⟩.
Åtgärden U för tillståndet all-zeros anges av $$ \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{justera} $$
Indata
Koefficienter
Matris med upp till 2ⁿ verkliga koefficienter. J-th-koefficienten indexerar taltillståndet |j⟩ kodat i big-endian-format.
Kvantbitar
Qubit registrera kodningsnummertillstånd i ett big-endian-format. Detta förväntas initieras i beräkningsbastillståndet |0...0⟩.
Anmärkningar
coefficients normaliseras och vadderas med element aj = 0,0 om färre än 2ⁿ anges.
Exempel
Följande kodfragment förbereder kvanttillståndet |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩ i kvantbitsregistret qubits.
let amplitudes = [Sqrt(0.125), 0.0, Sqrt(0.875), 0.0];
use qubits = Qubit[2];
PreparePureStateD(amplitudes, qubits);
Referenser
- arXiv:kvant-ph/0406176 "Syntes av kvantlogiska kretsar", Vivek V. Shende, Stephen S. Bullock, Igor L. Markov
Se även
- Std.StatePreparation.ApproxilyPreparePureStateCP