Q#
Awesome Q## ¶
Q# is a domain-specific programming language used for expressing quantum algorithms. It was initially released to the public by Microsoft as part of the Quantum Development Kit. –Wikipedia
A list of Q# code and resources.
Feel free to improve this list using GitHub pull request mechanism, see CONTRIBUTING for more information.
Official Resources¶
- Installation guide
- Q# samples
- Q# libraries
- Quantum Development Kit documentation - Specially "Quantum computing concepts" gives a good introduction to quantum computing in general.
- Quantum Computing Libraries for noncommercial use
- Q# libraries for the Quantum Development Kit
Tutorials¶
- Quantum Katas - Programming exercises for learning Q# and quantum computing.
- Quantum Kata Notebooks - Online self-paced tutorials for learning Q# programming and quantum computing.
- Create your first Q# program by using the Quantum Development Kit - Microsoft Learn module.
- Deutsch-Jozsa Algorithm - Materials for self-paced "Introduction to Quantum Computing" workshop presented at Grace Hopper Celebration 2018 and Hopper x1 Seattle 2019.
- Quantum Perceptron - Materials for self-paced "Introduction to Quantum Machine Learning" workshop presented at MLADS 2018.
- Quantum Classification - Materials for self-paced "Introduction to Quantum Classification" lab presented at MLADS 2020.
- Quantum Computing with Microsoft QDK - Manning liveProject series that guides the learner through implementation of a variety of protocols and algorithms using Q# and Microsoft QDK.
Books¶
- Learn Quantum Computing with Python and Q# - Manning, 2021, Sarah Kaiser and Chris Granade.
- Q# Pocket Guide - O'Reilly, 2022, Mariia Mykhailova.
- Introduction to Quantum Computing with Q# and QDK - Springer, 2022, Filip Wojcieszyn.
- Introducing Microsoft Quantum Computing for Developers - Apress, 2022, Johnny Hooyberghs.
Videos¶
- Microsoft Quantum Development Kit Preview - Krysta Svore - step-by-step demo of quantum teleportation at Microsoft Mechanics.
- Introduction to Quantum Programming through the Quantum Katas - Bettina Heim, Microsoft Ignite 2018 session (here is the same session held with VS Code instead of Visual Studio).
- Learn to build your first quantum solution with the Quantum Development Kit and Q# - John Azariah, Microsoft Build 2018 session.
- Programming quantum computers in .NET using Microsoft Q# - Rolf Huisman.
- Quantum computing sessions at //Build
Q/A¶
Coding Contests and Solutions¶
Official resources¶
- Microsoft Q# Coding Contest (Summer 2018)
- Microsoft Q# Coding Contest (Summer 2018) Warmup Round
- Solution descriptions for Microsoft Q# Coding Contest (Summer 2018) and for the Warmup Round
- Microsoft Q# Coding Contest (Winter 2019)
- Microsoft Q# Coding Contest (Winter 2019) Warmup Round
- Solution descriptions for Microsoft Q# Coding Contest (Winter 2019) and for the Warmup Round
- Microsoft Q# Coding Contest (Summer 2020)
- Microsoft Q# Coding Contest (Summer 2020) Warmup Round
- Solution descriptions for Microsoft Q# Coding Contest (Summer 2020) and for the Warmup Round
Participants' solutions¶
- Solutions to the 2018 Microsoft Q# Coding Challenge and Warm-Up on Codeforces
- Q# codes by Hiroshi Kurokawa
- No Description_ by Hajime Fukuda
IDE Integration¶
Demos, Samples, and Additional Libraries¶
- Quantum Computing Q# Introduction 2018
- A implementation of Shor's algorithm written in Python calling Q# for the quantum part
- Hadamard Gate Q# Demo
- Q# Bell State Program
- Q# playgroud
- QuantumPeep - Generate Q# from JavaScript/TypeScript.
Blogs¶
- Q# Dev Blog - Official blog of Q# dev team.
- Microsoft Quantum Blog - Official blog of Microsoft Quantum team.
- Q# Advent Calendar 2018 - Collection of Q#-related blog posts.
- Q# Advent Calendar 2019 - Collection of Q#-related blog posts.
- Q# Advent Calendar 2020 - Collection of Q#-related blog posts.
- Q# Advent Calendar 2021 - Collection of Q#-related blog posts.
- The Hitchhiker's Guide to the Quantum Computing and Q#
- El Bruno's blog posts
- Q# Community