完全限定名稱: Std.StatePreparation.PrepareUniformSuperposition
operation PrepareUniformSuperposition(nStates : Int, qubits : Qubit[]) : Unit is Adj + Ctl
總結
準備表示 little-endian qubits 寄存器中整數 0 到 nStates - 1 的狀態的統一疊加。
說明
給定一個輸入狀態 $\ket{0\cdots 0}$,此作準備所有數字狀態 $0$ 到 $M-1$ 的均勻疊加。 換句話說,$$ \begin{align} \ket{0} \mapsto \frac{1}{\sqrt{M}} \sum_{j=0}^{M - 1} \ket{j} \end{align} $$
該作是可伴隨的,但在這種情況下要求 qubits register 在第一 nStates 基態上處於均勻疊加狀態。
輸入
nStates
要準備的 uniform 疊加狀態數。
註冊
用於存儲準備好的狀態的 little-endian 量子比特寄存器。 假設初始化狀態為零 $\ket{0\cdots 0}$。 此寄存器必須足夠長以存儲數位 $M-1$,這意味著 $2^{Length(qubits)} >= M$。
範例
use qs = Qubit[4];
PrepareUniformSuperposition(3, qs);
DumpRegister(qs); // The state is (|0000>+|0100>+|1000>)/√3
ResetAll(qs);