Writing quantum programs

The process of designing quantum algorithms mainly consists in writing a sequence of quantum instructions in a way that is comprehensible by Quantum Processing Units (QPUs) so that they can be executed. In quantum programming, different paradigms are available to describe the quantum Program, each of them dedicated to be used by a different quantum system and for various use cases.

myQLM offers a collection of tools to help express these quantum algorithms using high-level constructs. The main objects are mostly wrapped under the qat.core module, while the higher level interface is defined in the qat.lang module.

Three main paradigms to design quantum algorithms are provided in the framework, namely:

In addition to defining the quantum algorithm, it is often necessary to describe the result that we wish to obtain from the QPU after the execution. An observable sampling feature is also available in the framework, allowing us to declare observables to be sampled on the final state in the QPU.

Gate-based programming
Analog programming
Annealing programming
Creating observables