How can I get started in quantum computing?
By: Rajiv Krishnakumar
Tags: Learning, Quantum Algorithms, Qiskit, Resources, Quantum Computing

Recently quite few people have asked me what resources are available to them to get started in quantum computing, specifically in quantum algorithms, programming and machine learning. I am always happy to answer them with my recommendations for resources and how to use them, but I figured instead of continuing to copy-paste my answers every time, I could just write a small post about it! For each resource I first give the link, then a brief description of what it is and my recommendation on how to use it to get a good enough understanding of the basics. Let’s do this!

(1) Quantum Computing: Progress and Prospects (2018) (you can get a free electronic copy by clicking on ‘Download PDF’) — This book is a very good high-level overview of what the field covers, what directions all the various research is going in and what the current state of the field is. It is 2 years old so there have been some advances since the book was written (the number of qubits in a device, the error rates etc.) but it has all been generally in accordance with what they say they expected to happen in the short term. I would not worry about understanding every detail of the book when reading it, and would recommend reading the whole book at a leisurely pace in parallel to looking at the other references below.

(2) Quantum Computing in the NISQ era and beyond (2018) — A shorter overview of quantum computing and specifically what questions in quantum algorithms people are interested in. There is some overlap with the previous recommendation. Similar to the previous recommendation, I wouldn’t worry about understanding every detail when reading it, but I would recommend reading it all at once to get a sense of what parts of quantum computing might interest you (it is a reasonably short paper).

(3) Quantum Computation and Quantum Information (2010) — This is probably the most famous and foundational book in quantum computing theory. Even though it is 10 years old now, it really does contain all the important technical foundations (which haven’t really changed since the mid 90s!). The whole book is an excellent reference so the more you can read the better, but to get started I would recommend reading chapter 1 (skipping 1.5.2 since it is outdated), chapter 2 up to the end of 2.4 and chapter 3.2 until the end of 3.2.2. If you don’t understand something completely feel free to move on but keep a note of it, so that in the future if you ever come across the concept again or have some time then, come back to it to make sure you really understand it. This is probably the toughest part to get through in this list of resources, but also the most useful, so don’t be discouraged if the going gets tough and this takes you some time to get through (it was tough for me!). Remember to pace yourself :). If some concepts become really tough, I would also recommend checking Quantum Computing: An Applied Approach (2019). In particular I would recommend chapter 3 until the end of 3.3, 3.5 and 3.6 which explains a subset of the same material in a slightly different way.

(4) Introduction to Quantum Algorithms (2019) — This is a short but very well designed technical and pedagogical presentation on how people think about quantum algorithms. If you can follow (and ideally reproduce!) the steps in this presentation, you now have a solid basic understanding about how to think about building quantum algorithms. Taking the time to understand each section is well worth it. Again, pacing yourself is the way to go :)

(5) The qiskit textbook (2020) — a hands on approach. This textbook starts with an introduction to some theory and quickly adds coding exercises so that you can apply what you’ve learnt to actual coding on simulators and real quantum computers. The whole textbook (which is an ongoing work in progress) has a variety of algorithms for you to code up. First install qiskit and get your free IBM experience account. Then if you are not familiar with python and/or jupyter notebooks, read their short introduction to get you up to speed. Once you’ve done those two things, you’re ready to start coding up quantum algorithms! If you have done the recommended reading from (2), I suggest you start at chapter 3 (where the coding really begins) and go until the end of chapter 3.2. This will give you a solid foundation in using qiskit (and incidentally other similar quantum languages).

(6) Intro to quantum machine learning (2020)— great video explaining what quantum machine learning is, what the state-of-the-art is and how to get involved and look for further resources.

I am always grateful for your questions/feedback/concerns/advice etc. so please don’t hesitate to leave a comment and/or connect with me via twitter @rajkk1 or at linkedin.com/in/rajiv-k :) I’m down to chat about some quantum computing or anything else!

Edit: thank you so much to everyone who gave me encouraging and constructive feedback! Special shout out to Arjan Cornelissen who gave some feedback concerning website resources and to Nicole Morgan who reminded me of Jack’s book.