Quantum circuits
One of the important tasks of a quantum compiler, as discussed in the previous module, is to identify operations in an abstract quantum algorithm which cannot be executed directly, and replace them with sequences of operations which are logically equivalent (having the same effect on the qubits' states), and are composed of operations which can be executed 'on-chip'. But how do we know how to make such transformations? In this lecture, we will go over the common mathematical techniques which allow us to express and manipulate quantum circuits.