# Quantum Computing - An Untouched Realm?

**
shubhayan saha (~ShubhayanS)
** |
** **

**Description:**

**Quantum Computing - An Untouched Realm?**

**Submitted by**

Shubhayan Saha, Arya S Bandopadhyay, Soumya Sinha

**Description**

Quantum Computing is the art of using all the possibilities that the laws of quantum mechanics give us to solve computational problems. Conventional, or Classical computers (like the one used to build this document) only use a small subset of these possibilities. In essence, they compute in the same way that people compute by hand. There are many results about the wonderful things we would be able to do if only we had a large enough quantum computer. The most important of these is probably that we would be able to perform simulations of quantum mechanical processes in physics, chemistry and biology, which will never come within the range of classical computers. In classical computing, uncertainty is unacceptable. With quantum computers, however, is an asset. But, Quantum computers shine when solving involves number or data crunching with huge amounts of inputs.

To perform Quantum Computing we have Qiskit. It is an open-source python based quantum computing software development framework. It provides tools for creating and manipulating quantum programs and running them on prototype quantum devices on IBM Q Experience or on simulators on a local computer. It can also be interpreted as SDK for Quantum Computing. Qiskit can help you work with Quantum Computing with the comfort of our own laptop.

**Audience**

This is a beginner-level tutorial geared toward those who want to learn and get started with programming on Quantum Computers. This tutorial also assumes prior knowledge of basic Python and some experience in general programming language concepts.

**Introduction - What is Quantum Computing?****The Language of Quantum Computing with Python****Basic Fundamentals for Quantum Computing****Writing first Program on Quantum - "Hello World" Program****Future Works**

**At the end of this talk, the audience will gain a headstart on getting started with Quantum Computing which is growing rapidly in the field of technology.**

**Duration**

This talk duration is of **25 mins** accompanied by a Q and A session.

**Introduction (3 min)**

Let us dive into the quantum world. While some of you may think the quantum world is too far out but we are going to prove to you otherwise how every decision we take into our life is based on quantum paradoxes and situations. We are going to make the topic entertaining and easier to understand and we are sure by the end of this 30 mins you would have a new sense and understanding of what you thought about quantum.

The thing that differentiates scientists is a purely artistic ability to discern what is a good idea, what is a beautiful idea, what is worth spending time on and most importantly what is the problem that is sufficiently interesting yet difficult, that hasnot been solved but time for solving has to come now

So, I would like to tell you about the beautiful idea whose time for solving has come now and that is the possibility to create quantum computers. If we start to look at how we created the basis of information revolution i.e looking at an old punch card and DNA and both carry something in common that is the information but that was too fundamental an approach to physics. Two Scientists working at IBM questioned at that time if there was a fundamental limit to how efficient number crunching/computing can be and the answer came out to be no. Apparently it turns out to be number crunching can be thermodynamically reversible.

**What's it about? (1min)**

- Physical Properties are
**discrete**- There is minimum precision with which we can know the values of certain variables and they are determined by Planck's Constant. - We can only
**predict probabilities**of future events - probability certain variables can take certain values. - Properties manifest through
**interaction**- its not possible to tell what properties of a system are whenever we are not interacting with a system or measuring it.

These led to an exploration of what is the relationship between physics and information. A famous conference organised between IBM research and MIT and speaker was Richard P Fiynman and he proposed that if we want to simulate nature we should build a Quantum Computer.

**The Language of Quantum Computing with Python (2min)**

IBM was the first people to lead its way into Quantum Realm experience with IBM Q and later Qiskit. This allowed people to have access for anyone with internet to Noisy Intermediate Scale Quantum (NISQ) with 5,10 and even 14 Qubits Machines. To use these machines we need to speak in their language with Qiskit. There are many open sourced Python based frameworks for programming quantum like QSharp, QCl, QASM, etc but the main reason Qiskit is preferred because it's easy for beginners and we can choose our own Quantum Computers for testing our algorithms. Qiskit is also an open-source python-based framework for quantum computing. It can also be interpreted as SDK for Quantum Computing. Qiskit allows anyone to experiment with Quantum Computations on a simulator or one of IBM Q machines. Since it's open-sourced anyone can contribute to its development.

