共用方式為


PreparePureStateD 作業

完整名稱:Std.StatePreparation.PreparePureStateD

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

總結

假設有一組係數和大端量子緩存器,請在指定的係數所描述的緩存器上準備狀態。

說明

此作業會從 n 量子位計算基礎狀態 |0...0⟩準備具有 aj 係數的任意量子狀態 |ψ⟩。

所有零狀態的 U 動作是由 $$ \begin{align} U \ket{0\cdots 0} = \ket{\psi} = \frac{\sum_{j=0}^^指定 U 動作 {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);

參考資料

  • arXiv:quant-ph/0406176 “Quantum Logic Circuits 的合成”, Vivek V. Shende, Stephen S. Bullock, Igor L. Markov

另請參閱

  • Std.StatePreparation.ApproximatelyPreparePureStateCP