ReflectionOracle user defined type

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.Oracles

Package: Microsoft.Quantum.Standard

Represents a reflection oracle.


newtype ReflectionOracle = (ApplyReflection : ((Double, Qubit[]) => Unit is Adj + Ctl));

Named Items

ApplyReflection : (Double,Qubit[]) => Unit is Adj + Ctl

A reflection oracle, $O$, implemented by an operation with inputs:

  • The phase $\phi$ by which to rotate the reflected subspace.
  • The qubit register on which to perform the given reflection.

Remarks

This oracle $O = \boldone - (1 - e^{i \phi}) \ket{\psi}\bra{\psi}$ performs a partial reflection by a phase $\phi$ about a single pure state $\ket{\psi}$.