In this article you will be introduced into the discussion about considering or not quantum annealing as quantum computing. The advantages of annealing technology will be highlighted as well as the tools offered by QPath® to make things easier no matter how complex is your pairwise interaction model. The text resolves around the role of an interface and an interesting analogy between annealer devices and musical instruments that add a new point of view.
The art of programming with waves
The main physical phenomenon quantum computing exploits is the wave interference. The waves involved are created by micro-electronic circuits in the current commercial implementations. Superposition and entanglement emerge as the properties to tune for carrying out computations. That is the universal quantum programming paradigm.
Anytime we deal directly with waves, it makes sense to reuse all the mathematic that has been developed for other types of waves (think of Fourier analysis), and create visualization tools or concepts that are inspired by other branches of physics such as electromagnetism, mechanics or acoustic. We can discuss if this approach is the best or not for understanding quantum physics, but it works with the support of consensus like the Copenhagen interpretation: quantum theory is not a description, but a prescription for measuring possible outcomes. You can recognize, for example, as results of quantum algorithms, outputs that expose the wave behavior of the qubits. Figure 1 shows an histogram of outcomes of a quantum algorithm and its similarities with an electromagnetic interference pattern.
Figure 1. Bottom: histogram retrieved as output of multiple executions of a quantum phase estimation algorithm for the case of a non-exact codification of the eigenvalue in the main register. Top: interference patter modulated by diffraction; you can obtain it using a double split and a laser with a wavelength of roughly 650 nm.
People talk about pentagrams as a metaphor for referring quantum circuit in the universal quantum programming paradigm. Continuing this thread, let’s try an analogy between annealing and music that might clarify if that optimization technique is or is not quantum computing.
The case of sound waves
A sound wave is a local variation in the air pressure propagating through the air. It can be composed by a single frequency (pure tone), a specific pattern of frequencies (musical note) or a “disordered” set of frequencies (noise). An instrument, as a device designed for generating musical notes, reproduces a pattern that is different in winds, strings, grand pianos, etc. People usually analyze the frequency spectrum that characterizes each instrument, the intensity, time duration, etc., but it is not the focus of this article. Let me introduce more ideas before showing you what music has to do with quantum annealing.
Music can be thought as the combination of different sounds in a flow of tensions and resolutions. What it sounds “good” or “bad” is stablished by the dominant culture among societies and historical periods. The harmony of Bill Evans would sound “chaotic” in the XVIII century as well as harmony of Bach would be a little bit “structured” in the XX century. Nevertheless, in all the cases, the musician is who controls the flow of notes, the programmer that codes using her/his instrument. In that sense, the scenario changes in terms of the proximity to the sound wave generated according to the type of instrument played. We can define a degree of proximity spectrum extended from winds to grand piano or electronic instruments, as it is shown in Figure 2.
Figure 2. Proximity spectrum. A possible non-exhaustive classification of musical instruments according to the proximity between the musician and the wave sound generated when he/she plays.
We have defined a relationship between the musician and the sound wave that is intermediated by the instruments and its different machineries involved. Let’s focus on how close this relationship is.
For example, in the case of winds, the contact with the sound wave is very direct due the origin of the pressure perturbation in the air is the blowing itself of the musician. Then, the signal, the blowing, will be “processed” by the instrument in order to give musical notes as output.
In the case of a string such as a violin, the contact is slightly weaker. Not considering the pizzicato technique, a violinist usually plays with a bow that transmits mechanical energy to the strings. She/he uses her/his left-hand fingers to “turn on/off” the frequencies allowed in the string’s vibration. Later, the movement of the string produces a perturbation in the surroundings air, the wave sound we heard.
What about the grand piano? Well, here there is a complex mechanism, a keyboard and the rest of the execution machinery including hammers, jacks, balances, dampers, etc. Only the keyboard is in direct contact with the pianist’s fingers. The rest is hidden as the inner parts of the instrument that will transmit the information in order to control the piano strings’ vibrations. The action mechanism of a grand piano is shown in Figure 3.
Figure 3. Action mechanism of a grand piano. We can think of it as an interface that extends from the key that the pianist plays (on the right) to the string that will be struck by the hammer (on the left).
Little friends, when we play musical instruments, we are in presence of interfaces that mediate between the musician and the wave sounds. And here comes a trivial question: do we play music when, for example, we play a grand piano? Of course, we do! Now, dear lector, I invite you to slightly change the focus of the question and discuss what we are interested in: is annealing quantum computing?
What are we playing when we play an annealer?
Annealing covers a set of techniques including simulated annealing, digital annealing, quantum annealing and even more sophisticated approaches such as quantum simulated annealing. Here we will discuss quantum annealing, a technique that runs on a quantum hardware called annealer exploiting the quantum tunneling effect. You can consult the article “The QPath approach for Quantum Annealing” for further details.
The apparent controversy about considering quantum annealing as quantum computing is related with what people usually argue. They say: “Hey, why it is so easy programming an annealer? It is just coding a matrix”, “we are programming neither the phases or the amplitudes of the qubits, so this is not quantum computing!”, “we do not need to know anything about quantum computing, all here is classical!”, “where are the qubits? We never deal with them!”.
Is programming an annealer easy? Yes, it is, always we only consider the relative simplicity of the code implementation. However, the codification of a computational problem to resolve into an interaction matrix could actually be a real headache.To better understand what I have in mind when making this statement, I suggest that you take a look at the paper “Ising formulations of many NP problems”.
Where are the qubits? All here is classical? The qubits are hidden, it is true. The annealer as device is in charge of the control of the superposition and entanglement to promote the quantum tunneling effect. But you would not say that the piano as an instrument does not play music because the pianist’s fingers are in contactless with the strings that promote the wave sound generation. Moreover, you would not say that a digital synthesize used in a rock or jazz band does not play music. The last case, the synthesize, can be thought as the musical counterpart of the digital annealer, a classical device that emulates quantum hardware behavior paying a high computational cost.
Programming a quantum annealer is quantum computing. Moreover, is the most promising area of quantum computing because the scalability in the number of qubits and the potential real life problems this technology could resolve. Last but not least, we can reuse all the mathematics and statistical physics developed for optimization in the codification of the interaction matrix and the postprocessing of the outputs. Dear friends, when we program an annealer we are playing quantum.
The QPath® annealer compositor
Let me insist on discussing how easy is programming an annealer. A plausible metric could be the number of Python for loops required to construct the interaction matrix. Of course, it is not difficult to code all the interactions included in the Hamiltonian of the computational problem using N loops, being N the rank of the tensors used as variables for our problem. But what is hard to do is the previous step, I mean, the mathematical expansion of the squared expressions that could appear in the Hamiltonian. Once you have developed your interaction model, you write down it as squared penalties which have to be expressed in quadratic, linear and offset terms to match the inputs needed by the annealer.
Up to now, a few libraries like PyQUBO were developed to tackle this issue. However, the proposal of an annealer compositor by QPath® goes further and offers a graphical interface that avoids the requirement of expanding the squared mathematical expression in order to construct the QUBO matrix. Figure 4 shows a snapshot of this tool. You don’t have to spend time with math first and, then, with Python for loops.
Figure 4. QPATH annealer compositor. A graphical friendly interface to construct the input data for an annealer device.
The QPath annealear compositor do everything for you! Is like our piano mechanisms for carrying out computation with quantum annealing. You are invited to try it soon in QuantumPath®.
 Murina, E. The
QPath approach for Quantum Annealing – QuantumPath, The QuantumPath Blog. 1 de
February de 2021. https://www.quantumpath.es/2021/02/01/the-world-of-quantum-annealing-according-to-qpath/
 Lucas, A. Ising
formulations of many NP problems. 24 Jan 2014. https://arxiv.org/abs/1302.5843v3