top | item 23914992

Ask HN: Resources to start learning about quantum computing?

185 points| edu | 5 years ago

Hi there,

I'm an experienced software engineer (+15 years dev experience, MsC in Computer Science) and quantum computing is the first thing in my experience that is being hard to grasp/understand. I'd love to fix that ;)

What resources would you recommend to start learning about quantum computing?

Ideally resources that touch both the theoretical base and evolve to more practical usages.

50 comments

order
[+] bollu|5 years ago|reply
There is really only one "bible". I recommend solving through it, at least the first 4-5 chapters:

- Nielsen and Chuang, Quantum computation and information: mmrc.amss.cas.cn/tlb/201702/W020170224608149940643.pdf

While you are reading and solving the above book, I strongly recommend reading:

- "Quantum computing since Democritus" by Scott Aaronson, one of the researchers on quantum computation: https://www.scottaaronson.com/democritus/

This book will give you a "flavour" of where the power of quantum computation might be coming from, and the whole host of theoretical issues that surround this domain.

What I _highly_ recommend is practicing problem-solving using these resources:

(1) Microsoft quantum katas: https://github.com/microsoft/QuantumKatas

(2) Codeforces Q# coding contest: https://codeforces.com/msqs2018

Actually programming the circuits in Q# will give you a sense of stuff that's swept under the rug when reading textbooks: initialization of qubit states, a good sense of what "qubits cannot be copied" means, etc.

At this point, one ought to have an understand of quantum computation and our current understanding of its power (in particular, the relationship that we don't know how to separate BPP and BQP), how to implement the "common" quantum algorithms in a programming language, and a vivid sense of the "quantumness" of these algorithms.

For reference, I speak from experience: (1) My solutions to the quantum katas: https://github.com/bollu/quantum-course-exercises. (2) My scattered QC notes: https://github.com/bollu/notes/blob/master/quantum-computati...

(One can find a full pdf of quantum computing since Democritus relatively easily on the internet if one so chooses.)

[+] jkingsbery|5 years ago|reply
When I was a master's student, we used Nielsen and Chuang in our class. I found it to be pretty good.
[+] boothby|5 years ago|reply
I'm a D-Wave employee, and our cloud service [1] is mature and available* today. You can sign up to get a free minute of QPU time (which turns out to be quite a lot; sampling a problem generally takes milliseconds of QPU time). Additional time is granted if you link your github account to your Leap account, and of course, you can pay for additional time.

We've recently added an IDE [2], we've got tutorials [3] and YouTube videos [4] to guide you through the learning process. Additionally, we've recently released a hybrid solver service [5], which supports up to 10k fully-connected variables.

* The Leap service is available in 37 countries. We just launched in India and Australia this week.

[1] https://www.dwavesys.com/take-leap

[2] https://support.dwavesys.com/hc/en-us/sections/360007452933-...

[3] https://www.dwavesys.com/resources/tutorials

[4] https://www.youtube.com/channel/UC6_etbfDnWMxAuYj9qD1qmA

[5] https://www.dwavesys.com/sites/default/files/14-1039A-A_D-Wa...

[+] Jommi|5 years ago|reply
Is the debate about "D-wave isn't quantum computing its quantum annealing" still relevant?

I did a research project on the competitive landscape on QC few years ago and at least then it was a huge topic.

What are your thoughts?

[+] kanzenryu2|5 years ago|reply
What's the most impressive real-world problem ever solved by one of your systems?
[+] sriram_malhar|5 years ago|reply
I really really loved Nielsen and Matushak's Quantum country.

https://quantum.country

There are two reasons I like it.

There is no mumbo jumbo about polarising filters and "look how mysterious" it is. No. They concentrate on very simple linear algebra and work with it.

Second, they make a convincing argument that when you memorise a bit of material, it makes it intuitive. So they incorporate spaced repetition to continually test you (by email) so that the material gets into your long-term memory.

[+] 214610|5 years ago|reply
It's a good source if you know linear algebra. Beginners should know that there are no solutions to check your work.
[+] ruggeri|5 years ago|reply
Quantum Country is a nice resource. Also Aaronson.

But for me what really helped was Quantum Computing Without the Physics by Nannicini. Aaronson is not formal enough or really a textbook to teach and explain quantum algos like Simons (a good first algo) or Grover. It is an amazingly fun book though.

https://arxiv.org/abs/1708.03684

Nielsen and Chuang is the standard textbook but was not useful to me sadly. I wouldn’t recommend it to a beginner outside the framework of a course.

[+] jonas_kgomo|5 years ago|reply
Resources are quite widespread, if you want a community based learning, IBM's Qiskit[0] is the best. If you are at high-school level, Michael Nielsen's online mnemonic book [1] is good too. Ideally, you want to get a small grasp of basic probability, some physics and algebra. Another community based learning is QWorld [3].

[0] https://qiskit.org/learn/ [1] https://unitary.fund/posts/high_school_resources.html [2] https://quantum.country/ [3] http://qworld.lu.lv/

[+] _raul|5 years ago|reply
The PragProg folks have a new book that includes exercises and looks very promising as an introductory material. It's available in beta state and apparently about to be finished: https://pragprog.com/titles/nmquantum/
[+] ArtWomb|5 years ago|reply
>>> hard to grasp/understand

I truly believe anyone is capable of grasping QC. Minimal physics required. Math no higher than linear algebra. Q# Quantum Katas are ideal for beginners. Mariia Mykhailova is a terrific instructor. And you can scale up to arbitrary numbers of (simulated) Qubits on Azure Quantum when you are ready to solve real world optimizations / simulations ;)

Just want to link up another resource currently ongoing: Qiskit Global Summer School. Currently 2000+ students enrolled and materials are identical to bootcamp given to IBM Quantum Interns

https://qiskit.org/events/summer-school/

Best of Luck ;)

