# Ominous Oracles

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

## We'll cover the following

## 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 $n-$ dimensional input $x$ and produce an $m-$ dimensional output $y$.

$f(x) = y$

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

Get hands-on with 1200+ tech skills courses.