Blog

The AutoSubstitution rewrite step

July 13, 2021, written for the Q# blog
The new Microsoft.Quantum.AutoSubstitution NuGet package makes it easier to replace operations with alternatives when targeting different simulators.

Emulation in Q#

December 4, 2020, written for the Q# blog
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.

Build your own Q# simulator — Part 3: A circuit-diagram builder with ⟨q|pic⟩

August 13, 2020, written for the Q# blog
We implement a custom simulator that generates a quantum circuit diagram in the ⟨q|pic⟩ format from Q# program execution traces.

Build your own Q# simulator — Part 2: Advanced features for the reversible simulator

June 2, 2020, written for the Q# blog
This post is the second in a series on how to write your own Q# simulators. In this part we describe advanced features to extend the reversible simulator from the first post in the series.

Build your own Q# simulator — Part 1: A simple reversible simulator

May 8, 2020, written for the Q# blog
Simulators are a particularly versatile feature of the QDK. This post is the first in a series that teaches you how to write your own simulators, thereby broadly extending the scope of Q#.

Quantum Oracle Circuits and the Christmas Tree Pattern

December 19, 2018, written for the Q# Advent Calendar
The article is about decorating Christmas trees using the rotation gate complexity in oracle function synthesis.