完全限定名称: Std.StatePreparation.PrepareUniformSuperposition
operation PrepareUniformSuperposition(nStates : Int, qubits : Qubit[]) : Unit is Adj + Ctl
概要
准备表示 little-endian qubits 寄存器中整数 0 到 nStates - 1 的状态的统一叠加。
DESCRIPTION
给定一个输入状态 $\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);