Note for viewers: Make sure to turn up the youtube resolution! It defaults to low-res for some reason.
Inspiration
Qiskit's VQE tutorial demonstrates the basics of computing the interatomic distance for the H2 molecule, and a simpler simulation for LiH. It challenges the reader to simulate BeH2 as well. I wanted to make the complete interatomic distance simulation work with all of those molecules and with both a noiseless and noisy quantum simulator!
What it does
Simulates a few different molecules and using a Variational Quantum Eigensolver, computes the ideal interatomic distance for them. Displays the atoms with this distance, as well as plots of ground state energy vs interatomic distance.
How I built it
Python qiskit code for VQE molecule simulation computes the ideal interatomic distance for a given molecule. The plots are generated with matplotlib, and molecule drawings with opencv. The frontend is built using the streamlit python web app library.
Challenges I ran into
It is really inefficient to run this simulation on a classical computer, especially as the number of qubits goes up (with more particles in the molecule). For the molecules other than hydrogen, it takes a long time to simulate (even after optimizations that reduce the number of qubits!), which made it hard to iterate on code changes.
Additionally, BeH2 with a noisy simulation simply took way too long on my laptop, and I could not get the results.
Accomplishments that I'm proud of
Extending Qiskit's challenge past what they said, even if not for every molecule with the noiseless simulator.
What I learned
The theory of VQE, as well as how to apply it to a useful toy problem with Qiskit! See comments in the code on github for a more technical description of how this VQE works!
What's coming next
Better handling of noise to get more consistent output in noisy simulations, as well as possibly more optimization for number of qubits in the circuit to make this run faster so I can get the results for BeH2 with a noisy simulation.
Log in or sign up for Devpost to join the conversation.