Have you ever heard a joke like “Once Schrodinger’s cat walks into a bar and doesn’t.” and then wondered what does it mean? Let’s briefly talk about Schrodinger’s cat experiment, it’s a thought experiment where you put a cat in an aluminium box and place cat food mixed with poison in it. Now close the box. What would happen to the cat? Cat might eat the food and die because of poisoning or cat may not be hungry and would still be alive. Unless we open the box we would not come to know anything about the cat, so till the box is closed the cat is dead and alive at the same time.
Before we begin with quantum computing, let’s first quickly talk about need of quantum computing. As Moore’s law states, the number of transistors on a CPU doubles after every 2 years, and to get more speed we need more transistors. Given the current situation, the size of transistors has reduced so small, that it’s difficult to reduce it further. As we are advancing, we are generating more and more data, which creates exponential number of possibilities and we need more computing power to process and analyse this data. Also, there exists certain problems like combinatorial ones which are difficult to solve given our classical computing algorithms. Even using super computer, we can’t be sure when the program will terminate and also we won’t be able to tell whether it will terminate or not.
The way we have bits in classical computers, similarly quantum computers have qubits, which are also known as Quantum Bits. These qubits are implemented using artificial atoms kept at very low temperature. At such a small size, the atoms do not follow the laws of our day today science. Their behaviour is governed by laws of quantum physics. Let’s briefly go through the principles.
As we discussed above, We have qubits the way we have bits in classical computing, similarly we have quantum gates which can be used to operate on these qubits. We use vectors to represent qubits since they hold multiple states, hence we need matrices to operate on these vectors. Examples of such gates can be Pauli’s X gate, Pauli’s Y gate, Hadamard gate. The explanation of these gates is beyond the scope of this article.
So, Are we expecting that soon these quantum computers would replace our normal computers and our mobiles would be running on quantum CPU’s? The answer is No. Quantum computers help us solving combinatorial problems, and they won’t be able to run programs like operating systems or word processors. We would still be using our classical computers, which would interact with quantum computers to encode and decode the responses. Also, as of now IBM and Dwave have made there quantum computers available as “Hardware as service” basis where users can use these machines by using API’s.
Then have we solved the mystery of quantum computers? Not completely, because we haven’t yet figured out the ways to deal with error generated with these quantum systems and most of the algorithms are proven on paper and not been implemented fully. But we have many of the quantum computers ready and there are certain languages like Q, QCL which can be used to write code for quantum computers. Q#, Cirq are SDK’s which can also be able to simulate quantum system on our classical computers.
Thanks for reading. Your feedback is highly appreciated.