[+] tbabej|5 years ago|reply
Quick plug for folks that are coming from the SWE background, and would love to get more hands-on experience (thus learn by doing!), the effort behind Quantum open source foundation might be of interest [0].

We have compiled learning resources [2], organize workshops and hackathons (i.e. we are behind the Quantum track at FOSDEM [3]) and even offer mentorships [4] for people that have some QC knowledge and are interested in entering the field of quantum SW development.

Originally the effort started as surveying the current state of open source software in QC [1], but shortly afterwards we realized that the field could benefit (similar as AI has), among other things, from more people with SWE background joining and helping the ecosystem grow, making the individual pieces of the QC stack more robust and interoperable, but also completely building parts that are currently missing.

In that spirit, more recently we are trying to organize efforts to help the open source quantum ecosystem by building various projects where people with good SWE background could be very helpful.

Write me a short info about you at `tomas at qosf.org` with "[HN]" prefix if interested to volunteer some of your time!

We're hoping to add couple of people into the team, and looking for people with a different backgrounds (Python is the language of the science world in QC, but we have use for everything ranging from devops, frontend to backend skillsets).

[0] https://qosf.org

[1] https://journals.plos.org/plosone/article?id=10.1371/journal...

[2] https://qosf.org/learn_quantum/

[3] https://fosdem.org/2020/schedule/track/quantum_computing/

[4] https://qosf.org/qc_mentorship/

[+] cameronperot|5 years ago|reply
I would suggest starting from the basics of quantum physics if you don't already have a solid foundation. MIT has several excellent courses on the subject [1-4]. The first two are the same course, but taught by different professors with slightly different curriculum.

[1] https://ocw.mit.edu/courses/physics/8-04-quantum-physics-i-s...

[2] https://ocw.mit.edu/courses/physics/8-04-quantum-physics-i-s...

[3] https://ocw.mit.edu/courses/physics/8-05-quantum-physics-ii-...

[4] https://ocw.mit.edu/courses/physics/8-06-quantum-physics-iii...

