Quantum Software Engineering and Technology

Quantum Software Engineering and Technology

Subramaniam Meenakshi Sundaram, Tejaswini R. Murgod
Copyright: © 2022 |Pages: 15
DOI: 10.4018/978-1-7998-9183-3.ch007
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Quantum technology works with and relies on sub-atomic particles or physics that operates on the quantum level. Quantum computing has become a mature field, having diversified applications in supply chain and logistics, chemistry, economics and financial services, energy and agriculture, medicine and health, etc. In the recent years, companies have started to incorporate quantum software to benefit the research and the practitioner communities. Software engineering and programming practices need to be brought into the domain of quantum computing. Quantum algorithms provide the ability to analyze the data and offer simulations based on the data. A few of the quantum computing programming languages include QISKit, Q#, Cirq, and forest are used to write and run quantum programs. In this chapter, the authors provide an overall picture of the problems and challenges of developing quantum software and up-to-date software engineering processes, methods, techniques, practices, and principles for the development of quantum software to both researchers and practitioners.
Chapter Preview
Top

Introduction

Decades have passed since the great minds of physics, including Richard Feynman and David Deutsch, predicted that the laws of quantum mechanics could give rise to a computing paradigm that is superior to classical computing. But controlling fragile quantum systems well enough to construct even the most primitive quantum computing hardware has proved taxing. Quantum software plays a critical role in exploiting the full potential of quantum computing systems. Experimental advances in the past few years have proved the power of quantum computing. Just as programming languages and compilers facilitate interaction with the semiconductor transistors in a classical computer, many layers of software tools will sit between quantum algorithms and hardware. An important component is quantum error-correcting code. The fragility of quantum bits leads to errors during computation, and choices about how to make quantum-computing architectures fault tolerant have a knock-on effect on higher layers of the quantum tool chain. With quantum programming languages and compilers to hand, the quantum software engineer can implement 'killer' software applications, in which the speed afforded by quantum computers will have real-world impact. Factoring using Shor's algorithm is one potential application because it could break current methods of encryption. Yet cryptographers are already devising classical cryptosystems that would guarantee security even if quantum computers achieve factoring at mesmerizing speeds. Perhaps quantum machine learning will also turn out to be a killer application, it has, at least, been an important motivator for IT giant companies to invest in quantum computing.

As the practical relevance of quantum computing becomes clearer, we should not forget the part that foundational thinking played in its inception. Research on the fundamental limits of classical versus quantum computing remains fascinating and may even help to surmount quantum engineering hurdles.

Key Terms in this Chapter

Abstract Data Type (ADT): Is a mathematical model for data types. This is defined by its behavior (semantics) from the point of view of a user, of the data, specifically in terms of possible values, possible operations on data of this type, and the behavior of these operations.

Quantum Programming Languages: Are essential to translate ideas into instructions that can be executed by a quantum computer. They are crucial to the programming of quantum computers at scale but also they can facilitate the discovery and development of quantum algorithms even before hardware exists that is capable of executing them. These are used for controlling existing physical devices, for estimating the execution costs of quantum algorithms on future devices, for teaching quantum computing concepts, or for verifying quantum algorithms and their implementations.

Quantum Computing: Harnesses the phenomena of quantum mechanics to deliver a huge leap forward in computation to solve certain problems. This is a type of computation that harnesses the collective properties of quantum states, such as superposition, interference, and entanglement, to perform calculations. The devices that perform quantum computations are known as quantum computers.

Quantum Logic Gates: A quantum logic gate (or simply quantum gate) is a basic quantum circuit operating on a small number of qubits. They are the building blocks of quantum circuits, like classical logic gates are for conventional digital circuits.

Bounded-Error Quantum Polynomial Time (BQP): In computational complexity theory, bounded-error quantum polynomial time (BQP) is the class of decision problems solvable by a quantum computer in polynomial time, with an error probability of at most 1/3 for all instances.

Quantum Computer: Can be referred to a machine that consists of a many-particle quantum system for solving complex computational problems. Possibly the most important issue in quantum computers fabrication is making a closed box. In other words, since quantum systems are very fragile, the probability of de coherence and de phasing is very high.

Qubit: Qubit or quantum bit is the basic unit of quantum information. The quantum version of the classic binary bit physically realized with a two-state device. This is a two-state (or two-level) quantum-mechanical system, one of the simplest quantum systems displaying the peculiarity of quantum mechanics.

Quantum Machine Learning: Is the integration of quantum algorithms within machine learning programs. The most common use of the term refers to machine learning algorithms for the analysis of classical data executed on a quantum computer, i.e. quantum-enhanced machine learning.

Quantum Technology: Is a class of technology that works by using the principles of quantum mechanics (the physics of sub-atomic particles), including quantum entanglement and quantum superposition. This is an emerging field of physics and engineering, which relies on the principles of quantum physics. Quantum computing, quantum sensors, quantum cryptography, quantum simulation, quantum metrology and quantum imaging are all examples of quantum technologies, where properties of quantum mechanics, especially quantum entanglement, quantum superposition and quantum tunneling, are important.

Quantum Algorithm: Runs on a realistic model of quantum computation, the most commonly used model being the quantum circuit model of computation.

Quantum Engineering: Is a revolutionary discipline that seeks theoretical and practical applications of Quantum Information Science. It encompasses both fundamental physics and the broad engineering skill-set necessary to meet the practical challenges of the future.

Complete Chapter List

Search this Book:
Reset