Recently, in a previous and recent FromLinux article called «Microsoft releases its Q # compiler and quantum simulators»We talked a bit about the«Quantum computing«. But What is Quantum Computing? What benefits and advances does it bring? What kind of Hardware and Software do you use? and the most important for us: Are there advances or contributions of Free Software in the field of Quantum Computing?
In this publication we will briefly address all these questions so that as with other new technologies, such as supercomputing, artificial intelligence, big data, blockchain, 5G technology, among others, we can go knowing, deepening and appropriating the knowledge about them.
Quantum computing it is for large private corporations and world powers one of the main technologies that will change the "rules of the game" of the world as we know it. That is to say, will be one of the next great innovations in the area of computing during this century, despite its prohibitive cost and lack of accessibility.
For now, researchers, academic institutions, private organizations and governments work and invest significant amounts of technological and financial resources to effectively and efficiently use quantum physics on new computers to perform calculations much faster than with traditional computing computers.
Table of Contents
What is quantum computing?
Quantum Computing is one that takes advantage of the expected quantum characteristics of the particlesespecially overlapping and entanglement, to run processes and perform calculations at incredible speeds over traditional systems. It is still a developing technology whose flourishing is in full swing.
Along with applying the laws of quantum mechanics to process information to achieve higher speeds, we also you get the ability to solve difficult problems that traditional computing does not reach. And finally, the computers that use this technology store much more information than the classic ones, that is, have the potential to work (process) large amounts of calculations, by running it in parallel and in seconds.
How do quantum computers work?
The current and classic computers use a sequence of binary bits. Each bit used is always in one of the two definitive known states, zero (0) or one (1). These act as on and off switches to control the functions of the computer.
In contrast, a quantum computer uses quantum bits or qubits. Which, each of them can represent both a zero (0) and a one (1) simultaneously. This allows that these can support data units that at the same time can exist in more than one state. This characteristic is an existing limitation in the current computers of the era of traditional computing that uses binary systems.
What is quantum hardware like?
Quantum computers cannot reuse almost any of the HW currently used in classical computers. Since these mainly focus on the flow of electrons through superconducting wires that are cooled to extreme temperatures. Therefore, their cooling requires a combination of supercold gases, like helium-3, which is an isotope of helium that is tremendously difficult to obtain.
Quantum computers are built for now under this principle of cryogenics or super-cooling, but progress continues in more advanced and futuristic alternatives such as systems based on electromagnetic fields and laser control that could solve the lack of components suffered by the discipline.
Also countries like USA, through companies such as IBM, Google and Microsoft, is well advanced in the development of its own quantum computers. And China, through companies like Alibaba and Baidu, it is not far behind. Russia and Europe are still in R&D plans.
What quantum software is there today?
At the commercial level, the "Quantum Dev Kit" (Quantum Development Kit) from Microsoft, which is proprietary and closed software. Which can also be accessed through your Microsoft Quantum Network, which is nothing more than a network formed by a coalition of MS partners to achieve knowledge sharing and collaboration with the greatest innovators in quantum computing.
Other quantum software from private companies, but released as Free Software, is QUISKIT (Quantum Information Science Kit). QUISKIT is an Apache Licensed Free Software project created by IBM. QISKIT allows a programmatic interaction with the quantum processor and IBM simulators using Python code that interacts with the quantum system through an intermediate representation language called OPENQASM.
This quantum Free Software called QUISKIT was born in 2017, when IBM converted its project launched in 2016, called "Quantum Experience”, Through which it made a 5-qubit quantum processor available to everyone through its own cloud.
For now QUISKIT is currently composed of a:
- FIRE: A Python wrapper on the Quantum Experience HTTP API that allows you to connect and execute code OPENQASM.
- SDKs: A development kit for the generation of circuits and that allows to use the QISKIT API to access the hardware of the Quantum Experience and the simulators.
- Language: A set of specifications, examples, documentation and tools for the intermediate representation of OPENQASM.
There are probably many more less known, but currently QUISKIT sets the standard at the quantum Free Software level. And that it has a API in Python it will allow programmers around the world, especially those in the field of Free Software, to start experimenting and working with the quantum processor available in their cloud.
Quantum computing today is an excellent research and development (R&D) opportunity both for people (mathematicians, physicists, computer scientists and experts) as well as for public and private organizations, in the area of computer science. Although it is currently in its infancy, this new branch of knowledge and technology will see its potential unfold in the years to come. although to get to see it on our desktop computers will take many more years after its commercial development.
But surely in the area of Quantum Software Development both private and free will surely advance much faster, and surely Free Software will take advantage in this new area.