What is quantum computing?

There is a lot of hype in the IT space regarding quantum computing. Just what is it and what can it do? Although it is highly unlikely that quantum computing will replace classical computers anytime soon, the one big advantage that quantum computing has is its parallelism. Using quantum algorithms, it is possible to run complicated calculations that would be to time consuming for classical computers, i.e., millions to billions of years. Because of its potential to solve highly complex calculations in a fraction of the time it would take a classical computer, it would be adept at assisting in complicated scientific calculations, cryptography and help design new pharmaceutical drugs. It would also help scientists increase their knowledge of the quantum nature of reality. A great Youtube playlist that explains even more can be found here, https://www.youtube.com/watch?v=sjINVV2xOow. So what goes into making quantum computing different than classical computing?

Qubit
This base component of quantum computing is the method to record data. Similar to a classical bit; however, it can take advantage of specific rules in nature that allow it to be exponentially faster than a classical computer, with complicated calculations. With existing technology, it is possible to manipulate the spin of an electron (or even an atom) using specific frequencies. Quantum computing involves putting a qubit into an up spin (0), down spin (1) or a superposition of both spins. Additionally, it is possible to entangle two or more qubits, which is where the exponential advantage over a classical computer really shines. A qubit is represented via a spherical shape, as shown here

Entanglement
This is a process that involves taking two or more qubits and entangling them. This is where quantum computing excels, exponentially. One example of how this is done is using a CNOT operator, which places it in a ‘bell state’. The advantage can be illustrated via the following. 50 qubits would be represented in classical bits as 2^50, which is equal to about 1,000, 1 terabyte drives. 70 qubits would be represented as 2^70, which would be represented as 1 zettabyte. To put that into perspective, in 2018 the IDC estimated that all the data in the world is roughly 33 zettabytes and would reach 175 zettabytes in 2025. So its easy to see how quickly things scale. To maintain these states requires special computer designs that help protect the qubits from outside ‘noise’, for example heat. To do this, such a computer is contained within a super chilled environment, colder than the vacuum of space at -460 degrees F, about .02 degrees from absolute zero.

Quantum Algorithms
Algorithms are a method of preforming some task over and over again to get to a desired result. In general computer science, there are several. In order for quantum computing to be useful, there must be algorithms that are able to manipulate data. Some of them are:

Grover’s search
Quantum count
Deutsch – Joza algorithm

And there are many more that are based on Fourier transforms, amplitude magnification and others (https://en.wikipedia.org/wiki/Quantum_algorithm). These can be used to take advantage of the nature of a quantum computer to perform useful functions.