## Abstract

Quantum computing is a modern way of computing that is based on the science of quantum mechanics and its unbelievable phenomena. It is a beautiful combination of physics, mathematics, computer science and information theory. It provides high computational power, less energy consumption and exponential speed over classical computers by controlling the behavior of small physical objects i.e. microscopic particles like atoms, electrons, photons, etc. Here, we present an introduction to the fundamental concepts and some ideas of quantum computing. This paper starts with the origin of traditional computing and discusses all the improvements and transformations that have been done due to their limitations until now. Then it moves on to the basic working of quantum computing and the quantum properties it follows like superposition, entanglement and interference. To understand the full potentials and challenges of a practical quantum computer that can be launched commercially, the paper covers the architecture, hardware, software, design, types and algorithms that are specifically required by the quantum computers. It uncovers the capability of quantum computers that can impact our lives in various viewpoints like cyber security, traffic optimization, medicines, artificial intelligence and many more. At last, we concluded all the importance, advantages and disadvantages of quantum computers. Small-scale quantum computers are being developed recently. This development is heading towards a great future due to their high potential capabilities and advancements in ongoing research. Before focusing on the significances of a general-purpose quantum computer and exploring the power of the new arising technology, it is better to review the origin, potentials, and limitations of the existing traditional computing. This information helps us in understanding the possible challenges in developing exotic and competitive technology. It will also give us an insight into the ongoing progress in this field.

### Keywords

- quantum computing
- real-time systems
- program processors

## 1. History of computing

Evolution in one region of science and technology leads to the discovery of a new one. In less than a century, research and development of functional computing technologies have renovated science, technology, and nation massively. The first practical computer around the 20th century was not capable of doing mathematical computations, on its own. Practical devices need a solid physical implementation of theoretical concepts. Nowadays, computers are solving problems instantly and accurately provided the input is relevant, and a set of instructions given are favorable. It all started from World War II when Alan Turing created a real general-purpose computer with a storable program model and is known as the ‘Universal Turing Machine’. It was redesigned by Von Neumann and is now the most important architecture for almost every computer. The computers and their physical parts kept improving with time in terms of performance and their strengths. And gradually, the industry of computers became larger than the military department which initiated it. The advancement in control and understanding of humans over nature and physical systems has given us the latest electronic devices we are utilizing today [1].

## 2. A new kind of computing

Today’s computers are smaller, cheaper, faster, greatly efficient, and even more powerful as compared to early computers that used to be huge, costly, and more power-consuming. It becomes possible due to improvements in architecture, hardware components, and software running on them. Electronic circuits used in computers are getting smaller and smaller day by day. Transistors are small semiconductor devices that are used to amplify and also switch electric or electronic signals. They were used to be fabricated on a piece of silicon. The circuit was made by connecting these transistors together into a single silicon surface. The shape of circuits in an IC was printed together in all layers of silicon at the same time. This process takes the same amount of time even if the number of transistors in the circuit was increased. The cost of production of IC was decided by the size of silicon and not the number of transistors. This reduced the price of products due to which manufacturing and selling of IC increased and thus benefits and sales also. From the idea of connecting individual transistors to the collection of these transistors (Logic Gates) and finally, the collection of these Logic Gates used to get connected into a single integrated circuit (IC). Nowadays, a single IC can even integrate small computers onto it.

Gordon Moore, co-founder of Intel, in 1965, discovered that the number of transistors on a silicon microprocessor chip had made twice as much every year while the prices were reduced to half since their invention. This is known as Moore’s Law. Moore’s Law is considerable because it means that computers and their computing power get smaller and faster over time. Though this law is putting the brakes on now and consequently, the improvement in classical computers is not like before it used to be [2].

This leads to the idea of the smallest computer by reducing the size of the circuit up to the size of an atom. But then these circuits will not be able to act as a switch as electrons inside an atom can become invisible from one side of a barrier and appear on another side, i.e. they can exist in more than one place at the same time. This is due to the teleporting phenomena in quantum mechanics called “Quantum Tunneling”. It shows that the size of the circuits of the classical computer after 5–7 nanometers has reached their limit. The representation and processing of these computers can be illustrated by the law of classical physics that gives us an only deterministic justification of the Universe. But it fails to forecast all noticeable phenomena occurring in nature and this led to the discovery of quantum mechanics, the biggest changeover in physics. Thus, there is a need for new computing other than current classical computing to put its state into some physical information rather than a circuit. Since the quantum phenomena are bringing up more constraints on the design of the computers. It changes the basic building blocks of a computer that not only expects new type of hardware creation but also a new design, software, and layers of abstraction to facilitate the designers to create and exploit these systems even if their complexities scale over time. The design of the hardware components has to be governed by quantum properties [3].

**Quantum Computing** is a new kind of computing based on Quantum mechanics that deals with the physical world that is probabilistic and unpredictable in nature. Quantum mechanics being a more general model of physics than classical mechanics give rise to a more general model of computing- quantum computing that has more potential to solve problems that cannot be solved by classical ones. To store and manipulate the information, they use their own quantum bits also called ‘*Qubits*’ unlike other classical computers which are based on classical computing that uses binary bits 0 and 1 individually. The computers using such type of computing are known as ‘*Quantum Computers’*. In such small computers, circuits with transistors, logic gates, and Integrated Circuits are not possible. Hence, it uses the subatomic particles like atoms, electrons, photons, and ions as their bits along with their information of spins and states. They can be superposed and can give more combinations. Therefore, they can run in parallel using memory efficiently and hence is more powerful. Quantum computing is the only model that could disobey the Church-Turing thesis and thus quantum computers can perform exponentially faster than classical computers.

