/deutsch-jozsa

Use PyQuil to simulate the execution of the Deutsch-Jozsa algorithm.

Primary LanguagePython

# Deutsch-Jozsa Algorithm Demonstration

These scripts were written at CalHacks 6. They use PyQuil to simulate the execution of the Deutsch-Jozsa algorithm.

`deutsch.py` and `deutsch_jozsa.py` are the implementations for Deutsch's original simplified algorithm, and the more
general n-qubit case, respectively. In both files, the function can be modified by changing the `Uf` array passed into
the algorithm. This array is built into the quantum circuit, and the results of the balance measurement are visible in
the first register upon measurement.

## Setup notes

All requirements are documented in requirements.txt. On Windows, both `pyquil` and `numpy` require the 2015 Visual
C++ compiler to be installed. The installation command should be run from a command prompt where these executables
are accessible.