Sources: UCBerkeley, IBM Qiskit Textbook

N Qubit Systems

Consider a n number of qubits (could think of it as n number of hydrogen atoms).

For a classical system, we represent them using a n-bit string, $\{0,1\}^n$.

e.g. n = 3, $\{0,1\}^3 = \{000, 001, 010, 011, 100, 101, 110, 111\}$

Cardinality i.e. $|\{0,1\}^3| = 2^3 = 8$.

Even for moderate values of n e.g. a few hundred, $2^n$ is already larger than the number of particles in the visible universe. Tapping into this exponential power can yield a extremely strong computer.

For a quantum system, we represent them using the state $\ket\psi = \sum_{ \begin{subarray}{l} x\in\{0,1\}^n\\ \end{subarray}} \alpha_x\ket{x}$, where $\alpha_x \in \mathbb{C}$, $\sum_{ \begin{subarray}{l} x \end{subarray}} |\alpha_x|^2 = 1$.

e.g. n = 3, $\ket\psi = \alpha_{000} \ket{000} + \alpha_{001} \ket{001} +...+ \alpha_{110} \ket{110} + \alpha_{111} \ket{111}$

Manipulating N Qubits

  1. We have an exponential superposition: nature is keeping track of exponential / extravagent amount of information somehow
  2. We can manipulate this information: can update all exponentially many complex amplitudes just working on one or two qubits at a time. But can't control each amplitudes individually!
  3. We have limited access to this information: when we measure

Oracles

A physical device that we can’t look inside, but we can pass queries and return answers

Goal: determine some property of the oracle using minimal number of queries

Untitled

Untitled

Reversible Computation

A quantum circuit acting on n qubits is described by an $2^n \times 2^n$ unitary operator $U$. Each quantum circuit has an inverse circuit which is the mirror image of the original circuit and which carries out the inverse operator $U^\dagger$.

Compared to classical computation which loses information all the time.

e.g. An AND gate with an output 0; we don't know if the input was 01, 10 or 00. We have lost this information forever.