Skip to content

Latest commit

 

History

History
57 lines (38 loc) · 5.3 KB

how-to-learn-quantum-computing.md

File metadata and controls

57 lines (38 loc) · 5.3 KB
title description author ms.author ms.date ms.topic uid
How to learn quantum computing
natke
nakersha
10/23/2019
article
microsoft.quantum.overview.learn

How to learn quantum computing

Get guidance for learning about quantum computing and writing your first programs. This isn't an exhaustive guide, but rather a good place to start.

Getting the basics: what do you need to know?

You don’t need to know quantum physics to learn about Q# and quantum computing or start writing quantum applications.

To guide you in learning quantum computing with Q#, we provide a Getting Started Guide (link below) for the Quantum Development Kit, which provides a journey guide for both those who want to start coding quantum programs and those who are not yet ready to start coding, but want to learn more about Q# and quantum programming.

Before embarking on the Getting Started journey, this last article on the “Five things to know about quantum computing” introduces you to some basic concepts that are especially important to understand quantum computing and points to further resources for you along your journey.

These concepts will give you a good introduction to the fundamental knowledge you need to start coding quantum programs. Those who are not yet ready to start coding, but want to learn more about Q# and quantum programming can still review these concepts at a high level here and then proceed to the Getting Started Guide to learn more about quantum computing and Q# without having to start coding.

  • Linear algebra (vectors and matrices): In quantum computing, quantum states are represented by vectors, with quantum operations being linear transformations applied to these vectors.
  • Complex numbers: The coefficients of quantum state vectors are complex numbers. You can understand some basic quantum computing concepts without them, but you won't get far before you need to incorporate them into your quantum toolkit.
  • Basic quantum mechanics: We just said that you don’t need to know quantum physics to start coding (and it’s true!). But some basic concepts of quantum mechanics and its mathematical notation will be helpful to understand quantum programming.

Code first, then learn! Or learn more, then code!

Now that you have the basics, you're ready to start writing your first quantum programs. Or maybe you want to learn more before coding. Either way, our Getting Started with the Quantum Development Kit provides a series of steps in learning, which includes:

  • A tutorial for writing your first Q# quantum program and learning more about the basics of Q#
  • A tutorial introduction to a Q# program (Grover’s search algorithm) that demonstrates the different way of solving real problems with quantum computing
  • An introduction to the Q# libraries, our Quantum Katas, and other tools of the QDK that provide you with what you need to develop quantum programs for today’s greatest challenges

Dive into the theory

Maybe you want to take a deeper look into the theory of quantum mechanics and quantum computing. Here you have a list of useful material:

  • Start with our guide to quantum computing concepts, a compilation of basic concepts for quantum computing.
  • Learn Quantum Computing with Python and Q# (Sarah C. Kaiser and Christopher E. Granade) provides an excellent introduction for people who have little to no experience with quantum mechanics, but some programming background.
  • Quantum Computation and Quantum Information (Michael A. Nielsen, Isaac L. Chuang) is the most cited text in the field of quantum computation. It is regarded as the standard text on the subject. The book assumes minimal prior experience with quantum mechanics and computer science. It is an excellent choice for those readers who want a rigorous introduction to the topic as well as for those who are looking for references for advanced concepts.
  • MIT OpenCourseWare has an excellent online course imparted by Allan Adams for learning the basics of quantum mechanics. Perfect for those who want a better understanding of the underlying physics.

Join the quantum community

You don’t have to learn this alone, there is a big community of amateurs and experts alike who are willing to help you. Don’t be afraid to ask!

  • If you have any questions about Q# or quantum computing don’t hesitate and take a look at the Quantum Computing StackExchange site. If you don’t find your specific question you can always ask a new one.
  • Check out Q# blog and Microsoft Quantum Blog to stay up to date with the latest news and resources about Q#.
  • Check Q# Community and Awesome Q# to look for more resources and material.

Next steps

  • Learn quantum computing concepts with Q#
  • Get started with the Microsoft Quantum Development Kit