AmplitudeAmplificationFromPartialReflections function

Warning

This documentation refers to the Classic QDK, which has been replaced by the Modern QDK.

Please see https://aka.ms/qdk.api for the API documentation for the Modern QDK.

Namespace: Microsoft.Quantum.AmplitudeAmplification

Package: Microsoft.Quantum.Standard

Amplitude amplification by partial reflections.

function AmplitudeAmplificationFromPartialReflections (phases : Microsoft.Quantum.AmplitudeAmplification.ReflectionPhases, startStateReflection : Microsoft.Quantum.Oracles.ReflectionOracle, targetStateReflection : Microsoft.Quantum.Oracles.ReflectionOracle) : (Qubit[] => Unit is Adj + Ctl)

Input

phases : ReflectionPhases

Phases of partial reflections

startStateReflection : ReflectionOracle

Reflection operator about start state

targetStateReflection : ReflectionOracle

Reflection operator about target state

Output : Qubit[] => Unit is Adj + Ctl

An operation that implements amplitude amplification by partial reflections.

Remarks

Amplitude amplification is a special case of oblivious amplitude amplification where there are no system qubits and the oblivious oracle is set to identity. In most cases, startQubits is initialized in the state $\ket{\text{start}}_1$, which is the $-1$ eigenstate of startStateReflection.