次の方法で共有


PreparePureStateD 操作

完全修飾名: Std.StatePreparation.PreparePureStateD

operation PreparePureStateD(coefficients : Double[], qubits : Qubit[]) : Unit is Adj + Ctl

概要

一連の係数とビッグ エンディアン量子レジスタを指定すると、指定された係数によって記述されたレジスタの状態が準備されます。

説明

この操作により、n 量子ビットの計算基準状態 |0...0 から係数 aj を持つ任意の量子状態 |ψ⟩が準備⟩。

all-zeros 状態での U のアクションは、$$ \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} $$

インプット

係数

最大 2ⁿ 実数係数の配列。 j 番目の係数は、ビッグ エンディアン形式でエンコードされた数値の状態 |j⟩ インデックスを作成します。

量子ビット

量子ビット レジスタのエンコード番号の状態 (ビッグ エンディアン形式)。 これは、計算基準の状態 |0...0⟩ で初期化されることが想定されています。

注釈

2ⁿ 未満が指定されている場合、coefficients は正規化され、要素 aj = 0.0 で埋め込まれます。

次のスニペットは、量子状態 |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩ を量子ビット レジスタ qubitsに準備します。

let amplitudes = [Sqrt(0.125), 0.0, Sqrt(0.875), 0.0];
use qubits = Qubit[2];
PreparePureStateD(amplitudes, qubits);

関連情報

こちらもご覧ください

  • Std.StatePreparation.ApproximatelyPreparePureStateCP