## 3. Need for quantum computers

Quantum computers can solve any computational problem that any classical computer can. According to the Church-Turing thesis, the converse is also true that classical computers can solve all the problems of quantum computers too. It means they provide no extra benefit over classical computers in terms of computability but there are some complex and impossible problems that cannot be solved by today’s conventional computers in a practical amount of time. It needs more computational power. Quantum computers can solve such problems in reasonably and exponentially lower time complexities, also known as “**Quantum Supremacy**” [4].

Peter Shor in 1993 showed that Quantum computers can help to solve these problems considerably more efficiently like in seconds without getting overheated. He developed algorithms for factoring large numbers quickly. Since their calculations are based on the probability of an atom’s state before it is actually known. These are having the potential to process data in an exponentially huge quantity. It also explains that a practical quantum computer could break the cryptographic secret codes. It can risk the security of encrypted data and communication. It can expose private and protected secret information. But the advantages of quantum computers are also kept in mind that is significantly more than its flaws. Hence, they are still needed and further research is going towards a brighter future.

## 4. Fundamentals of quantum computing

While designing the conventional computer, it was kept in mind that transistors’ performance especially when getting smaller, will be affected by noise if any type of quantum phenomenon takes place. They tried to avoid quantum phenomena completely for their circuits. But the quantum computer adapts a different technique instead of using classical bits and even works on the quantum phenomenon itself. It uses quantum bits that are analogous to classical bits and have two quantum states where it can be either 0 or 1 except it follows some quantum properties where it can have both values simultaneously leading to a concept of superposed bits.

## 5. Where the concept of bits came from?

Transistors are the fundamental construction blocks for an IC which are connected through wires in a circuit. They conduct electric signals between devices. The communication between transistors within an IC takes place through electric signals. The behavior of the signals is analog in nature. Therefore, their values are real numbers that change smoothly between 0 and 1. These electric signals can also interact with the environment resulting in noise. Therefore, a little change from 0 to 0.1 due to temperature or vibrations from the environment can drastically change the system’s behavior. There are two types of noise present in the environment. The first type of noise results from energy instabilities occurring suddenly within the object like temperature above absolute zero Kelvin. These are fundamental in nature. Other types of noise are the consequences of signal interactions. This type of noise could have corrected or designed. But neither of them got designed nor corrected or maybe left intentionally uncorrected at the hardware layer. They are systematic in nature [5].

To overcome these noises in analog circuits, the IC is built with transistors in such a way that it could work on digital signals (binary bits) instead of analog signals. These circuits are called ‘Logic Gates’. They perceive the electric signals containing values of real numbers as a binary digit or ‘bit’ of either 0 (low voltage) or 1 (high voltage). Registers are another type of Gate which stores a bit or the number of bits present in an input value to process further. Gates can remove noise from a signal by limiting the set of values a signal can hold. Constructing IC using logic gates rather than transistors simplifies the designing by creating a powerful circuit that is not sensitive to design and fabrication issues and facilitates abstraction to designers so that they can focus only on gate functions (Boolean functions) rather than circuit issues. Boolean functions are defined by the rules of Boolean algebra. They can use an automated design tool for mapping the required logic gates. A standard library containing a set of tested logic gates is integrated into the silicon chip design with the help of their manufacturing technology. Negligible error rates can be achieved using digital logic and standard libraries. This helps in making the design robust. Also, the data is encoded by adding some redundant bits in the memory using an error correction code. This code is checked at regular intervals to detect the error. It also helps in other traits of design like testing and debugging.

**Quantum Bit or Qubit** is the fundamental unit of quantum information that represents subatomic particles such as atoms, electrons, etc. as a computer’s memory while their control mechanisms work as a computer’s processor. It can take the value of 0, 1, or both simultaneously. It is a million times more powerful than today’s strongest supercomputers. Production and management of qubits are tremendous challenges in the field of engineering. They acquire both, digital as well as analog nature which gives the quantum computer their computational power. Their analog nature indicates that quantum gates have no noise limit and their digital nature provides a norm to recover from this serious weakness. Therefore, the approach of logic gates and abstractions created for classical computing is of no use in quantum computing. Quantum computing may adopt ideas only from classical computing. But this computing needs its own method to overcome the variations of processing and any type of noise. It also needs its own strategy to debug errors and handle defects in design.

Qubit has two quantum states similar to the classical binary states. The qubit can be in either state as well as in the superposed state of both states simultaneously. There is a representation of these quantum states also known as Dirac notation [6].

In this notation, the state label is kept between two symbols | and ⟩. Therefore, states are written as |0⟩ and |1⟩ which are literally having analog values and both are participating to give any value between 0 and 1 given that sum of probability of occurrence of each state must be 1. Thus any quantum bit wave function can be expressed as a two-state linear combination each with its own complex coefficient i.e. |w⟩ = x |0⟩ + y |1⟩ where x and y are coefficients of both the states. The probability of the state is directly proportional to the square of the magnitude of its coefficient. |x|^{2} is the probability of identifying the qubit state 0 and |y|^{2} is the probability of identifying the qubit state 1. These probabilities when summed up must give a total of 1 or say 100% mathematically, i.e. |x|^{2} + |y|^{2} = 1.

