Grover’s Search Algorithm in Python

As you may have read in some previous post I am actually working on a modified version of the Grover‘s Algorithm. For those who don’t know the principles of Grover’s Algorithm, here is a quick explanation. We have a function $$f : \mathbb{Z}_2^n\rightarrow \mathbb{Z}_2$$ that is True for only one $$a \in \mathbb{Z}_2^n$$. We also have a quantum oracle that returns the value of the function f. Classicaly, finding the value of $$a$$ will take n-1 steps. »