Code Monkey home page Code Monkey logo

framework-agnostic-vqe-tutorial's Introduction

A Framework Agnostic VQE Tutorial

If you're just getting started in quantum computing, it might sometimes feel a little overwhelming to dive straight into understanding the Variational Quantum Eigensolver (VQE).

I'm here to tell you it can be done! Although for me, I found it a little difficult to learn about the actual quantum computing concepts with a framework obscuring what's actually happening under the hood.

So this is a very down-to-earth tutorial that will take you through a toy example of VQE using only generic python packages. I'll do my very best not to introduce new concepts without either explaining them or pointing you to a reference.

Who this is for

The purpose of this tutorial is actually threefold:

  1. Learn the basics of VQE
  2. Get hands-on with basic concepts from quantum computation. This is why we would bother coding from scratch instead of using a quantum simulation library.
  3. Get some sense of how our toy example relates (and doesn't relate) to real VQE.

As such, the following points best describe someone who'd benefit from this tutorial:

  • You're familiar with Python and widespread packages such as numpy.
  • You're newly familiar with the basics of quantum computing, but you'd like to get a more hands-on feel for it all.
  • The following terms aren't new or (overly) intimidating to you: Wavefunction; Qubit; Hamiltonian; State preparation; Pauli operator; Bloch sphere; Quantum gate; Projection measurement; Observable.
  • Not super important: You're familiar with the concept of computational optimisation. If you're not, it should take you 15-30 mins of googling to get a good enough idea.

How to use this tutorial repo

Everything should take you 2 hours or more (depending on how many side quests you decide to go on).

  1. Clone into your local machine. (skip to step 3 if you want to use Google Colab)

    git clone https://github.com/alexander-soare/framework-agnostic-vqe-tutorial.git
    
  2. Install requirements. (skip to step 3 if you want to use Google Colab)

    pip install -r requirements.txt
    
  3. Start with the prereading.

  4. Then open up the 02_Tutorial.ipynb notebook in your favorite environment, or:

    (a) click here to open it in Google Colab

    Open In Colab

    (b) or preview it on Jupyter nbviewer

    Note that the Github previewer lacks full markdown support for equations so I would recommend using one of the above methods instead.

  5. Feel free to make use of this repo's Github Issues as a questions and discussions forum!

  6. Share this with others by linking to the current page: https://github.com/alexander-soare/framework-agnostic-vqe-tutorial.

Acknowledgements (also alternative resources for you)

I've acquired most of my knowledge from the following resources. This work is a reflection of that.

Also, a very appreciative thankyou to the following people who have helped me review this tutorial:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.