qcw

One of the library I developped (qprof) requires very specific and simple information about a quantum circuit. It needs to know:

  1. The name of the currently explored routine ("add(3)", X, grover, …).
  2. Whether the currently explored routine is terminal (i.e., it has no children) or not.
  3. If it is a non-terminal routine, how to iterate over its children.

I initially implemented a sub-package in qprof to abstract away the details of several quantum computing libraries representing quantum circuits in order to have my tool working for several different quantum circuits. But the structure was a little bit tedious to maintain, and that abstraction seemed like a potentially interesting feature on its own, in other tools that are not qprof.

This was the inception of the qcw library.

The goal of the library is to provide the interface described in the above 3 enumerated points for several different quantum computing libraries while not requiring their installation when you don’t need those libraries.

Adrien Suau
Adrien Suau
Senior Open-Source Software Engineer

Open-source advocate working on the quantum error-correction software stack.