Introduction
This hackathon is about learning by building. Each notebook starts with the physics and mathematics you need, gives you starter code and explains every task precisely. Collapsible hints inside the notebooks lead you from the main idea to the right Qiskit tools step by step, and using them does not cost points. You need basic Python and NumPy and an introductory understanding of qubits, quantum gates and measurement. The notebooks introduce everything else, including noise models, Grover's algorithm and the variational quantum eigensolver.
Tools and Technologies
| Tool | Version | Used for |
|---|---|---|
| Python | 3.11 or newer | programming language |
| Qiskit | 2.6.1 | building quantum circuits |
| Qiskit Aer | 0.18.2 | simulating circuits, with and without noise |
| NumPy, SciPy, Matplotlib | as pinned in requirements.txt | numerics, optimization and plots |
| JupyterLab | 4.6.5 | running the notebooks |
No quantum hardware is used. The molecular data for Challenge 3 was precomputed with PySCF and is included in the package, so you do not need to install any chemistry software.
Inspiration
Quantum mechanics changes what is possible in security and in science. In 1991 Artur Ekert showed that entangled particles can be used to distribute secret keys, with eavesdropping revealed by the laws of physics themselves. In 1996 Lov Grover found a quantum algorithm that searches an unstructured list quadratically faster than any classical method, one reason why longer keys are recommended for symmetric ciphers. In 2014 the variational quantum eigensolver showed how small, noisy quantum processors could help compute molecular energies, a leading candidate for early applications of quantum computers. In this hackathon you will rebuild all three ideas yourself and see how real-world noise changes the picture.
Contact Us & Support Channels
Questions about the hackathon, the rules or technical problems: [email protected]
Additional Resource links
- Qiskit documentation: https://quantum.cloud.ibm.com/docs/en/guides
- Qiskit API reference: https://quantum.cloud.ibm.com/docs/en/api/qiskit
- Qiskit Aer documentation: https://qiskit.github.io/qiskit-aer/
- Qiskit Aer noise models: https://qiskit.github.io/qiskit-aer/apidocs/aer_noise.html
- IBM Quantum Learning: https://quantum.cloud.ibm.com/learning
- Basics of quantum information (Bell states, measurement): https://quantum.cloud.ibm.com/learning/en/courses/basics-of-quantum-information
- Fundamentals of quantum algorithms (Grover's algorithm): https://quantum.cloud.ibm.com/learning/en/courses/fundamentals-of-quantum-algorithms
- Variational algorithm design (VQE): https://quantum.cloud.ibm.com/learning/en/courses/variational-algorithm-design
- Quantum chemistry with VQE: https://quantum.cloud.ibm.com/learning/en/courses/quantum-chem-with-vqe
- Qiskit source code: https://github.com/Qiskit/qiskit
- JupyterLab documentation: https://jupyterlab.readthedocs.io/en/stable/
- Python virtual environments: https://docs.python.org/3/library/venv.html
- Google Colab: https://colab.research.google.com/