Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W pełni kwalifikowana nazwa: Std.StatePreparation.PreparePureStateD
operation PreparePureStateD(coefficients : Double[], qubits : Qubit[]) : Unit is Adj + Ctl
Podsumowanie
Biorąc pod uwagę zestaw współczynników i duży rejestr kwantowy, przygotowuje stan w tym rejestrze opisanym przez podane współczynniki.
Opis
Ta operacja przygotowuje dowolny stan kwantowy |ψ⟩ ze współczynnikami aj ze stanu podstawy obliczeniowej n-kubitu |0...0⟩.
Akcja U w stanie all-zeros jest podawana przez $$ \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} $$
Dane wejściowe
Współczynniki
Tablica z maksymalnie 2ⁿ współczynnikami rzeczywistymi. Współczynnik J indeksuje stan liczby |j⟩ zakodowany w formacie big-endian.
kubity
Kubit rejestruje stany numerów kodowania w formacie big-endian. Oczekuje się, że zostanie to zainicjowane w stanie podstawy obliczeniowej |0...0⟩.
Uwagi
coefficients zostaną znormalizowane i wypełnione elementami aj = 0,0, jeśli określono mniej niż 2ⁿ.
Przykład
Poniższy fragment kodu przygotowuje stan kwantowy |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩ w rejestrze kubitów qubits.
let amplitudes = [Sqrt(0.125), 0.0, Sqrt(0.875), 0.0];
use qubits = Qubit[2];
PreparePureStateD(amplitudes, qubits);
Źródła
- arXiv:quant-ph/0406176 "Synteza obwodów logiki kwantowej", Vivek V. Shende, Stephen S. Bullock, Igor L. Markov
Zobacz też
- Std.StatePreparation.ApproximatePreparePureStateCP