Skip to content

Notebooks that explore how to use quantum computers to create random numbers

Notifications You must be signed in to change notification settings

aesidau/quantumrandom

Repository files navigation

quantumrandom

Notebooks that explore how to use quantum computers to create random numbers

This set of Jupyter Notebooks is to support my blog posts on getting starting with quantum computing. I wanted to see if I could explain quantum computing without having to use Bloch Spheres or circuit notation, since I feel these create a false intuition around how qubits work. For instance, Bloch Spheres do not show entanglement, and circuit notation implies control travelling in one direction so misses phase kickbacks. I also want to avoid using deep mathematics (by which I mean the combination of Dirac notation, complex numbers and linear algebra), and while this is the most accurate representation, it makes the topic inaccessible for many.

The IBM Qiskit quantum computing library is used for the code exercises in the notebooks, as it is widely available, free to use, and produces appropriate visualisations in a Jupyter Notebook environment. There are other quantumn computing libraries that might also have been used, and it should be easy to convert the code exercises if anyone wants to do that.

Here are direct links to the notebooks:

  1. Context - the motivations for these notebooks and instructions on how to set up the environment for those that wish to run them themselves.
  2. A simple algorithm - how to use a quantum computer to generate real random bits
  3. More complex randomness - how to generate non-uniform distributions of random bits
  4. Digital computation - how to perform traditional digital computation on a quantum computer
  5. Grover's algorithm - how to use a quantum computer to find a solution that would require brute-forcing on a digital computer

If you want to just read the material, jump straight to the simple algorithm notebook.

These notebooks are also a proof-of-concept for how a quantum computing course or book might be developed that doesn't use circuit notation, Bloch Spheres, complex numbers or linear algebra. However, there is some highschool-level mathematics involved, such as fractions, square roots, and addition/multiplication.

Enjoy!

About

Notebooks that explore how to use quantum computers to create random numbers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published