Ominous Oracles

Let’s understand what an oracle is before delving into the role of oracles in quantum algorithms.

Classical oracle

The Oracle is simply a black-box function used to abstract some parts of an algorithm. Computer scientists use oracles to abstract some complex logic and implementation details and to focus on the computability or time/space complexities of the algorithm being analyzed. Formally we can represent an Oracle as a function. The function would take an nn- dimensional input xx and produce an mm- dimensional output yy.

f(x)=yf(x) = y

An example of this could be a function that takes as input five numbers and returns their sum. Consequently, our input xx becomes 5-D, whereas output yy is just 1-D.

Get hands-on with 1400+ tech skills courses.