## 6. Properties of quantum computing

In quantum physics, the quantum object does not exist in an entirely determined state. It looks like a particle but behaves like a wave when not being observed. This dual nature of particles leads to interesting physical phenomena. The state of any quantum object is expressed as a sum of possible participating states or a wave-function. Such states are coherent due to the interference of all the participating states either in a constructive or a destructive manner. Observation of quantum objects when they interact with some larger physical system results in the extraction of information. Such observation of quantum objects is called quantum measurement. Measurement can also result in the loss of information by disrupting the quantum state. These are some of the properties of quantum objects. Quantum objects referred here are the qubits in the case of quantum computing. The progress of any quantum system is regulated by Schrodinger’s equation that tells us about the change in the wave-function of the system due to the energy environment. This environment is the system Hamiltonian which is a mathematical description of energies experiencing from all forces felt by all components of the system. To control any quantum system, there is a need to control this environment by isolating the system from the forces of the universe that cannot be controlled easily and by assigning energy within this isolated area only. A system cannot be completely isolated. However, energy and information exchanges can be minimized. This interaction with the outside environment can lead to loss of coherence and can result in “Decoherence” [7].

The properties are the conceptual rules and mathematical manifestations that describe the behavior of the particles. Quantum computers use three fundamental properties of quantum mechanics to store, represent, and perform operations on data in such a way so that it can compute exponentially faster than any classical computer. The three properties are given as follows [8]:

Superposition

Superposition in quantum mechanics states that any two quantum states can be summed up (superposed) resulting in another valid quantum state. It is a fundamental principle of quantum mechanics. Oppositely we can say that any quantum state is the sum of two or more than two other unique states.

Superposition in quantum computing refers to the ability of a quantum system where quantum particle or qubit can exist in two different positions or say, in multiple states at the same time. It provides high-speed parallel processing in an unbelievable way and is very different from their classical equivalents that have binary constraints. The quantum computer system holds the information that exists in two states simultaneously. Qubits are brought into a superposition by influencing them with the help of lasers so that it can simultaneously store 0 and 1 at the same time. In classical computing, if there are 2 bits, the total possible values after combining we get are 4, out of which only 1 value is possible at any instant. But on the other hand, if there are 2 qubits in the quantum computer. The total possible values after combination are 4 and all are possible at once. It looks like unthinkable because it is not like gravity that can be proved easily just by looking at the falling of an apple. The laws of classical physics fail here because superposition only exists in the territory of quantum particles.

For example, when solving a puzzle-like maze, a quantum particle can decide to take the various paths at the same time using superposition. This process matches the function of the parallel computer. Due to this property, the qubit is able to navigate the maze in exponentially less time than a classical bit

Entanglement

Entanglement in quantum mechanics is a physical phenomenon where two or more quantum objects are inherently linked such that measurement of one rules the possible measurement of another. In other words, a pair or a group of particles interacts or share spatial locality such that the quantum state of each particle cannot be characterized independently of the other particle’s state in the same group even when they are separated by a large distance.

Entanglement is one of the important properties of quantum computing. It refers to the strong correlation existing between two quantum particles (physical properties of systems) or qubits. Qubits are linked together in a perfect instantaneous connection, even if they are isolated at any large distances such as located at the opposite ends of the Universe. They are entangled or defined with reference to each other. The fact is that the state of one particle influences the state of the other. It creates strong communication between qubits. Once they got entangled, they will stay connected even after separated at any distance. In classical computers, if bits are doubled, computational power also gets doubled. But in the case of Entanglement, adding extra bits to a quantum computer can increase its computational power exponentially. Quantum computer uses this property in a sort of quantum daisy chain.

Some examples of entanglement can be seen in nature such as electrons separated from each other at some distance inside an electron cloud are massively entangled with one another. If one electron is at both the states of spin-up and spin-down with each state having a probability of ½, a similar case is with the other electron.

Interference

The property of interference in quantum computers is similar to wave interference in classical physics. Wave interference happens when two waves interact with each other in the same medium. It forms a resultant wave with either their amplitudes added together when they are aligned in the same direction known as constructive interference or a resultant wave with their amplitudes canceled out when waves are in opposite direction known as destructive interference. The net wave can be bigger or smaller than the original wave depending on the type of interference. Since all subatomic particles along with light pose dual nature, i.e. particle and wave nature both. The quantum particle may experience interference. If each particle goes through both the slits (Young’s double-slit experiment) simultaneously due to superposition, they can cross its own path interfering with the path direction. The idea of interference allows us to intentionally bias the content of the qubit towards the needed state. However, it can also result in a quantum computer to combine its various computations into one making it more error-prone [9].

## 7. The topography of quantum technology

The quantum phenomena are not limited to just quantum computing but they apply to other technologies also including quantum information science, quantum communication, and quantum metrology. The progresses of all these technologies are mutually dependent on each other and can control as well as transform the entire quantum system. They share the same theory of physics, common hardware and related methods [10].

*Quantum Information Science* seeks the methods of encoding the information in a quantum system. It includes statistics of quantum mechanics along with their limitations. It provides a core for all other applications such as quantum computing, communications, networking, sensing and metrology.

*Quantum Communication and networking* concentrates on the conversation or exchange of information by encoding it into a quantum system to facilitate communication between quantum computers. Quantum cryptography is the subset of quantum communication in which quantum properties help to design the secure communication system.

