It is widely understood that quantum computing — quantum gates upon qubits — is the general case, encompassing computing by classical means, viz. Boolean logic upon classical bits. It also seems reasonable that Quantum Software should encompass Classical Software. However, to accept such a statement regarding software, the feeling that it seems reasonable is not enough. One needs clear-cut definitions and formal conclusions. This is exactly the purpose of this paper. Previously, we have represented Classical Software by the Laplacian Matrix. More recently, we have shown that Quantum Software is faithfully represented by Density Matrices. It turns out that a Laplacian Matrix normalized by the Laplacian Trace easily obtains a Density Matrix. This opens the horizons for Quantum Software operations — such as unitary and reversible evolution — not naturally available with the classical Laplacian. This paper provides the necessary definitions and conclusions, illustrating the more general Quantum operations with a relevant case study, playing the double role of both classical and quantum software.
It is widely understood that quantum computing — quantum gates upon qubits — is the general case, encompassing computing by classical means, viz. Boolean logic upon classical bits. It also seems reasonable that Quantum Software should encompass Classical Software. However, to accept such a statement regarding software, the feeling that it seems reasonable is not enough. One needs clear-cut definitions and formal conclusions. This is exactly the purpose of this paper. Previously, we have represented Classical Software by the Laplacian Matrix. More recently, we have shown that Quantum Software is faithfully represented by Density Matrices. It turns out that a Laplacian Matrix normalized by the Laplacian Trace easily obtains a Density Matrix. This opens the horizons for Quantum Software operations — such as unitary and reversible evolution — not naturally available with the classical Laplacian. This paper provides the necessary definitions and conclusions, illustrating the more general Quantum operations with a relevant case study, playing the double role of both classical and quantum software.
Quantum Software Models is a theoretical framework to systematically design and analyze any software system -be it quantum, classical or hybrid -representing it by a design Density Matrix.Recently, we have demonstrated a top-down approach, to decompose a whole software system Density Matrix into modules, using basis vector projectors of the Matrix.However, it would be even more natural to have a systematic bottom-up procedure, to compose a whole software system Density Matrix, given a set of well-designed software module matrices, taken as sub-systems.This is exactly the paper's purpose.The result obtained: the whole software system Density Matrix is a perfect Direct Sum of module density matrices.This result yields clear software design benefits: it is bidirectional, one can traverse the software system hierarchy top-down or bottom-up, in particular, gradually building up the whole system from verified correct modules, assured by spectral decoupling techniques.The claim is formally validated and is illustrated by software system studies.
Quantum computing is an emerging paradigm that enables to solve a variety of problems more efficiently than it is possible on classical computers. As the first quantum computers are available, quantum algorithms can be implemented and executed on real quantum hardware. However, the capabilities of today’s quantum computers are very limited and quantum computations are always disturbed by some error. Thus, further research is needed to develop or improve quantum algorithms, quantum computers, or required software tooling support. Due to the interdisciplinary nature of quantum computing, a common understanding of how to develop and execute a quantum software application is needed. However, there is currently no methodology or lifecycle comprising all relevant phases that can occur during the development and execution process. Hence, in this paper, we introduce the quantum software lifecycle consisting of ten phases a gate-based quantum software application should go through. We analyze the purpose of each phase, the available methods and tools that can be applied, and the open problems or research questions. Therefore, the lifecycle can be used as a baseline for discussions and future research.
Abstract Richard P. Feynman’s 1982 paper “Simulating Physics with Computers” is often recognized as a pioneer of quantum computing. However, careful reading between the lines finds further meaningful content. This work reinterprets the pioneering paper, as a precursor of Quantum Software. Feynman’s proposal to represent the simulated system by a Density Matrix opens the way toward a mathematical Quantum Software systems theory. Density Matrix modularization leads to software modules as high-level abstractions unifying conceptual software units and matrix basis kets, stimulating new software-related questions and novel quantum solutions. Software modules are building blocks for any imaginable Quantum Software computations in practice, such as software system evolution, measurement, compositionality, and future potential applications.
The principles of quantum mechanics – superposition, entanglement, measurement, and decoherence – form the foundation of quantum computing. Qubits, which are abstract objects having a mathematical expression to implement the rules of quantum physics, are the fundamental building blocks of computation. Software is a key component of quantum computing, along with quantum hardware. Algorithms make up software, and they are implemented using logic gates and quantum circuits. These qualities make quantum computing a paradigm that non-physicists find difficult to comprehend. It is crucial to incorporate a conceptual framework of the principles upon which quantum computing is founded into this new method of creating software. In this paper, we present a kind of taxonomical view of the fundamental concepts of quantum computing and the derived concepts that integrate the emerging discipline of quantum software engineering. Because the systematic review's main goal is to identify the core ideas behind quantum computing and quantum software, we conducted a quasi-systematic mapping as part of the review process. The findings can serve as a starting point for computer science teachers and students to address the study of this field.
This paper presents a quantum lattice gas method useful for nano-scale computing and quantum computing. There are several important issues that arise when one considers fabricating nano-scale computing devices, and these issues are different depending on the type of computing one expects to do at this scale. The first type of computing, introduced by Ed Fredkin, Tom Toffoli, and Norm Margolus would be classical computing where Boolean bits that have a definite value of either 0 or 1 are still employed and where all logical gate operations are represented by unitary permutation operators causing neither any quantum mechanical superposition nor any quantum entanglement. This kind of computing may best be termed nano-scale computing. A second type of computing, introduced by Richard Feynman has been termed quantum computing where two-level quantum objects, such as spin-1/2 particles, are used to represent quantum bits or "qubits" and where quantum superposition and entanglement are integral to the logical gate operations and are required for computational efficiency. The characteristic nature of a qubit is that it can be in a superposition of the Boolean states 0 and 1, prototypically the ground state and excited state of a two-level quantum system. In nano-scale computing, one tries to implement reversible classical algorithms whose logical gate operations are represented by orthogonal permutation matrices, which are a special class of unitary matrices. The author discusses various reasons why one is driven to develop reversible algorithms for nano-scale computing. He then discusses how quantum computing relies on quantum interference and entanglement over a system of qubits occurring in a controlled fashion. These qubits will likely be spin-1/2 objects. To date, only one important algorithm is known whose efficiency is based on quantum interference and entanglement: Shors' prime number factoring algorithm.
Abstract Quantum computing is based on the principles of quantum mechanics, such as superposition, entanglement, measurement, and decoherence. The basic units of computation are qubits, which are abstract objects with a mathematical expression to implement the quantum mechanics principles. Alongside quantum hardware, software is a principal element for conducting quantum computing. The software consists of logic gates and quantum circuits that implement algorithms for the execution of quantum programs. Due to those characteristics, quantum computing is a paradigm that non-physics experts cannot understand. Under this new scheme for developing software, it is important to integrate a conceptual framework of the fundamentals on which quantum computing is based. In this paper, we present a kind of taxonomical view of the fundamental concepts of quantum computing and the derived concepts that integrate the emerging discipline of quantum software engineering. We performed a quasi-systematic mapping for conducting the systematic review because the objective of the review only intends to detect the fundamental concepts of quantum computing and quantum software. The results can help computer science students and professors as a starting point to address the study of this discipline.