Qiskit is based on four components

**Terra**- Foundation of the whole software that allows us to compile circuits and interact with backends.**Ignis**- It is about Noise and Errors**Aqua**- It focuses on Algorithms concerning various applications like Optimizations, Chemistry, and even Artificial Intelligence.**Aer**- It hosts several high-performance simulators

With Qiskit, Quantum can have endless possibilities and anybody can become a Quantum Scientist. Once you learn how to program quantum computing using Qiskit then we can focus on the application areas some of which are:

**Quantum Chemistry,**for example calculating the bond length of molecules.**Development of Quantum Algorithms,**for example Simon's Algorithm.**Games**based on Quantum Computing.

**Basic Fundamentals for Quantum Computing (2min)**

In classical computing, uncertainty is unacceptable. With quantum computers, however, it's an asset. But, Quantum computers shine when solving involves number or data crunching with huge amounts of inputs. They are designed to tackle complex problems that would take supercomputers from days to being unable to solve. Quantum computers can simulate the universe's subatomic particles by speaking the same language as an electron or proton. Some of the basic terms are required for getting started into quantum computing.

**Qubits -**- In quantum computing, a qubit or quantum bit is the basic unit of quantum information—the quantum version of the classical binary bit physically realized with a two-state device.**A qubit is a two-state quantum-mechanical system, one of the simplest quantum systems displaying the peculiarity of quantum mechanics.****Superposition**- is the ability of a quantum system to be in multiple states simultaneously.**Entanglement**- as a quantum property is taking objects and connecting them by permanently entangling them together.**Quantum Circuits**-**It**is a model for**quantum computation**in which a**computation**is a sequence of**quantum**gates, which are reversible transformations on a**quantum**mechanical analog of an n-bit register.- _
**Gates**_ - They are the building blocks of**quantum**circuits, like classical logic**gates**are for conventional digital circuits.

When quantum computers provide an answer, it is in the form of a probability. When the question is repeated, the answer changes. The more times the question is repeated, the closer the response comes to the theoretical percentage of the correct answer. This requires that the code be designed so that the qubits are in the correct state for a given problem. Quantum code uses wave-like properties that cancel out wrong answers and amplify the correct ones.

**Writing our first Program on Quantum - Hello World Program (15min)**

Some prerequisites before starting with writing the first "Hello World" Program is a PC with Qiskit Installed and an access token from IBM Quantum Experience, the API token which allows people to run codes on quantum computers To write our code on the quantum computer we will first debug code on our local machine and then send it to a quantum device. The main idea behind this Hello World Program in Quantum Computing is to implement basic gates on quantum circuits (example - Hadamard gate, Clifford gate, etc) similar to classical computing.

**Getting Started**

Since QISKIT is based on Python, we need Python 3 installed in the machine and then we need to install QISKIT Library. This can be done by

Once the qiskit is installed, the next step is to fetch the API Token by going to **https://quantum-computing.ibm.com/**and creating a new account so that we can access IBM Q computers. The API Token can be accessed by going to the User Profile Section.

So, once the things are configured we can run simulations, build circuits, and also deploy in a lab at IBM and get the results.

**Coding our First Program on IBMQ**

Traditionally when we learn the first language, the first application we write is Hello World Application, and the purpose of this is to check if we have installed everything correctly and second to walk through what a regular application workflow looks like from running to execution.

**Stimulating a Quantum Circuit on Classical Computer**

**Stimulating a Quantum Circuit on IBMQ Computer**

**Output - Difference in Probabilistic Values of** **[Stimulated vs Quantum] Computers**

**Inference -** The difference between a simulator and code that was run on a real quantum machine is because the simulator simulates a perfect Quantum Device but a Real Quantum Device is susceptible to small Quantum Errors although these errors can be reduced in future with increase in Technology.

**Future Works (2min)**