*Quantum sensing and metrology* is the study and development of quantum systems. The drastic sensitivity of such a system to environmental nuisances can be utilized in order to measure important physical properties (e.g. electric and magnetic fields, temperature, etc.) more accurately than classical systems. Quantum sensors are based on qubits and are carried out using the experimental quantum systems.

*Quantum computing* is the central focus of this research which exploits the quantum mechanical properties of superposition, entanglement and interference to enact computations. In common, a quantum computer is a physical system that comprises a collection of qubits that must be isolated from the environment for their quantum state to stay coherent until it performs the computation. These qubits are organized and manipulated in order to enforce an algorithm and to achieve a result with high probability from the measurement of its final state.

**Difference between classical computers and quantum computers** [11].

Comparison key | Classical computer | Quantum computer |
---|---|---|

Basis of computing | Large scale integrated multipurpose computer based on classical physics | High speed parallel computer based on quantum mechanics |

Information storage | Bit based information storage using voltage/ charge | Quantum bit (qubit) based information storage using electron spin |

Bit values | Bits having a value of either 0 or 1 and can have a single value at any instant | Qubits having a value of 0,1 or sometimes negative and can have both values at the same time |

Number of possible states | The number of possible states is 2 which is either 0 or 1 | The number of possible states is infinite since it can hold combinations of 0 or 1 along with some complex information |

Output | Deterministic- (repetition of computation on the same input gives the same output) | Probabilistic- (repetition of computation on superposed states gives probabilistic answers) |

Gates used for processing | Logic gates process the information sequentially, i.e. AND, OR, NOT, etc. | Quantum logic gates process the information parallel |

Scope of possible solutions | Defined and limited answers due to the algorithm’s design | probabilistic and multiple answers are considered due to superposition and entanglement properties |

Operations | Operations use Boolean Algebra | Operations use linear algebra and are represented with unitary matrices. |

Circuit implementation | Circuits implemented in macroscopic technologies (e.g. CMOS) that are fast and scalable | Circuits implemented in microscopic technologies (e.g. nuclear magnetic resonance) that are slow and delicate |

## 8. The architecture of quantum computer

Architecture can be seen as a blueprint. The architecture of the quantum computer is a combination of classical and quantum parts and can be divided into 5 layers where each layer is represented as the functional part of the computer (Figure 1).

**Application Layer-**It is not a part of a quantum computer. It is used for representing a user interface, the operating system for a quantum computer, coding environment, etc. that are needed for formulating suitable quantum algorithms. It is hardware-independent.**Classical Layer-**It optimizes and compiles the quantum algorithm into microinstructions. It also processes quantum-state measurement returned back from hardware in the below layers and gives it to a classical algorithm to produce results.**Digital Layer-**It interprets microinstructions into signals (pulses) needed by qubit which act as quantum logic gates. It is the digital description of the required analog pulses in the below layers. It also gives quantum measurement as feedback to the above classical layer for merging the quantum outcomes to the final result.**Analog Layer-**It creates voltage signals which are having a phase and amplitude modulations like in wave, for sending it to the below layer so that qubit operations can be executed.**Quantum Layer-**It is integrated with the digital and the analog processing layer onto the same chip. It is used for holding qubits and is kept at room temperature (absolute). Error correction is handled here. This layer determines how well the computer performs.

**Quantum Processing Unit (QPU)** is made up of three layers including the digital processing layer, analog processing layer, and quantum processing layer. QPU and classical layer together constitute the Quantum Computer. Digital and Analog layers operate at room temperature.

## 9. Hardware and software of quantum computers

There should be an interface between the quantum computer and conventional computers for tasks related to data, networks, and users. In order to function usefully, the quantum qubit system needs organized control that can be managed by a conventional computer. The necessary hardware components for analog quantum computers are designed in 4 conceptual layers. First is the “quantum data plane” where qubit is present. Second is the “control and measurement plane” which is liable for performing operations and measurement on qubits as needed. The third is the “control processor plane” which defines the sequence of those operations and measurement outcomes to inform successive quantum operations required by the algorithm. And the last one is “host processor” which is a classical computer running a conventional operating system that handles user interfaces, network access, and big storage data structures. The processor is controlled using a high bandwidth connection that it provides [13].

A functional Quantum computer also requires software components in addition to the hardware. It is comparable to classical computers. Various new tools including programming languages are needed to substantiate quantum operations so that programmers can formulate algorithms, compilers that can map them to the hardware used by quantum computers and some other supports which can evaluate, optimize, debug and test programs. The programming language must be designed for any targeting quantum architecture. Some preparatory tools have been developed to support quantum computers and are accessible on the web [14]. These tools must be designed in an abstract way so that software developers can think more algorithmically without much concern for details of quantum mechanics. This software must be flexible enough to adapt to the changes in hardware and algorithms. This is one of the biggest challenges in quantum computing to develop complete software architecture. Other than programming languages, there must be simulation tools for modeling quantum operations and tracking quantum states and optimization tools for evaluating needed qubit resources so that it can perform different quantum algorithms in an efficient manner. The main goal is to minimize the number of qubits and the operations required for the hardware [15].

## 10. What is quantum algorithm?

