
In the 1990's it was realized that quantum physics has some spectacular applications in computer science. This book is a concise introduction to quantum computation, developing the basic elements of this new branch of computational theory without assuming any background in physics. It begins with an introduction to the quantum theory from a computer-science perspective. It illustrates the quantum-computational approach with several elementary examples of quantum speed-up, before moving to the major applications: Shor's factoring algorithm, Grover's search algorithm, and quantum error correction. The book is intended primarily for computer scientists who know nothing about quantum theory, but will also be of interest to physicists who want to learn the theory of quantum computation, and philosophers of science interested in quantum foundational issues. It evolved during six years of teaching the subject to undergraduates and graduate students in computer science, mathematics, engineering, and physics, at Cornell University.
How I learned:
I started out like you, in possession of an undergraduate education in computer science. I began reading Quantum Computer Science: An Introduction[0] by N. David Mermin. This is a very good textbook, but I absolutely could not skim it. I had to ensure I understood every single line before moving onto the next. I had the impression I wasn't learning very quickly, when in fact (due to the textbook's density) I was taking in a huge amount of information.
After a few weeks with the Mermin textbook, I bought Quantum Computing for Computer Scientists[1] by Yanofsky & Mannucci. This is a much softer introduction than Mermin, almost too soft: I skipped the first few chapters on linear algebra and complex numbers. However, in combination with the Mermin textbook, I acquired a good understanding of quantum computing basics. It was at this point I reached my own personal threshold for feeling I "understood" quantum computing.
People often recommend Quantum Computation and Quantum Information by Nielsen & Chuang (also called "Mike & Ike") for beginners. I believe this is not good advice. Had I tried to learn from that textbook, I would have failed. However, it is an excellent textbook after you already understand the basics. Anecdotally, I knew two people who tried to learn quantum computing at the same time as me: one used Mike & Ike, and the other used a book called Quantum Computing: A Gentle Introduction. Neither of those people understand quantum computing today.
How I wish I had learned:
My experience learning quantum computing required a huge amount of mental effort, and in the end what I learned wasn't actually complicated! So, I created a lecture called Quantum Computing for Computer Scientists[2] which is the lecture I wish I'd had access to before trying to read any textbooks. The lecture is popular and well-received, and I think it covers all the stuff that's really conceptually tricky; once you're over those conceptual hurdles, you can apply your regular computer science skills to learn everything else about quantum computing you need (how specific algorithms work, etc.) Thus my "hindsight" study guide is as follows:
1. Watch the lecture I created.
2. Watch Professor Umesh Vazirani's lectures on quantum computing; they flesh out my lecture and he is a tremendously effective explainer of concepts (these are scattered around YouTube but you can find a full playlist at [3])
3. Concurrently, work through the first few chapters of either the Mermin or Yanofsky textbooks
4. After you feel you understand the quantum computing basics, pick topics which interest you from the Nielsen & Chuang textbook
5. Stick around quantumcomputing.stackexchange, reading questions & answers, asking your own, and maybe eventually answering your own!
Good luck!
P.S. I've also heard good things about the Quantum Katas: https://docs.microsoft.com/en-us/quantum/tutorials/intro-to-...
[0] https://www.amazon.com/Quantum-Computer-Science-David-Mermin...
[1] https://www.amazon.com/Quantum-Computing-Computer-Scientists...
[2] https://youtu.be/F_Riqjdh2oM + slides https://speakerdeck.com/ahelwer/quantum-computing-for-comput...
[3] https://www.youtube.com/playlist?list=PLDAjb_zu5aoFazE31_8yT...
https://www.amazon.com/Programming-Quantum-Computers-Essenti...
Shameless plug dealt with, the text I'd next point you to for being grounded more in the Real world rather than Hilbert space is Mermin's. Modulo his insistence on using the term QBit rather than qubit, it's a great pedagogical work by someone with a very deep understanding of quantum mechanics. It's also in hardcover, which also helps lend it more weight:
https://www.amazon.com/Quantum-Computer-Science-David-Mermin...
As others have recommended, anything by Scott Aaronson is gold. Computational complexity is his passion, and although I think his work is very thorough and accessible, I would suggest it's a little less hands-on. However for very, very deep insights there's nowhere better to go. Alongside his book, Aaronson's blog at https://www.scottaaronson.com/blog/ is also revered by both QC enthusiasts and professionals alike and a great place to follow debate on the latest developments in the field.
The most mathematically demanding text (or most thorough, depending on how you look at it) I'd consider is Nielsen and Chuang (a.k.a "Mike 'n' Ike", a.k.a "The bible"). It's slightly out of date in some more recent concepts regarding the implementation of quantum computing (not wrong, just a tad incomplete), but is still solid and indispensable for the core concepts and insights behind quantum computing.
If you're interested in the physical implementation of a quantum computer (i.e. what does it _look_ like inside), then Mike 'n' Ike is the only one that will come close to satisfying you. The real world is so damn messy, and quantum hardware is no exception. QC tech moves fast and the money is still on the table as to just what that tech might look like inside the million qubit quantum computer of the future. Mike 'n' Ike does discuss some specific types of qubits, but I'm not aware of a book providing a truly comprehensive and up to date description of today's most promising approaches.
# QC Main Ideas
- Rotate, Compute, Rotate
- Think in Amplitude Interference
# Beginner: -(Hi-Recc) Quantum Computing Primer (1.5hr) : https://www.youtube.com/watch?v=F_Riqjdh2oM
-(Hi-Recc) Math Primer for Quantum Computing (easiest intro/primer I found on the topic; Highly Recommend ) : https://cds.cern.ch/record/1522001/files/978-1-4614-6336-8_BookBackMatter.pdf
-- understand Bra Ket notation [<Bra|Ket>] (Ket as Column vector, Bra (Row vector) as Complex Conjugate of Ket (denoted as dagger) )
-- understand Kronecker product ( for multi-qubit systems)
- Quantum Computing for Computer Scientists book - https://www.amazon.com/Quantum-Computing-Computer-Scientists-Yanofsky/dp/0521879965
- Quantum Math Primer (Faculty of Khan) (found a bit hard the first time around, pretty dense) : https://www.youtube.com/playlist?list=PLdgVBOaXkb9AtG88OsK_c8FDEBDLCC6_9
# Intermediate -(Recc) Ryan O'Donnell CMU course [is the best if you want to really understand the capabilities of quantum computing, get practice with math, intuition] (algos connection to Fourier, Quantum Complexity Theory, Math best practices, learning multi-quibit systems)
-- Quantum Computation and Information at CMU : https://www.youtube.com/playlist?list=PLm3J0oaFux3YL5qLskC6xQ24JpMwOAeJz
-- Lecture Notes (use as reference in case video is not clear, or camera shot lags/changes) https://www.cs.cmu.edu/~odonnell/quantum18/
- Mermin's Textbook https://www.goodreads.com/book/show/1959623.Quantum_Computer_Science
- Nielsen & Chuang's Textbook https://www.amazon.com/Quantum-Computation-Information-10th-Anniversary/dp/1107002176
-- Nielsen's Lectures https://www.youtube.com/playlist?list=PL1826E60FD05B44E4
# Advanced -(Recc) Scott Aaronson Graduate Course http://stellar.mit.edu/S/course/6/fa14/6.845/materials.html
-(Recc) Scott Aaronson Papers (really interesting) https://scottaaronson.com/papers/
- Complexity Zoo - List of Algorithms https://complexityzoo.uwaterloo.ca/Complexity_Zoo
-(Recc) Machine Learning https://www.amazon.com/Quantum-Machine-Learning-Computing-Mining/dp/0128100400
# Reference: -(Recc) https://qiskit.org/textbook/preface.html ToC for different algorithms ( easy to follow, do it for quick basic algo math implementation lookup)
- 'Suggested texts, notes, and videos to look at' section at bottom of page https://www.cs.cmu.edu/~odonnell/quantum18/
( I found this skill level format useful when learning Haskell/Functional Programming Paradigm. This is what I found useful for getting started with minimal friction; if more of a textbook learner Nielsen/Chuang textbook or Quantum Computing for Computer Scientist's)- Quantum algorithms and computing: "Quantum Computing Since Democritus" by Scott Aaronson [0] and "Quantum Computation and Quantum Information" by Nielsen and Chuang [1]. "Quantum Computer Science" by Mermin is really good too.
- Leonard Susskind's lectures on quantum mechanics [3]
- "Introduction to Quantum Mechanics" by David Griffiths [4] -- just your regular QM textbook. Recommended by many and I found the explanations clear and easy to follow
- also there are some recommendations by John Baez [5], that I've personally not checked out, but when Baez recommends something, it's good!
Note that I'm not a physicist and doing it only for fun, so would be interesting to hear from people with proper physics education!
[0] https://www.scottaaronson.com/democritus/
[1] https://en.wikipedia.org/wiki/Quantum_Computation_and_Quantu...
[2] https://www.cambridge.org/core/books/quantum-computer-scienc...
[3] https://theoreticalminimum.com/courses/quantum-mechanics/201...
[4] https://physicspages.com/Griffiths%20QM.html
[5] http://math.ucr.edu/home/baez/books.html#quantum_mechanics
Besides QCSD, I’d try Mermin’s Quantum Computer Science: An Introduction for QC, or any of my 50 favorite books from this list
https://www.scottaaronson.com/blog/?p=3679
if you’re just looking for some interesting reading material.