We can run various Algorithms on IBM Q Computer some of which include Bernstein Vazirani algorithm which can be used to predict numbers in a box in one shot, Shor's Algorithm to find factors of a large number and many more.

As the technology is developing, quantum computing could lead to significant advances in numerous fields, from chemistry and materials science to nuclear physics and machine learning. The Applications include **Machine learning, Super-catalyst design, Medicine, Chemistry, etc** the possibilities are endless. The incredible field of quantum physics is still young, and as with any technology in its infancy, there are likely many innovative ways to use it that haven't been conceived. Prepare for the future, it relies on cloud and quantum computing and as technology is improving we might see AI-powered by Quantum Computers and Quantum, Self Driving Cars, etc. Quantum Computers are getting more and more efficient and being researched upon as it is growing. Quantum Computing is being used in industries like Proteinqure, Volkswagen, JP Morgan, etc.

**Thank You!**

**Prerequisites:**

This is a beginner-level tutorial geared toward those who want to learn and get started with programming on Quantum Computers. This tutorial also assumes prior knowledge of basic Python and some experience in general programming language concepts.

**Content URLs:**

IBM Qiskit - https://qiskit.org/ Accessing Quantum Computer - https://quantum-computing.ibm.com/ Full working code on - https://colab.research.google.com/drive/1QkdH0sWA_1KsqsfQuxZ5GpC9c0zkVXVo#scrollTo=pIcB9b5C9Id0

**Speaker Info:**

Shubhayan Saha - B.Tech, Final year Student, a full-Stack LAMP and AI Developer with Interest in AI and Quantum Computing. My work experiences include working with **Projects from UC Davis, Queensland University, and even IIT Kgp**. I am an intern in **Gaius Networks, an NYU incubated startup** focussed on connecting hyperlocal markets in collaboration with the Government of Maharastra and AIIMS. I have also been working recently with Samsung along with the **Government of UP and in the field of AI with National Aerospace Labs, Bangalore and CSIR.** I have attended Global Summer School on Quantum Computing as I aim to integrate AI and Quantum Computing,

Arya S Bandopadhyay - B.Tech, Final year Student. I am an AI Full Stack Developer by Profession currently interning in **RedFox Labs Vietnam, on Data Analytics** and Blockchain, as well as **Gaius Networks, an NYU incubated Startup** focussed on connecting hyperlocal markets together. I also do freelancing for firms on large scale projects as well as small hobby projects. Keen interest in AI and Natural Language Processing to be Precise.

Soumya Sinha - B.Tech, Final year Student, I interned at **NUS, Singapore**, and worked on a project of a Movie Recommender System.
I also made a project under **HPE (Hewlett Packard Enterprise)** mentors using data analytics as well. Currently an Intern in Unschool, one of the leading startups in Asia incubated by T-Hub. My work interests lie in the field of Data Analytics, Machine Learning, Deep Learning, and AI. Currently working with **Queensland University and Government of Singapore** on a Research-Based Project on Mental Health.

**Speaker Links:**

Shubhayan

shubhayans.ml , https://github.com/ShubhayanS/Multiclass-Diabetic-Retinopathy-Detection, https://github.com/ShubhayanS/Product-Keyword-Extraction-with-NLP , https://github.com/ShubhayanS , https://medium.com/@shubhayan1998

Arya - aryasekharbandopadhyay.live, - ovonts.com , https://github.com/aryasbandopadhyay

Soumya Sinha https://github.com/Soumyasinha29/NUS_Movie-Recommender https://github.com/Soumyasinha29/Pedestrain-detection , https://github.com/Soumyasinha29/HPE_Wholeasale-Customer-Data-Analysis

" surakshacovid19.tech " - Our initiative during COVID we were featured in new channels for 1 week straight and 1 month in newspapers in all National news. Plus various Startups and MnC's companies like Google, Accenture, McZone, etc congratulated us for the amazing work we were doing. We had been also featured by our college and clubs and congratulated by MLA of Rajasthan and various Politicians.