ObliviousAmplitudeAmplificationFromStatePreparation 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 oblivious genlik genliği genliği.

function ObliviousAmplitudeAmplificationFromStatePreparation (phases : Microsoft.Quantum.AmplitudeAmplification.ReflectionPhases, startStateOracle : Microsoft.Quantum.Oracles.DeterministicStateOracle, signalOracle : Microsoft.Quantum.Oracles.ObliviousOracle, idxFlagQubit : Int) : ((Qubit[], Qubit[]) => Unit is Adj + Ctl)

Giriş

aşamalar : ReflectionPhases

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

startStateOracle : DeterministicStateOracle

Yardımcı başlangıç durumunu hazırlayan üniter kahin $A$

signalOracle: ObliviousOracle

Üniter kahin $O$ yardımcı ve sistem yazmaç üzerinde birlikte hareket eden türde ObliviousOracle

idxFlagQubit : Int

Tek kubitli bayrak kaydına dizin oluşturma

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

Kısmi yansımalara dayalı olarak oblivious genlik genliği uygulayan bir işlem.

Açıklamalar

Bu, yardımcı başlangıç ve hedef durumlarının biçiminde içindekinden ObliviousAmplitudeAmplificationFromPartialReflectionsdaha katı koşullar uygular. $A\ket{0}_f\ket{0}_a= \ket{\text{start}}_{fa}$ yardımcı başlangıç durumunu $\ket{\text{start}}_{fa}$ hesaplama temelinden $\ket{0}_f\ket{0}$ hazırladığı varsayılır. Hedef durumun $\ket{1}_f$ ile işaretlendiği varsayılır. \begin{align} O\ket{\text{start}}_{fa}\ket{\psi}_s= \lambda\ket{1}_f\ket{\text{anything}}_a\ket{\text{target}}_s + \sqrt{1-|\lambda|^2}\ket{0}_f\cdots, \end{align} where $\ket{\text{target}}_s = U \ket{\psi}_s$ for some unitary $U$.