# Quantum Computing using Python

## What is Quantum Computing?

Quantum Computers or Quantum Computing machines are the small machines that perform basic computations that are based on different properties of quantum physics, classical computers, and many more which include a wide variety of gadgets like smartphones, laptops convert the information in binary which are 0’s and 1’s (bits). In Quantum computers each basic unit of memory is a quantum bit or qubit.

## What is Qubit?

A qubit or a quantum bit is derived from a unit of a memory which is a basic unit of quantum information. It is a quantum version of the classical binary bit which physically realized in two different states.

To understand further let’s see a quick example Suppose let’s consider a mobile phone. Let it be a modern smartphone, knows where you are on the planet, all the time often to within meters.

That’s very useful if you are trying to find your way in some unfamiliar part of town, but if you pause for a moment to think about this, it’s actually a bit creepy how does your phone do?

## Global Position System

The answer is of course by a GPS (Global Position System). At any time there are between 24 to 34 working GPS satellites in the orbit, with an altitude of 20,000 KM and if your phone receives signals from at least 4 of them, it can work out where it is. That’s because the satellite knows where they will tell your mobile phone. The time delay in receiving a message from the satellite to phone determines how far away the satellite is from your phone which means distance is time delay times the speed of light. Knowing the distance of four satellites then allows your phone to triangulate and establish where it is. However, light travels about 30cm in one nanosecond, so in order to get your location down to within a meter, the error in the time delay can only be few nanoseconds. So, the precise normal clocks are not sufficient we need to use much more precise atomic clocks. So, to monitor how atomic clock takes transitions of an atom we need quantum mechanics so, you know where you are on the planet every time you check your phone’s map because of quantum mechanics which is a part of quantum computing.

## Using Transisters

Another way in which quantum mechanics impact our life is via transistors. These are tiny devices a few tense of nanometers which are typically made from silicon, gallium, or some other semiconducting material, transistors are used as very fast current switches in microchips and they can be made to perform logic operations. Very large computations can be performed in seconds on a chip consisting of transistors. A typical mobile phone chip has several billion transistors.

## What is a Transister?

A semiconductor transistor is made up of two types of semi conducting material called p-type and n-type. The type indicates whether the current in the semiconductor is carried by electrons (n-type) or holes (p-type).  A hole are where an electron is supposed to sit to fill the shell, but is missing instead, in a transistor we can either have n type between the two layers of p-type or the other way around gives us npn or pnp types of transistors. Depending on the voltage that we apply to the middle layer we can open or close the flow of current between the outer layers.

## What is a Bit?

Even though the computer operates on the principle of quantum mechanics, the actual logic carried out on the computers is zeros and ones. The unit of information in computers, the “bit”, is an abstract idea that represents a physical system that can be in two distinct states. For example, a light bulb can be on or off, wire in a computer can carry a current, a capacitor can carry a charge or no charge. In every case, the system is either on or off we can apply logic to these states as follows if we have three light bulbs A, B&C and set up a circuit such that c is on whenever both A& B are on, then the state of light bulb C is the logical value of A&B.

So, in the previous example, let’s return to the atomic transitions, every transition has two states ground state and excited state. When we return an atom to the atomic clock then the transition takes place. We can also call these two states zero and one, giving us a tiny bit. But it gives us more, the atom can be in one of these two states and also in a quantum superposition of these two states. This is in fact how quantum mechanics allows us to calculate how the atom jumps between these states in an atomic clock.

Now we can see that at a fundamental quantum mechanical level, a bit is not just a system with two states that is labeled zero and one but also allows superpositions between zero and one. This gives us how to manipulate the information stored in the system and it turns out that computers built on quantum principles are more powerful than ordinary computers. To distinguish the fundamental quantum systems in this new type of computer, we call them quantum bits or qubits.

There are many ways in which we can construct qubits besides the atomic levels they are electronic spin qubits, photon polarization qubits, and superconducting qubits, and so on.

## How does Quantum computing work with python?

The operations which take place from one classical computing state to superposition state is just only one which mostly looks either a 0 or 1. The combination of information also is in the form of 0 and 1. It only takes two operations to create entanglement between two qubits.

IBM was the first company to put a first quantum computer on cloud extending the reach of technologies beyond the research laboratories. Nowadays there is a high scope of quantum developers in the real world, wondering if you, too, should get quantum ready? The short answer will be always YES!

## Quantum Computing Using Python

In quantum computing using python, developers mostly use Qiskit. Qiskit is an open-source Programming platform that uses python language. If you are aware of Python, then you’re on the right path to take advantage of superposition, entanglement, and interface in quantum programs.

For seasoned developers in the industry looking to explore the potential applications of quantum computing, the Qiskit element Aqua (algorithms for quantum computing applications) offers a library of algorithms for artificial intelligence, chemistry, finance, and optimization. For example, there are a number of finance-related tutorials to experiment with credit risk analysis, fixed income pricing, basket option pricing, and others.

The field of Quantum computing is developing more and more the above content was just a small part of quantum computing works with python.

This post is contributed by Syed Rizwan.