Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Volledig gekwalificeerde naam: Std.StatePreparation.PrepareUniformSuperposition
operation PrepareUniformSuperposition(nStates : Int, qubits : Qubit[]) : Unit is Adj + Ctl
Samenvatting
Bereidt een uniforme superpositie voor van toestanden die gehele getallen 0 tot en met nStates - 1 vertegenwoordigen in een little-endian qubits register.
Beschrijving
Gegeven een invoertoestand $\ket{0\cdots 0}$ bereidt deze bewerking een uniforme superpositie voor van alle getaltoestanden $0$ tot $M-1$. Met andere woorden, $$ \begin{align} \ket{0} \mapsto \frac{1}{\sqrt{M}} \sum_{j=0}^{M - 1} \ket{j} \end{align} $$
De bewerking is adjointable, maar vereist dat qubits het register in dat geval in een uniforme superpositie staat ten opzichte van de eerste nStates basistoestanden.
Invoer
Verenigde Staten
Het aantal staten in de uniforme superpositie dat moet worden voorbereid.
registreren
De little-endian qubit registreert zich om de voorbereide toestand op te slaan. Er wordt aangenomen dat het is geïnitialiseerd in de nultoestand $\ket{0\cdots 0}$. Dit register moet lang genoeg zijn om het getal $M-1$ op te slaan, wat betekent dat $2^{Length(qubits)} >= M$.
Voorbeeld
use qs = Qubit[4];
PrepareUniformSuperposition(3, qs);
DumpRegister(qs); // The state is (|0000>+|0100>+|1000>)/√3
ResetAll(qs);