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 ObliviousAmplitudeAmplificationFromPartialReflections
daha 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$.