An algorithm is a sequence of instructions or a set of rules to be followed to perform any task or calculation. It is a step-by-step process for solving a problem, especially by a computer. Any algorithm that can be executed on a quantum computer is called the **Quantum algorithm.** Generally, it is possible to execute all classical algorithms on quantum computers. However, the algorithms should contain at least one unique quantum step due to the property of either superposition or entanglement to be called a Quantum algorithm.

Quantum algorithms are characterized by a quantum circuit. A quantum circuit is a prototype for quantum computation that includes each step of the quantum algorithm as a quantum gate. A quantum gate is an operation that can be performed on any number of qubits. It changes the quantum state of the qubit. It can be divided into a single-qubit or multi-qubit gate, depending on the number of qubits on which it is applied at the same time. A quantum circuit is determined with qubit measurement [16].

An algorithm executing on a simulator rather than hardware is very profitable in terms of execution time by replacing the measurement overhead at the end of the algorithm. It is also known as simulation optimization. A quantum algorithm is always reversible when compared to the classical algorithm. It implies that if the measurement is not considered, a quantum circuit can be traversed back which can undo all the operations done by a forward traversing of the circuit. According to the undecidability problem, all problems that are unsolvable by a classical algorithm cannot be solved by quantum algorithms too. But these algorithms can solve problems significantly faster than classical algorithms. Some examples of the quantum algorithm are Shor’s algorithm and Grover’s algorithm. The Shor’s algorithm can do factorization of very large numbers in exponentially faster than best-known classical algorithms [17], whereas, Grover’s algorithm is used for searching large unordered list or unstructured databases that is four times faster than the classic algorithm [18].

There are various quantum algorithms available so far are as follows [19]:

Fourier transform-based quantum algorithms

Amplitude amplification-based quantum algorithms

Quantum walks based algorithm

BQP-complete problems

Hybrid quantum/classical algorithms

## 11. Design limitations of quantum computer

The exponential computing power of quantum computers can be accomplished by assessing and rectifying any kind of design limitation which helps to avoid their quality degradation. There are four major design limitations. The first limitation is that the number of coefficients in Dirac notation that defines the state of a quantum computer rise exponentially with the rise in the number of qubits, only when all the qubits get entangled with each other. To obtain the full potential of quantum computing, qubits must follow the property of entanglement where the state of any qubit must be linked with states of other qubits. It cannot be achieved directly since it is hard to generate a direct relation between qubits. But it can be decomposed into a number of simple fundamental operations directly aided by the hardware. One can also perform indirect coupling which is known to be an overhead in machines in classical computing and is crucial at the early stages of development especially when qubits and gate operations are confined.

The second limitation is that it is impossible to copy an entire quantum system because of a principle called a no-cloning principle [20]. There is a risk of deletion of arbitrary information from the original qubits since the state of qubits or set of qubits are moved to another set of qubits rather than being copied. The generation and storage of copies of intermediate states or partial outcomes in memory is a necessary aspect of classical computing. But quantum computers need a different strategy. There are quantum algorithms that help to access classical bits from the storage so that it can be known which bits are loaded and being queried into the memory of the quantum system to perform its task successfully.

The third limitation is due to the absence of noise protection of qubit operations. The small deformities in gate operations or input signals are collected over time disturbing the state of the system because they are not discarded by the fundamental gate operations. This can highly affect the calculation preciseness, measurements and coherence of the quantum systems and lessen the qubit operations integrity [21].

The final limitation is the incapability of the quantum machine to identify its full state even after it has finished its operation. Assume quantum computer has introduced an initial set of qubits with the superposition of all states combination. After applying a function to this state, the new quantum state will have information about the function value for each possible input and measuring this quantum system will not give this information. Therefore, a successful quantum algorithm can be achieved by manipulating the system in such a way so that states after finishing the operations have a higher probability of getting measured than any other probable result.

## 12. Approaches to quantum computing

If we can design each gate slightly different from others, then the generated electric signals on communicating with each other produce periodic noise in each other. Thus, the noise immunity of gates used will be adequate to cancel the impact of various noise origins. Therefore, the concluding system will produce the same outcome as the logical gate model, even with millions of gates operating in parallel. The goal of the design is to minimize the noise in qubit that can prevent the qubit state to pass through noisy channels. The qubit state can be changed by changing its physical energy environment.

Thus, it leads to 2 approaches to quantum computing. In the first approach, the energy environment representing Hamiltonian is frequently changed smoothly as qubits operations are analog in nature and smoothly changes from 0 to 1 which cannot be completely corrected. It initializes the quantum state and then uses Hamiltonian directly to develop the quantum state. This is known as **‘Analog Quantum Computing’.** It includes quantum annealing, quantum simulation and adiabatic quantum computers.

The second approach is similar to the classical computer approach where the problem is decomposed into a sequence of fundamental operations or gates. These gates have adequately defined digital outcomes for some input states. The set of fundamental operations of quantum computing is different from that of classical computing. This approach is referred to as **‘Gate-based quantum computing’.**

## 13. Different categories of quantum computer

### 13.1 Analog quantum computer

This type of system performs its operation by manipulating the analog values in the Hamiltonian representation. It does not use quantum gates. It includes *quantum annealing, quantum simulation and adiabatic quantum computing*. The quantum annealing is done using some initial set of qubits that gradually changes the energy encountered by the system until the problem parameters are defined by Hamiltonian. This is done in order to get the highest probability final state of the qubits that corresponds to the solution of that problem. The adiabatic quantum computer performs computation using some initial set of qubits in the Hamiltonian ground state and then Hamiltonian is changed slowly enough such that it stays in its ground state or lowest possible energy while the process takes place. It has processing power similar to a gate-based computer but still cannot perform full error correction.

