Quantum Computing

Deutschs Algorithm


Deutsch's algorithm is one of the simplest quantum algorithms, demonstrating the power of quantum parallelism and interference. It solves a specific problem—determining whether a function 𝑓(𝑥) is constant or balanced—more efficiently than any classical algorithm.

Given a function 𝑓(𝑥) where:

𝑓(𝑥):{0,1}→{0,1}

determine whether 𝑓(𝑥) is:

  1. Constant: 𝑓(0) = 𝑓(1)
  2. Balanced: 𝑓(0) ≠ 𝑓(1)

Pauli Matrices

Quantum Circuit for Deutsch's Algorithm

1. Initialize Qubits:
\( |\psi_0\rangle = |0\rangle \otimes |1\rangle \)
2. Apply Hadamard Gates:
\( H|0\rangle = \frac{1}{\sqrt{2}} ( |0\rangle + |1\rangle ) \)
\( H|1\rangle = \frac{1}{\sqrt{2}} ( |0\rangle - |1\rangle ) \)
\( |\psi_1\rangle = \frac{1}{\sqrt{2}} (|0\rangle + |1\rangle) \otimes \frac{1}{\sqrt{2}} (|0\rangle - |1\rangle) \)
\( |\psi_1\rangle = |+\rangle |-\rangle \)
\( |\psi_1\rangle = \frac{1}{\sqrt{2}} ( |0\rangle + |1\rangle ) |-\rangle \)
3. Apply Oracle \( U_f \)
\( |\psi_2\rangle = U_f \frac{1}{\sqrt{2}} ( |0\rangle |-\rangle + |1\rangle |-\rangle ) \)
\( |\psi_2\rangle = \frac{1}{\sqrt{2}} ( U_f |0\rangle |-\rangle + U_f |1\rangle |-\rangle ) \)
\( |\psi_2\rangle = \frac{1}{\sqrt{2}} \left( (-1)^{f(0)} |0\rangle |-\rangle + (-1)^{f(1)} |1\rangle |-\rangle \right) \)
\( |\psi_2\rangle = \frac{1}{\sqrt{2}} \left( (-1)^{f(0)} |0\rangle + (-1)^{f(1)} |1\rangle \right) |-\rangle \)
\( |\psi_2\rangle = \begin{cases} \pm \frac{1}{\sqrt{2}} ( |0\rangle + |1\rangle ) |-\rangle = \pm |+\rangle |-\rangle , & f(0)=f(1) \\ \pm \frac{1}{\sqrt{2}} ( |0\rangle - |1\rangle ) |-\rangle = \pm |-\rangle |-\rangle , & f(0)\neq f(1) \end{cases} \)
4. Apply Hadamard Gate
\( |\psi_3\rangle = \begin{cases} \pm |0\rangle |-\rangle , & f(0)=f(1) \\ \pm |1\rangle |-\rangle , & f(0)\neq f(1) \end{cases} \)

If we measure 0 then the function is constant, since f(0)= f(1).

If we measure 1 then the function is constant, since f(0) ≠ f(1).