The IBM Quantum Spring Challenge provided an opportunity for interested parties to learn more about quantum computing and quantum chemistry simulations. This repository presents the solutions to the challenge and a dedicated supplementary.ipynb material with a skill-reaffirming background covering the step-by-step derivations of the quantum circuits provided as solutions to the first challenge. In addition, useful linear algebra identities were verified using matrix representation, index notation, NumPy, SymPy and Qiskit SDK. If there is a blunder, do not hesitate to open an issue in the issue tracker.
-
Tight-binding Model
- Trotter-Suzuki decomposition of the Unitary time evolution operator under the tight-binding model Hamiltonian for a 3 site tight-binding uniform lattice (on-site energy
$\epsilon_i = 0$ ).
- Trotter-Suzuki decomposition of the Unitary time evolution operator under the tight-binding model Hamiltonian for a 3 site tight-binding uniform lattice (on-site energy
-
Quantum Random Walks and Localization
- Simulating the electron linear propagation under the tight-binding model Hamiltonian for a 5 site tight-binding lattice by a continuous-time quantum random walk (on-site energy
$\epsilon_i = 0$ ). - Simulating Anderson localization phenomenon due to the inhomogeneity of the Lattice that causes multiple scattering of the electron introducing disorder in the on-site energies
$\epsilon_i \neq 0$ , and consequently localizing the electronic wavefunction.
- Simulating the electron linear propagation under the tight-binding model Hamiltonian for a 5 site tight-binding lattice by a continuous-time quantum random walk (on-site energy
-
Many-body Quantum Dynamics
- Simulating many-body localization (interplay between lattice disorder and particle-particle interaction) under the tight-binding model Hamiltonian for a 5 site tight-binding lattice in a 12 qubit chain.
-
Using VQE On a Water Molecule
- Applying the Variational Quantum Eigensolver (VQE) to compute the electronic ground state energy and electronic excited state energies of a water molecule.
- Note1: Windows users should replace "python3" with "python".
- Note2: install the IBM grading client to run all notebooks successfully.
Clone this repository:
git clone https://github.com/QuCAI-Lab/ibm2022-quantum-spring-challenge.git && cd ibm2022-quantum-spring-challenge
Create a conda environment with the required dependencies:
conda env create -n quantumspring environment.yml && conda activate quantumspring
Don't forget to install qiskit, qiskit-nature and PySCF via pip.
Install pip first:
conda install -yc conda-forge pip==22.1.2 && python3 -m pip install -U --upgrade pip
Installing qiskit[all] including qiskit-nature:
python3 -m pip install -U qiskit[all]
To check if qiskit-nature is installed, run $ conda list qiskit
or $ pip show qiskit-nature
.
Manually installing qiskit-nature should return:
python3 -m pip install -U qiskit[nature] >>> Requirement already satisfied
Final step, installing PySCF (no support for native Windows platform, see issue #750):
python3 -m pip install -U qiskit-nature[pyscf]
Alternatively, one can install the required dependencies via the requirements.txt file:
conda create -yn quantumspring python==3.9.11 && conda activate quantumspring
conda update -yn base -c defaults conda && conda install -yc conda-forge pip==22.1.2
python3 -m pip install --user --upgrade pip && python3 -m pip install -r requirements.txt
[1] IBM Quantum Spring Challenge 2022 - Problemset templates.
This work is licensed under a Creative Commons Zero v1.0 Universal license.
Created and maintained by @camponogaraviera.