[+] jeffreyrogers|5 years ago|reply
You will also need a pretty good understanding of calculus and linear algebra to understand QM, which many CS people don't have. You could probably learn both at the same time, but it would be challenging. The unfortunate thing about physics is you need to have pretty strong math skills to understand things, and most people's mathematical preparation is not very good.
[+] bollu|5 years ago|reply
I disagree. One does not need to know quantum physicr to learn quantum computation, as scott aaronson argues in "quantum computing since democritus". I personally feel I actually understood more quantum physics by playing around with quantum algorithms
[+] hackermailman|5 years ago|reply
Ryan O'Donnell from cmu has lectures to understand qc from an algorithm design perspective, so quantum information theory https://m.youtube.com/playlist?list=PLm3J0oaFux3YL5qLskC6xQ2...

His quote: "90% of the understanding of the quantum circuit model is achieved by reviewing three purely 'classical' topics: classical Boolean circuits; reversible classical circuits; and randomized computation"

[+] brummm|5 years ago|reply
I second a few people on here: You will probably need to learn quite a lot of math if you did not study physics or math. In order to understand quantum physics, you will need to understand what vector spaces and Hilbert spaces are, have a good grasp of calculus (derivatives, integrals should be no issue for you), a good understanding of Fourier analysis and statistics.

Then, you should probably take a class in the basics of quantum physics which will lay the foundation for you to understand quantum computing.

[+] abeppu|5 years ago|reply
Umesh Vazirani has a quantum computation MOOC. I did an older version of it, and enjoyed it. I believe it has been updated and moved to Edx. I felt the version which I followed was a good distillation of challenging concepts, as curated by an established expert.
[+] Fishysoup|5 years ago|reply
EDx has a Quantum Machine Learning course from UToronto. The first few chapters cover the very basics of QM and Quantum Computing pretty nicely.
[+] sushshshsh|5 years ago|reply
As a side track, how far away are we from "quantum cloud services" that I can pass arguments to and receive output from in exchange for a monthly or per-resource-used fee?

What types of problems are quantum computers anticipated to solve? I've only heard about how they are able to break certain cryptographical algorithms that were designed long before quantum was even a thought.

[+] jlokier|5 years ago|reply
A lot of companies say they are near QCaaS - quantum computing as a service, on the cloud.

In reality, they can't do this until they have a working quantum computer of an interesting size.

For now, it's limited to toy-size QCs, which can be simulated faster and cheaper using an ordinary computer. So if they are on a cloud server, it's more for curiosity value only. They aren't actually useful.

There's a lot of buzz and hope and money going into it, but nobody knows with certainty if it's even possible to build one of a useful size.

The "quantum supremacy" claim which happened already was genuine and deserves accolades, but it turns out only to be useful on a very contrived kind of problem. The clever part, in a way, was figuring out a suitably contrived problem, to show that quantum supremacy is technically possible without resulting in a useful quantum computer, and it doesn't run any of the standard quantum circuits.

[+] richardkmichael|5 years ago|reply
You can do this today with DWave, Rigetti and Xanadu. I've used D-Wave myself, signing up for their LEAP platform is inexpensive (possibly free for a small amount of use, I'm not sure about their current offering).

There are different implementations of "quantum computing" which are appropriate for different types of problems. Google and Wikipedia will teach you about them, for example quantum annealing vs. universal quantum computing.

[+] boothby|5 years ago|reply
I address the first part of your question in another comment on this post [1] (disclaimer, I'm a D-Wave employee and only talk about our offerings).

As for what types of problems: D-Wave's quantum computers (and adiabatic quantum computers in general) are best suited for optimization problems. Some examples are scheduling, graph coloring, and other NP-hard problems.

AFAIK quantum computing, as a whole, is very far from breaking any kind of interesting crypto.

[1] https://news.ycombinator.com/item?id=23918899

[+] jlokier|5 years ago|reply
> I've only heard about how they are able to break certain cryptographical algorithms that were designed long before quantum was even a thought.

Just thought I'd mention, quantum computer design started in the early 1980s, and many of the theoretical results came through quite a while ago.

What's happening now is the investment and funding landscape has changed considerably.

[+] UMetaGOMS|5 years ago|reply
AWS Braket is in preview, so should provide what you are asking for in the near future. QC hardware manufacturers generally also offer their own cloud access mechanisms.