1.5 KiB
Another well known quantum algorithm for searching.
Takes a function f : \{0,1\}^n \rightarrow \{0,1\} where f(x) = 1 for exactly one x.
The goal is to find x.
New gates: V_f and FLIP$_*$
\ket{*} denotes the superposition over al classical possibilities.
Oracle V_f
!
We use the Unitary U_f as previously defined to construct V_f
!
FLIP$_*$
We first need FLIP$_0$ defined as follows:
!
This is implemented via this circuit:
!
Z is a Pauli matrix and the empty circles denote negative control wires.
So Z is only applied if all other wires are \ket{0}
Now we define the unitary FLIP$_*$:
!
!
The search algorithm:
!
The algorithm works as follows:
\ket{0}on every qubit.- Superposition over all entries via H which results in the quantum state
\ket{*} - Apply unitary
V_f - Apply unitary FLIP$_*$
- Repeat 3 and 4 t times
- Measure.
How does this work?:
We want the algorithm to terminate in \ket{x_0}
First, we bring the system into uniform superposition \ket{*}
We know that \ket{x_0} is part of the superposition so we can rewrite as follows:
!
!
!
!