Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tam ad: Std.StatePreparation.PrepareUniformSuperposition
operation PrepareUniformSuperposition(nStates : Int, qubits : Qubit[]) : Unit is Adj + Ctl
Özet
Little-endian yazmakta 0 ile nStates - 1 kadar olan tamsayıları temsil eden durumların tekdüze bir süperpozisyonunu qubits hazırlar.
Açıklama
$\ket{0\cdots 0}$ giriş durumu verildiğinde, bu işlem $0$ ile $M-1$ arasındaki tüm sayı durumlarının tekdüze bir süperpozisyonunu hazırlar. Başka bir deyişle, $$ \begin{align} \ket{0} \mapsto \frac{1}{\sqrt{M}} \sum_{j=0}^{M - 1} \ket{j} \end{align} $$
İşlem birleştirilebilir, ancak bu durumda kaydın qubits ilk nStates temel durumlar üzerinde tekdüze bir süperpozisyonda olmasını gerektirir.
Veri Girişi
nDevletler
Hazırlanacak tek tip süperpozisyondaki durum sayısı.
kayıt
Hazırlanan durumu depolamak için little-endian kübit kaydı. Sıfır durumunda $\ket{0\cdots 0}$ başlatıldığı varsayılır. Bu kayıt, $M-1$ sayısını depolayacak kadar uzun olmalıdır, yani $2^{Uzunluk(kübit)} >= M$.
Örnek
use qs = Qubit[4];
PrepareUniformSuperposition(3, qs);
DumpRegister(qs); // The state is (|0000>+|0100>+|1000>)/√3
ResetAll(qs);