**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

#### *Introduction to Quantum Computing DOI: http://dx.doi.org/10.5772/intechopen.94103*

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.
