Q# Blog
Quantum Development
Latest posts

Quantum software development using the QDK

In this blog post we look at the end-to-end quantum software development workflow, the stages through which a quantum program goes from idea to complete implementation, and the tools offered by the Quantum Development Kit for each stage.

The AutoSubstitution rewrite step

The new Microsoft.Quantum.AutoSubstitution NuGet package makes it easier to replace operations with alternatives when targeting different simulators.

Visualizing quantum programs using the QDK

In this blog post we’ll look at the tools offered by Microsoft Quantum Development Kit to visualize various elements of quantum programs - the quantum state of the program, the unitary transformations, and the execution path (the circuit) of the program run.

Microsoft Quantum challenge at QCHack 2021: Recap

Meet the winners of the Microsoft challenge at Quantum Coalition Hackathon 2021 and learn about their projects and their experiences at the Hackathon!

Announcing Microsoft Quantum challenge at QCHack

We are excited to announce that Microsoft will join Quantum Coalition Hack, hosted during the week of April 5-11! Learn more about the challenge we'll be offering and the best ways to prepare for it.

Quantum developer tools for chemistry

Quantum computers will be able to reveal the exact quantum nature of chemical systems exponentially faster than classical computers. In this post, we show how to use Microsoft's Q# libraries and developer tools to simulate a caffeine molecule using two quantum algorithms: Quantum Phase Estimation and Variational Quantum Eigensolver.

Inside the Quantum Katas, part 2: testing quantum programs

Learn about the common tools and tricks used for testing quantum programs, using the testing harnesses of the Quantum Katas as an example.

Three Years of Q#

A look back at Q#'s third year, 2020

Emulation in Q#

It can be helpful to implement Q# functions or operations directly in C# - either to access some API that is not directly accessible in Q# or to provide alternative implementations based on the context in which the Q# program is executed. This blog post describes techniques to programmatically replace a Q# function by another one.