A brief overview of quantum computing

Quantum computing seems to be on the rise and is certainly trending upwards. With companies like IBM, Google and very recently Microsoft, having successfully built their own quantum computers and make these tools available for users to experiment with them. One such online offering is the IBM quantum experience, which teaches the basics and you can even push your experiments to their quantum machines to be run. Microsoft is integrating quantum computing into their Azure cloud computing eco-system. Currently, quantum computing is still in its infancy, however, there is certainly potential for future uses of these systems, as certainly Microsoft, IBM and Google think so. Just what is quantum computing and what could some of its future applications be?

Quantum computing
Classical machines make use of the science of quantum mechanics, however, the main difference with quantum computers is that they make specific use of certain quantum attributes for their calculations. Things like super position, entanglement, qbits and qbit logic gates. Using these principals of quantum physics, where a classical computer bit can be either a 0 or a 1, a qbit (quantum bit) can exist in all entangled states at once. It can take the state of |0>, |1> or any combination of both, hence superposition. This works through some of the mathematics of quantum physics (quantum mechanics), where one would find that although a classical bit is a ‘1’ or a ‘0’, qbits and gates are represented using ‘bra-ket’ notation and linear algebra:

There are several gates that are used that also change the state of qbits, similar to logic gates from classical computing, for example, a CNOT (controlled-x gate):

More on gates, qbits and quantum algorithms, as well as some walkthroughs using Qiskit (from IBM) and Q# (from Microsoft) will be released in future articles. In addition to the math and non intuitive thinking that is required, the physical machine itself is different than your regular laptop or PC. A qbit has to be isolated from external noise or else it will go through a process called Decoherence, which is the loss of data due to environmental ‘noise’. A refrigeration process called dilution refrigeration is used (more about that here, https://en.wikipedia.org/wiki/Dilution_refrigerator
). You can see that by checking this page, https://www.ibm.com/quantum-computing/learn/what-is-quantum-computing/ on the IBM website, that a quantum computer has very special needs in its construction.

What are quantum computers good for?
Currently, they are primarily useful in solving complex problems in science and analysis. One day, quantum computation will become much more common and will increasingly be used in various scientific and medical research as well as solving problems that would take a normal super computer thousands of years to solve (read about Googles claim here). Another example of this would be protein folding simulations. To attempt to compute all of the possible folds of amino acids in even a simple protein could take a super computer billions of years to complete, however, a quantum computer with sufficient qbits could accomplish this within more reasonable timeframes, minutes to hours (more on that here).

Interesting articles to consider:
Research article related to Google’s quantum computer – https://www.nature.com/articles/s41586-019-1666-5#Sec4

IBM quantum experience website – https://quantum-computing.ibm.com/

Microsoft on quantum computing in the cloud – https://www.wired.com/story/microsoft-taking-quantum-computers-cloud/

The Microsoft quantum development kit – https://www.microsoft.com/en-us/quantum/development-kit