There are three basic types of analog quantum computing. These are divided on the basis of the required amount of processing power (number of qubits) and time to become practically and commercially available.

Quantum Annealing

A basic rule of physics is that everything inclines towards a minimum energy state of a problem. This behavior is also true in the world of quantum physics. Quantum annealing is naturally used for real low-energy solutions such as optimization problems [22]. It is useful where the best solution is needed out of all possible solutions available. However, it is least powerful among all the types available. An example of this demonstrates an experiment to optimize traffic flows in a crowded city. Such an algorithm could successfully decrease traffic by choosing a convenient path. Volkswagen performs this with Google and D-wave system partnership. Such an experiment can be applied on a universal scale for all to get the cost-productive travel. This method can be applied to a collection of industry problems. For example, optimization of the flight route, petroleum price, weather and temperature information and passenger details, developing commercial aircraft.

Quantum annealing is also used for digital modeling, sampling problems and other science fields. This will take only a couple of hours to model all the individual atoms of air flowing over an airplane’s wing at every tilts and speeds to formulate an optimized wing design. Using a sampling problem from energy-based distribution, the shape of energy can be characterized and is useful in machine learning problems. The samples improve the model using information about the state of the model for the given parameters.

Quantum Simulation

Quantum simulations examine certain problems in quantum mechanics that are beyond classical physics. Simulating quantum phenomena that are complex in nature is one of the most important applications of quantum computing such as quantum chemistry. It includes modeling of chemical reactions on a large number of quantum subatomic particles. Quantum simulators can be used to simulate the misfolded protein structure [23]. Diseases like Alzheimer’s are caused by misfolded proteins. Using random computer simulation, researchers test new treatment drugs and learn reactions. To achieve correctly folded protein structure and study all drug-induced effects, sequential sampling is done which could take more than a million years. Quantum computers can help evaluate it for making more effective treatments and medicines and it would be a significant healthcare improvement. In the future, quantum simulations will facilitate quick drug designing and testing by evaluating every possible drug combinations of protein.

Adiabatic Quantum Computing

Adiabatic quantum computing is the most dominant, commonly applicable and hardest to create. A truly adiabatic quantum computer will use over a million of qubits. The maximum qubits we can access is less than 128 today. The basic idea behind this is that the machine can be directed at any complex calculation and obtain an immediate solution. This comprises analyzing the annealing equations, quantum phenomena simulation, etc. [24] At least fifty unique algorithms other than Shor’s and Grover’s algorithm have been formulated to run on this quantum computer.

There is a possibility that quantum computers could revolutionize the area of artificial intelligence and machine learning. Some work has been done on algorithms that would operate as building blocks of machine learning but the hardware and software for quantum AI are still not practically accessible.

### 13.2 NISQ gate-based computer

NISQ stands for Noisy Intermediate-Scale Quantum. It is also known as the Digital NISQ computer. These type of systems are gate-based and operates on a collection of qubits without full error correction and cannot restrict all the errors. The computations must be designed in a way so that they remain practical on a quantum system with little noise and can be finished in fewer and sufficient steps so that Decoherence and gate errors do not hide the outcomes [25].

### 13.3 Gate-based quantum computer with full error correction

Such computers also perform gate-based operations on a set of qubits with the implementation of the Quantum Error Correction algorithm. It reduces or corrects the noise in the system occurring during the computation period. Errors may include inadequate signals, device forgery or undesired bonding of qubits to the environment or with each other. The error is reduced to such a limit that the system seems valid and precise for all computations. Such quantum computers can have various realizations and they must fulfill some conditions such as there must be an availability of a well-defined two-level system that can be used as qubits, a potential to initialize those qubits, a sufficiently extended amount of Decoherence time which can perform error correction and computation, quantum gates (a set of quantum operations) common for every quantum computation and a capability of measuring each quantum bit individually without bothering others [26]. The analog quantum computers and digital NISQ computers are in progress while the gate-based computers with full error corrections are much more difficult and demanding.

## 14. Advantages of quantum computing

According to researchers, quantum computers will be able to

*solve those complex mathematical problems*that traditional computers find impossible to solve in a practical timeframe.It provides that

*computing power*which can sufficiently process excessively large amounts of data (2.5 Exabyte daily i.e. equal to 5 million laptops) created all around the world to extract meaning from it.Due to the teleportation phenomenon known as ‘quantum tunneling,’ it can work in parallel and use less amount of electricity, hence,

*reducing the power consumption*up to 100 to 1000 times.A general quantum computer is “thousands of times” faster than any classical computer. For example, Google has made a quantum computer [27] that is 100 million times

*faster*than any classical computer present in its lab.It can solve complex problems

*without being overheated*since for its stability it kept cold up to 0.2 Kelvin inside the quantum system.It can easily

*solve optimization problems*such as finding the best route and scheduling trains and flights. It would also be able to compute 1 trillion moves in chess per second. Quantum computers will be able to*crack the highest security*unbreakable encryption techniques. However, it would also build hack-proof alternates.It can bring up

*revolution*from drugs to petroleum industries. The invention of new drugs will become possible. The marketable algorithms of financial organizations can be improved. The field of artificial intelligence can be improved soon.

## 15. Disadvantages of quantum computing

