Our first experiments with Quantum Computing
The buzz of Quantum Computing is all around us for some time now. While scientists and tech companies are trying to validate Google’s claim of Quantum Supremacy, there have been endless efforts from Physicists, Material Scientists and Programmers to make quantum computing a reality. Be it IBM’s new 53 qubit quantum computer or Microsoft’s Topological Qubit, the tech industry giants are betting big on Quantum Computing and running dedicated quantum computing research departments to develop programmable quantum computers. All this in a hope to move to much more stable and less noisy quantum computers as compared to the current generation of NISQ (Noisy Intermediate Scale Quantum) processors.
While the geniuses are hard at work in making practical quantum computing a reality, we at Aethereus started our own quantum computing journey using IBM Quantum Computing and Qiskit framework. Coming from a classical computing background it took some time for us to get our heads around the quantum computing concepts starting from Qubit to superposition and entanglements.
After getting through the basics it was time to run some hands-on experiments on quantum computing and here’s how we went about it.
IBM Quantum Computing and Qiskit – IBM Q Experience helped us to get our basics right, with the online Circuit Composer and notebooks we were able to try out the circuits and visualize the results online.
We used IBM’s cloud based simulators and quantum processors to run our experiments and visualize the outputs. The online status of the processors with real time queue positioning and run results are great and were helpful in checking the queue and status of our runs.
There are different capacity backends to choose from depending upon the capacity required for the experiments and they range from 5-16 qubits quantum processors to 32 bit QASM simulator.
Qiskit to see our concepts in action. In our first attempt to create a quantum program we wanted to pick up something that was fun to implement and so we started with creating our first quantum emoticon from the community experiments. The result of the experiment was fascinating and the output image of the two overlapped emoticons was a clear visual demonstrating the quantum randomness. The quantum circuit of the experiment, its histogram plot and the final output was the below:
(a) – Quantum Circuit of the experiment
(b) – Histogram Plot of probabilities
(c) – Output quantum emoticon
The above image shows the output from a local quantum simulator, however the output from the online backend was much noisier.
For our next experiment we thought of going ahead with a more practical application of quantum computing and decided to build a Truly Random Password Generator based on the findings in the whitepaper published by Seidenberg School of CSIS, Pace University, Pleasantville, New York. The objective of the experiment was to explore the true random nature of quantum computing an demonstrate how the randomness of qubits can be used to generate password characters that are truly random in nature.
The quantum circuit of the experiment, its histogram plot and the final output was the below:
(d) – Quantum Circuit of the experiment
(e) – Histogram Plot of probabilities
(f) – Output random characters
The above image (f) demonstrates the output of the program in the form of random set of 10 characters generated by the quantum program for creation of a random password.
While our experiments just scratched the surface of quantum computing but the recent advancements like successful testing of qutrits and quantum entanglement of as high as 20 qubits may make practical quantum computing a reality much sooner than anticipated.