One More Victory For Reusability in Quantum Computer Software

Reusable Code

Check out my new paper and its accompanying Java application “QOperAv” (pronounced like the street “Copper Av.”). The name “QOperAv” is an abbreviation of the phrase “Quantum Operator Average”. QOperAv generates quantum circuits for calculating certain kinds of quantum operator averages. More precisely, QOperAv generates the quantum circuits used in my earlier Ziti functions paper.

Apart from its practical utility as a quantum circuit generator, QOperAv is interesting in that it required very few lines of code to write. That’s because it relies on classes that form part of a large class library that was written previously, a class library that I used to write many other previous applications, namely QuanSuite (which equals 7 mini-applications), QuSAnn, Multiplexor Expander, and Quibbs.

A great advantage of class libaries is their re-usability. Programmers love reusable code for countless reasons. Among them are:

  • It saves time and energy for the programmer. The time and energy you save can be used to think harder about the truly novel aspects of your algorithm. It reduces and simplifies the work needed to create, debug and modify code. You don’t have to write the same thing over and over again. You don’t have to re-invent the wheel each time you need one. You can fix a bug at a single place rather than being confronted with the more arduous and error prone task of having to fix multiple copies of the same bug.
  • It allows you to stand on the shoulders of giants.

  • It reduces the size of a program, and automatically gives it a well-organized, easy to follow structure

Even Nature loves reusable code. It’s literally in our genes.