Solving Simon's problem with a quantum computer
In this section, we aim to solve the Simon's problem with a quantum computer. The Simon's problem states that:
There is a function implemented by an oracle with the property:
where is either or a fixed unknown bit string. Find the unknown bitstring .
In this section, we show how to use QURI Parts to implement the algorithm that solves Simon's problem.
Oracle function and circuit
Suppose the function input is a bit string of length , the oracle is a quantum circuit with qubits. In this set up, the oracle is implmented with a unitary matrix that satisfies the condition: