In this article we denote DN=⟨x,y∣xN=y2=yxyx=1⟩. Or equivalently we have xy=yxN−1 and yx=xN−1y.
We use DN={ytxs:t∈{0,1},s∈ZN}.
All the subgroups of DN is either a rotational group ⟨xd⟩, or a dihedral group ⟨xd,yxs⟩, where d∣N and 0≤s<d.
For instance, when d=N, the subgroup is ⟨yxs⟩≅C2.
Definition. Dihedral Hidden Subgroup Problem
Given N and a subgroup H=⟨yxd⟩ a function f which is stable on every right (or left) coset of H≤DN.
The goal is to output d.
Kuperberg’s Algorithm for N=2n
Step1. Create the uniform superposition over DN.
Take initial state ∣0⟩∣0⟩, the first state is of n qubits and the second is of 1 qubits. Then we apply QFT on ZN
FN:∣x⟩↦N1k=0∑N−1eN2πikx∣k⟩
to both register and obtain
2N1s∈ZN∑t∈{0,1}∑∣s⟩∣t⟩
which is recognized as a ‘constant pure state’ in Hilbert space C[DN].
Step 2. Compute f and obtain.
2N1s∈ZN∑t∈{0,1}∑∣s⟩∣t⟩∣f(ytxs)⟩
Step 3. Measure the third register and record the output.
Suppose we measured the result r , there are 2 possible (s,t) ’s satisfying f(ytxs)=r. To conclude, if f(xs)=r then f(ytxs+d)=r. So the remaining state is proportional to
∣s⟩∣0⟩+∣(s+d) mod N⟩∣1⟩
for some s.
Step 4. Apply QFT on the first register, obtaining
Step 5. Measure the first register and record it, we have
∣0⟩+eN2πikd∣1⟩:=∣ψk⟩
for some k.
Now we have to ponder on this state. If k=2n−1=2N, then the state is exactly ∣0⟩+(−1)d∣1⟩. By measuring on the basis {∣+⟩,∣−⟩} we know the parity of d.