Sdílet prostřednictvím


Operace PreparePureStateD

Plně kvalifikovaný název: Std.StatePreparation.PreparePureStateD

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

Shrnutí

Vzhledem k sadě koeficientů a kvantového registru s velkým koncem připraví stav tohoto registru popsaného danými koeficienty.

Popis

Tato operace připraví libovolný kvantový stav |ψ⟩ s koeficienty aj ze stavu výpočtu n-qubitu |0...0⟩.

Akce U stavu all-zeros je zadána $$ \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{zarovnání} $$

Vstup

koeficienty

Pole až 2ⁿ reálných koeficientů. J-th koeficient indexuje číselný stav |j⟩ kódovaný ve formátu big-endian.

qubity

Stavy čísel kódování qubitu ve formátu big-endian. Očekává se, že se inicializuje ve výpočetním stavu základu |0...0⟩.

Poznámky

coefficients budou normalizovány a vycpané prvky aj = 0,0, pokud je zadáno méně než 2ⁿ.

Příklad

Následující fragment kódu připraví kvantový stav |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩ v registru qubitů qubits.

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

Odkazy

  • arXiv:quant-ph/0406176 "Syntéza kvantových logických obvodů", Vivek V. Shende, Stephen S. Bullock, Igor L. Markov

Viz také

  • Std.StatePreparation.ApproximatelyPreparePureStateCP