Due to advancements in quantum computers, the

*security*of the existing Internet of Things (IoT) would fall down. Cryptographic techniques, Databases of government and private large organizations, banks, and defense systems can be hacked. Considering these facts, quantum computers can be terrible for our future.The Quantum Computer will work as a different device and cannot

*replace classical computers*entirely. Since, classical computers are better at some chores than quantum computers like email, excel, etc.It has

*not been invented completely*yet as only parts are being implemented and people are still imagining how it would look.It is very delicate and error-prone. Any kind of vibrations affects subatomic particles like atoms and electrons. Due to which noise, faults, and even failures are possible. It leads to “

*Decoherence*” which is a loss of coherence in quantum.Quantum processors are very unstable and are very hard to test even. For the stability of the quantum computer, it is kept at 0.2 Kelvin (absolute Kelvin) which is nearly below the universe temperature [28]. It is very hard to maintain and regulate such temperature. The main problem is to really develop it as a personal computer with the price range in the budget of consumers. They will be firstly accessible to large scale industry then come to retail markets.

## 16. Applications of quantum computing

Many quantum algorithms have been evolved for quantum computers that deliver speedup which is a result of some fundamental mathematical methods like Fourier transform, Hamiltonian simulation, etc. Most algorithms require a large number of qubits of the best quality and some error correction to provide useful functionalities. These algorithms are formed in blocks rather than as a whole combined application since it is not practical. Therefore, it is a great challenge to create quantum applications that are really practically useful along with providing speedup with no error. The potential utility or say useful application of a quantum computer is an area of ongoing research. It is predicted that those applications require fewer qubits and can be carried out with a lesser amount of codes. It is possible to build algorithms that can run faster on quantum computers because of the distinct features of the qubit. Below are some of the primary applications that we will see soon in the upcoming era:

Cryptography

Many important elements of IT security and online security such as e-commerce and electronic secrecy depend on encryption and mathematical algorithms which are difficult to break such as factoring very huge numbers into primes (RSA technique). It is done by traversing through every possible factor using conventional computers which takes a significant amount of time. Also, some modern algorithms other than RSA like AES, ECDSA, etc. cannot be cracked using even high computing power. It makes it costly and cracking them even less practical. Quantum computers can do all these kinds of stuff in exponentially less amount of time. New quantum algorithms (e.g. Shor’s algorithm) are able to do it and more unique algorithms will develop [29]. But before that, new encryption techniques are being made to resist the quantum ones. Since the already running techniques and digital applications security are at greater risks.

Optimization Problems

Optimizing a problem implies finding the best solution to that problem out of all the possible solutions. It can be done by minimizing the error and even minimizing the steps available. Quantum computers are best in solving optimization problems. There are a lot of quantum algorithms out of which quantum optimization algorithms might improve the already existing optimization problems which are solved using conventional computers currently. Some of them are quantum semi-definite programming, quantum data fitting, and quantum combinatorial optimization. Some of the examples include simulating the molecular model like protein behavior for medical research which can lead to the new discovery of drugs for serious diseases like cancer, lung disease, etc. Another example is the Simulation of the cellular structure of batteries for improving battery power and life in electric vehicles. It could also solve travel-related problems in real traffic just like traveling salesman problems to find the shortest path between many cities, going to each city once and returning back, modeling the entire finance market, and many more. Traveling optimization is the major work under Volkswagen recently [30].

Artificial Intelligence

Artificial Intelligence counts on processing large and complex datasets. It is responsible for learning, inferring, and understanding. It learns until it stops mistaking and making errors in its task. It takes a significant amount of time in learning too. But quantum computing can make it easy and more accurate. Since conventional computers are only training the learning model from a specific size of the dataset to restrict the computation time. Quantum computers can train these models over a huge dataset without sticking into the exponential time. The more data it uses to train, the more accurate it will be. Generative models generate output such as image, audio, etc. that can be fed to quantum computers to improve its quality and accuracy. Natural Language processing is another example that can understand complete sentences. Quantum computers can make it understand all the phrases and speech in real-time with improved quality, which is computationally costly with today’s computer.

Quantum Simulation

It is an important utility in the field of quantum chemistry and material science [31]. This problem needs solving ground state energies of electrons and their wave functions, with or without the presence of some external electric or magnetic field. From the structure of atoms and electrons in chemistry to the rate at which chemical reactions are taking place, everything can be simulated very well. The classical computer when applied to this problem often fails to reach the level of precision needed to predict the rate of the chemical reaction.

It could also have commercial applications in areas such as medical and healthcare fields, chemical catalysts, storage of energy, pharmaceutical advancement and device displays.

## 17. Major challenges in quantum computing

The good news is that at any instant of time, the quantum state with the same number of quantum bits can stretch over all possible states as compared to classical computers and thus works in an exponentially massive space. However, to be able to use this space requires all qubits to remain interconnected. Even after such progress, improvements are still needed. The bad news is that making new and high-quality qubits does not guarantee the creation and efficient use of fault-tolerant quantum computers and is still having challenges in its path [32].

Qubits cannot naturally ignore the noise. Hence, the quantum system is more error-prone. It suffers from **Decoherence**. The biggest challenge is how it can handle any undesirable deviations or noise in quantum computers. Classical computers can produce clean noise-free outcomes by simply putting its state as off or ‘0’, which is not possible for quantum computers where errors occur in physical circuits. Qubits will gradually lose its information as well as interconnection (entanglement) between each other. The error rate is seen as a design parameter for such systems which should be improved in large qubit systems also. However, to make the qubits stable and error-free, they are being insulated from the outside environment in super-refrigerated fridges or vacuum chambers and accurately handled [33].

