RandomWalkPhaseEstimation 作業

警告

本檔指的是傳統 QDK,此 QDK 已由新式 QDK 取代。

如需新式 QDK 的 API 檔,請參閱 https://aka.ms/qdk.api

命名空間: Microsoft.Quantum.Research.Time

套件: Microsoft.Quantum.Research.

使用隨機逐步解說,對指定 Oracle 和 eigenstate 的傳統測量結果執行反覆階段估計。

operation RandomWalkPhaseEstimation (initialMean : Double, initialStdDev : Double, nMeasurements : Int, maxMeasurements : Int, unwind : Int, oracle : Microsoft.Quantum.Oracles.ContinuousOracle, targetState : Qubit[]) : Double

輸入

initialMean : Double

超過 $\phi$ 的初始常態平均數。

initialStdDev : Double

初始常態在 $\phi$ 上分佈的標準偏差。

nMeasurements : Int

要接受至最終海報估計的度量數目。

maxMeasurements : Int

在作業視為失敗之前,可以採取的總度量數。

回溯: Int

當一致性檢查失敗時,要忘記的結果數目。

oracle : ContinuousOracle

代表單一$U$ 的作業,使$U (t) \ket{\phi} = e^{i t \phi}\ket{\phi}$ for eigenstates $\ket{\phi}$,其具有未知階段 $\phi \in \mathbb{R}^+$。

targetState : Qubit[]

$U$ 作用的緩存器。

輸出:雙精度浮點

最後估計 $\hat{\phi} \mathrel{:=} \expect[\phi]$ ,其中預期超過所有已接受數據的海報。

備註

反覆階段估計和 Eigenstates

一般而言,輸入緩存器 eigenstate 不一定是 $U$ 的 eigenstate $\ket{\phi}$,但可以是 eigenstates 的迭加。 假設輸入狀態是由 \begin{align} \ket{\psi} 提供,& = \sum_{j} \alpha_j \ket{\phi_j}, \end{align} 其中 ${\alpha_j}$ 是複雜係數,例如 $\sum_j |\alpha_j|^2 = 1$,其中 $U\ket{\phi_j} = \phi_j\ket{\phi_j}$。

然後,執行反覆階段估計最終會交集至單一 eigenstate,如 開發指南中所述。

實驗設計

測量時間$t$ 和反轉角度 $\theta$ 傳遞至 oracle ,會根據 對象猜測啟發學習法 \begin{align} \theta \sim \Pr (\phi) ,\quad t \approx \frac{1}{\variance{\phi}}來選擇。 \end{align} 此啟發學習法最適合用來在假設前一般情況下,減少反復階段估計的預期海報變異數。

最優

此作業大約是 $\phi$ 階段的最佳估算器,如使用二次方遺失$L (\phi、\hat{\phi}) \mathrel{:=} (\phi - \hat{\phi}) ^2$ 進行評估。

如需反覆階段估計統計數據的詳細資訊,請參閱 貝氏階段估計

參考資料