完整名稱: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