Qubits are neither completely binary nor digital. It is having analog properties also. Gate can reject noise by dealing with the input signal value of 0.8 and treating it as 1. But in the analog signal, every value between 0 and 1 is permitted since they have their meanings. Signals cannot be checked for any kind of noise or corruption. Since 0.8 can be 1 with some error or 0.8 without error. Presuming the error as 0 like Gates do or taking some noise value even if it was not present there can affect the adherence of the resulting quantum computation. Hence, there is a need for algorithms like quantum error correction similar to the logical error correction in classical computers. These algorithms can be run on a noisy gate-based quantum computer to eliminate the errors and noises present in them [34].

It is possible to employ a **Quantum Error Correction algorithm** on a quantum system. But quantum error correction requires dealing with the overhead such as a large number of qubits and their fundamental operations and generally needs more resources. Also, problems with large data inputs require a large amount of time to create the input quantum state that would monopolize the computation time lessening the quantum benefits.

**Quantum algorithm development** is another challenge since achieving quantum speedup expects entirely new types of algorithm design as the speed of computation depends on the design of the algorithm. The design of the algorithm should be corresponding to the number of qubits used.

Further **development of software tools** in addition to hardware, is required to create and debug quantum systems to help explain unknown issues and push towards designs.

Debugging quantum hardware and software is of utmost importance which depends on memory and intermediate machine states in classical computers. But in the case of quantum computing, states cannot be copied directly for later evaluation, and **directly measuring intermediate state can bring it to halt**. Hence, new strategies for debugging are essential for their development.

## 18. Importance of quantum computing

It is clearly possible to build a quantum computer that could perform computations that would run a lifetime on a classical computer. Practical applications of quantum computing need controlling the quantum phenomena and thus the quantum world to an exceptional level. This job requires substantial engineering and research to build, manage and employ a noiseless quantum system. The experiment with quantum supremacy is an important test of the theory of quantum mechanics that will help to improve the support of quantum theory and leads to unexpected discoveries. The development of aspects and components of quantum information technology and computing has already started to influence the area of physics. The quantum error correction theory to attain the fault-tolerant quantum system has proven important. The quantum information theory is practically useful to study physics and dynamics of multibody systems like a massive number of quantum subatomic particles and even in blackhole and related concepts. Advancement in this area is important for an accurate understanding of various physical structures. It has contributed to many other engineering fields like physics, mathematics, chemistry, computer science, material science, etc. It has also advanced classical computing. Strategies to develop a quantum computing algorithm have helped in improving the classical computing algorithm also. Research in the quantum algorithm has answered many questions in the computer science area. It can help to evaluate the safety of cryptographic systems, clarifying the limitations of physical computational and advancing computational methods. It will help to advance the human’s understanding of the universe. The qubits that are recently being used in quantum computing is also used for building sensors, precision clocks, and other applications. Quantum communication is used for communicating two quantum systems at distance. There is an increased risk of asymmetric cryptography as well as the entire security system. Hence, the actions are being taken towards new quantum cryptography. The development of quantum information, science, technology and computing is a global area now.

## 19. Future scope of quantum computing

A significant amount of struggle is remaining before a practical quantum computer can be launched. There are some future advancements that are needed. Some of the future needs are enabling a Quantum Error Correction algorithm that requires low overhead and decreases the error rates in qubits, developing more algorithms with lesser qubits for solving problems, reducing circuit thickness so that NISQ computers can be operated, the advancement of methods which can verify, debug, and simulate the quantum computers, scaling the number of qubits per processor in such a way so that error rate is maintained or can be improved if possible, interleaving of operations in a qubit, recognizing more algorithms that can reduce the computation time and creating input–output for the quantum processor.

Such ‘*Quantum games’* are predicted in the future that will give unexpected situations and results that a player can experience because quantum computers will take all the possible operations and throws them into the game randomly due to its quantum properties like superpositioning and entanglement of qubits. It will be a never-ending experience.

‘*Quantum computing in Cloud’* has the potential to overtake business initiatives like in other emerging technologies such as cryptography and artificial Intelligence. Since the classical simulation of fifty qubits is equal to the memory of one Petabyte that doubles with every single qubit added [35], the memory required should also be large enough to provide an environment for application development and testing for multiple developers to simulate quantum computers using suitable shared resources.

AI and machine learning problems could be solved in a practical amount of time that can be reduced from hundreds of thousands of years to seconds. Several quantum algorithms have been developed such as Grover’s algorithm for searching and Shor’s algorithm for factoring large numbers. More quantum algorithms are coming soon. Google has also declared that it would produce a workable quantum computer in the following 5 years with a 50-qubit quantum computer and will achieve quantum supremacy. IBM is also offering commercial quantum computers soon.

The progress of development in the field of quantum computers depends on many factors. Interest and financial support from the private sector can help developing commercial applications for NISQ computers. It depends on the progress of quantum algorithm development, availability of enough investment in the quantum technology field from government and the exchange of ideas within researchers, scientists and engineers [36]. To illuminate the limitations of quantum technology, a defensive result is also beneficial. It can help in overcoming those negative results which can lead to a new discovery.