The goal of this project is to implement an oracle that multiplies a number by a predetermined constant modulo another constant.
This is subject to the following constraints:
- Two predetermined numbers
$a$ and$N$ , where$a < N$ ; - One control qubit,
$|x \rangle$ , that implements the multiplication if x = 1 and does nothing otherwise; - One
$n$ -qubit output register,$|y \rangle$ , which takes the given number to multiply as input and outputs the multiplication modulo N if$y < N$ ; - Nothing should be done to the input if
$y \geq N$ .
Finally, an analysis of the complexities and resources used is to be added at the end of the project.