Quantum computers have been growing in popularity in recent years as they promise vast improvements in the processing power and potential for crunching down complex problems traditional computers are not able to solve. Companies are already experimenting with different applications of quantum machines. For example, there are several projects that focus on the simulation of new chemical bonds: for both the development of more efficient electric vehicle batteries or the discovery of new pharmaceuticals drugs. Given the quantum computer’s ability to go quickly through multiple solutions, Airbus and Volkswagen have started exploring ways to use it for route optimization, and Spanish bank BBVA believes quantum machine learning will bring significant advances to the field of artificial intelligence.
Yet, there are multiple challenges to be overcome before the young quantum computing field lives up to its potential. One such barrier that until now the existing quantum programming languages have worked at a very low abstraction level, thereby making the job of quantum programmers quite difficult and error-prone.
Well, the latest big innovation in this domain comes after a major contribution from a Bulgarian computer scientist – Prof. Dr. Martin Vechev along with three other researchers from ETH Zurich has developed the first high-level quantum programming language – Silq. Its introduction can make the understanding and writing of quantum code much easier than currently possible.
Earlier in 2020, Vechev and another Bulgarian researcher at ETH Zurich, Dr. Petar Tsankov, sold their blockchain security spin-off startup to PwC. They are both part of the Secure, Reliable, and Intelligent Systems Lab (SRI) research group at the Swiss technology university and have just announced their new academia-initiated breakthrough.
“Originally, we did not set out to create a quantum language—our goal was to analyze quantum algorithms. Instead, we realized that existing quantum languages cannot express quantum algorithms at a convenient level of abstraction, and decided to focus our efforts on this problem instead. Since then, we have worked on Silq for almost two years, and are proud of the result we are presenting now,” shares Vechev.
The need and the impact
One of the main differences between quantum and classical programming languages is that with the latter discarding temporary values typically requires no action. A computer calculates tasks in several steps, which creates intermediate results a.k.a. temporary values. In order to relieve the memory, classical computers would automatically erase these values.
However, with quantum computers, this ‘garbage disposal’ has been more difficult due to the physical phenomenon of quantum entanglement: the values that were previously calculated can interact with the current ones and interfere with the correct calculations.
In a nutshell, Silq has become the first quantum language that addresses this challenge by supporting safe automatic uncomputation. Among the biggest practical impacts of the new language is that it bridges the gap between classical and quantum programming, thus enabling more quantum programmers to enter the field. In addition, ETH’s published research paper states that Silq programs are not only more intuitive to write but also significantly shorter than equivalent programs in other quantum languages (on average, -46% for Q# and -38% for Quipper).
“Silq is the first quantum programming language that is not designed primarily around the construction and functionality of the hardware, but on the mindset of the programmers when they want to solve a problem – without requiring them to understand every detail of the computer architecture and implementation,” says Benjamin Bichsel, a doctoral student in Vechev’s group who has supervised the development of Silq.
For the moment, Silq is still considered a research initiative that is yet to run on any existing quantum hardware platforms. The project, which is publicly available on GitHub, however, looks promising for the advancement of various tools central to the programming quantum computers, a key step in the broader adoption of the technology.