AmplitudeAmplificationFromStatePreparation işlevi

Uyarı

Bu belge, Modern QDK ile değiştirilen Klasik QDK'yi ifade eder.

Lütfen Modern QDK için API belgelerine bakın https://aka.ms/qdk.api .

Ad Alanı: Microsoft.Quantum.AmplitudeAmplification

Paket: Microsoft.Quantum.Standard

Kısmi yansımalar için kahinler tarafından genlik amplifikasyonu.

function AmplitudeAmplificationFromStatePreparation (phases : Microsoft.Quantum.AmplitudeAmplification.ReflectionPhases, stateOracle : Microsoft.Quantum.Oracles.StateOracle, idxFlagQubit : Int) : (Qubit[] => Unit is Adj + Ctl)

Giriş

phases : ReflectionPhases

Kısmi yansımaların aşamaları

stateOracle : StateOracle

Başlangıç durumunu hazırlayan unitary oracle $A$

idxFlagQubit : Int

Kubite bayrak eklemek için dizin oluşturma

Çıkış: Qubit[] =>Unit is Adj + Ctl

Kısmi yansımalar tarafından uygulanan kahinler tarafından genlik genliği uygulayan bir işlem.

Açıklamalar

Bu, başlangıç ve hedef durumlarının biçimine içindekinden AmplitudeAmplificationFromPartialReflectionsdaha katı koşullar uygular. Hedef durumun $\ket{1}_f$ ile işaretlendiği varsayılır. \begin{align} A\ket{0}_{f}\ket{0}_s= \lambda\ket{1}_f\ket{\text{target}}_s + \sqrt{1-|\lambda|^2}\ket{0}_f\cdots, \end{align} Çoğu durumda flagQubit ve auxiliaryRegister $\ket_{f}\ket{0}{0}_s$ durumunda başlatılır.