Cover image for Quantum Software : Aspects of Theory and System Design.
Quantum Software : Aspects of Theory and System Design.
Title:
Quantum Software : Aspects of Theory and System Design.
Author:
Exman, Iaakov.
ISBN:
9783031641367
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (358 pages)
Contents:
Intro -- Preface -- Overview -- Organization -- Target Readership -- Conclusion -- Acknowledgments -- Contents -- Contributors -- A Novel Perception of Quantum Software: Theoretical, Engineering, and Application Aspects -- 1 Introduction -- 2 Quantum Software Theory -- 3 Quantum Software System Design -- 4 Quantum Software Laboratory and Applications -- 5 Conclusion and Acknowledgment -- References -- Part I Aspects of Quantum Software Theory -- Simulating Quantum Software with Density Matrices: Reading Feynman on Fast-Forward -- 1 Introduction -- 1.1 Feynman's Quantum Computing Pioneer Paper -- 1.2 Novel Insight: Feynman's Quantum Software -- 1.3 Quantum Software Is the Density Matrix -- 1.4 Chapter Organization -- 2 What Is Software? -- 2.1 Liskov Types and Dahl and Hoare Hierarchical Structures -- 2.2 Brooks' Conceptual Integrity -- 2.3 Jackson's Software Concepts -- 3 What Is Quantum? -- 3.1 Superposition and Entanglement -- 3.2 Density Matrix -- 4 What Is Quantum Software? -- 4.1 From Tabular Concept to Its Quantum Software Density Matrix -- 4.2 Linear Algebraic Constraints for Software Systems -- 4.3 Modularity -- 4.4 Evolution and Measurement -- 5 Sample Quantum Software Concepts -- 5.1 Reservation: A Purely Classical Concept -- 5.2 Grover Search: A Modular Quantum Concept -- 5.3 QFT and Order Finding: The Modularity Viewpoint -- 5.4 Modularity Within Hybrid Teleportation -- 6 Related Work -- 6.1 Operators and Superoperators -- 6.2 Extended UML -- 6.3 Modules -- 7 Discussion -- 7.1 Definition and Meaning of Quantum Software Modules -- 7.2 Connector Roles Within the Quantum Software Density Matrix -- 7.3 Conceptualization: Metaphors and Proper Names as Concepts -- 7.4 Applications of Quantum Software -- 7.5 Quantum Software's Potential Roles -- 7.6 Main Contribution -- References -- Superoperators for Quantum Software Engineering.

1 Introduction -- 1.1 Challenges in Quantum Software -- 2 Mathematical Foundations -- 2.1 The Need for Formalization -- 2.2 Linear and Hilbert-Schmid Operators -- 3 Modeling Hybrid Quantum-Classical Systems -- 3.1 States and Effects -- 3.2 Observables -- 3.3 Classical Components -- 3.4 Composite and Hybrid Systems -- 4 Completely Positive Maps and Their Representation -- 4.1 Operator-Sum Representation -- 5 Applications in Quantum Software and Systems Engineering -- 5.1 Formal Semantics and Verification -- 5.2 Communicating and Distributed Systems -- 5.3 Noise and Imperfection Modeling -- 6 Summary and Conclusion -- References -- Part II Quantum Software System Design -- QSandbox: The Agile Quantum Software Sandbox -- 1 Introduction -- 1.1 Concise QSandbox Characterization -- 1.2 Chapter Organization -- 2 QSandbox Focused Ideas -- 2.1 High Abstraction Level Interface: First Idea -- 2.2 Modular Perspective: Second Idea -- 2.3 Uniform Quantum and Classical System Representations: Third Idea -- 3 QSandbox Software Architecture Overview -- 3.1 QSandbox Software Architecture -- 3.2 User Interface -- 3.3 User Commands' Set -- 4 Dual Views in Depth -- 4.1 High-Level Quantum Circuit -- 4.2 Computations with High-Level Quantum Circuits -- 4.3 Compressed Views -- 4.4 Density Matrix -- 4.5 Computations with a Density Matrix -- 4.6 Optional Views -- 5 Quantum Circuit for Classical Software: The Recycle Bin Case Study -- 5.1 Recycle Bin Overview and High-Level Quantum Circuit -- 5.2 Recycle Bin: Density Matrix -- 6 Compressed Dual Views of Quantum Software: Grover Search Case Study -- 6.1 Grover Search Concise Overview -- 6.2 Grover: High-Level Quantum Circuit -- 6.3 Grover: Compressed Higher-Level Quantum Circuit -- 6.4 Grover: Compressed Density Matrix -- 7 Related Work -- 7.1 Classical Software Sandbox -- 8 Discussion -- 8.1 Main QSandbox Assumptions.

8.2 Open Issues: Quantum Circuit for Classical Software -- 8.3 Quantum Agile Software? -- 8.4 Future Work -- 8.5 Main Contribution -- References -- Verification and Validation of Quantum Software -- 1 Introduction -- 2 Concepts and Definitions -- 2.1 Quantum Computing -- 2.2 Software Testing -- 3 Automatic Verification and Validation of Quantum Software -- 3.1 Running Example -- 3.2 Automatic Verification of Quantum Software -- 3.2.1 Hoare Logic -- 3.2.2 Static Analysis -- 3.3 Automatic Validation of Quantum Software -- 3.3.1 Test Data Generation -- 3.3.2 Test Oracle Generation -- 3.3.3 Test Data and Oracle Generation -- 3.3.4 Test Adequacy Measurements -- 4 Benchmarks of Real Faults in Open-Source Quantum Programs -- 5 Discussion -- 5.1 For Researchers -- 5.2 For Developers of Testing Tools -- 5.3 For Developers of Quantum Faults Benchmarks -- 6 Conclusion -- References -- Quantum Software Quality Metrics -- 1 Introduction -- 2 State-of-the-Art -- 2.1 Quality in Quantum Computing Software -- 2.2 Metrics for Quantum Computing Software -- 3 Metrics for Quantum Circuits -- 3.1 Circuit Size -- 3.2 Circuit Density -- 3.3 Single-Qubit Gates -- 3.4 Multi-Qubit Gates -- 3.5 All Gates in the Circuit -- 3.6 Oracles -- 3.7 Measurement Gates -- 3.8 Other Metrics -- 3.9 Metrics for Quantum Circuits Calculation Examples -- 4 Validation of Quantum Circuits Metrics -- 4.1 Experiment Design -- 4.2 Experiment Results -- 4.3 Experiment Limitations -- 5 QMetrics -- 6 Conclusions -- Appendix. Example of Experimental Material -- References -- Quantum Software Ecosystem Design -- 1 Introduction -- 2 Quantum Computing Perspective -- 2.1 Achieving the Vision Through the Quantum Software Ecosystem -- 2.2 Interested Parties and Their Requirements -- 3 Conceptual View -- 3.1 Computational Paradigms -- 3.1.1 Foundations of Quantum Computing -- 3.1.2 Gate-Based Quantum Computing.

3.1.3 Adiabatic Quantum Computation and Quantum Annealing -- 3.1.4 Others -- 3.2 Hardware -- 3.3 Applications -- 3.3.1 Simulation -- 3.3.2 Optimization -- 3.4 Algorithms -- 3.4.1 Powerful Algorithms for Fault-Tolerant Devices -- 3.4.2 Hybrid Algorithms for Noisy Intermediate Scale Devices -- 3.5 Software Engineering -- 3.5.1 Requirements -- 3.5.2 Software Design -- 3.5.3 Models and Representation -- 3.5.4 Software Testing -- 3.6 Compiling -- 3.6.1 Gate-Based Quantum Computing -- 3.6.2 Quantum Annealing -- 3.7 Error Handling -- 3.7.1 Error Models -- 3.7.2 Error Mitigation -- 3.7.3 Error Correction -- 3.8 Verification and Benchmarking -- 4 System Architecture and Implementation -- 4.1 User Interface -- 4.2 Orchestration and Data Management -- 4.3 Use of QC Simulators -- 5 Conclusion -- References -- Development and Deployment of Quantum Services -- 1 Introduction -- 2 Background -- 3 Quantum Providers -- 3.1 IBM Quantum -- 3.2 Amazon Braket -- 3.3 Azure Quantum -- 3.4 Google Quantum AI -- 3.5 Analysis and Comparison -- 4 Standardization of Access to Quantum Services Use -- 4.1 Quantum API Gateway -- 5 Development of Quantum Services -- 5.1 OpenAPI Specification for Quantum Services -- 6 Deployment of Quantum Services -- 6.1 Continuous Deployment of Quantum Services -- 7 Conclusion -- References -- Engineering Hybrid Software Systems -- 1 Introduction -- 2 Classical-Quantum Software Systems -- 2.1 Challenges of Hybrid Software -- 3 Quantum Software Modernization -- 3.1 Traditional Reengineering -- 3.2 Architecture-Driven Modernization -- 3.3 Software Modernization of Hybrid Software Systems -- 4 Example of Application for the Software Modernization Process -- 4.1 Reverse Engineering of Quantum Code -- 4.2 Restructuring -- 4.3 Forward Engineering -- 4.3.1 UML Activity Diagrams to Qiskit Code -- 4.3.2 UML Class Diagrams to Python Code -- 5 Conclusions.

References -- Part III Quantum Software Laboratory -- Trapped-Ion Quantum Computing -- 1 Overview -- 1.1 Quantum Computing Platforms -- 1.2 Ion Traps Background -- 1.2.1 Paul Traps -- 1.2.2 Ion-Trap Architectures -- 1.2.3 Ion Crystals as Qubit Registers -- 2 Trapped-Ion Hardware -- 2.1 Ion-Trap Device -- 2.2 Ion-Trap Setup -- 2.3 Quantum Computer in a Rack -- 3 Quantum Performance -- 3.1 20-Qubit Control -- 3.2 Single-Qubit Error Rates -- 3.3 Quantum Memory Lifetime -- 3.4 Quantum Volume -- 4 Software -- 4.1 Cloud Platform -- 4.2 Circuit Transpilation -- 4.3 Radio Frequency Pulse Scheduler -- 4.4 High-Performance Computing Integration -- References -- Quantum Software Engineering and Programming Applied to Personalized Pharmacogenomics -- 1 Introduction -- 2 Quantum Health -- 3 Qualitative Description of the Computational Problem -- 4 Analytical Description of the Computational Problem -- 5 QHealth Information System -- 5.1 Functional Overview -- 5.2 Technical Features -- 5.3 Implementation Details -- 5.3.1 Interconnection Layer and Information Protocol -- 5.3.2 Execution Layer: Transpilation, Execution, and Post-processing -- 6 Conclusion -- References -- Challenges for Quantum Software Engineering: An Industrial Application Scenario Perspective -- 1 Introduction -- 2 Paradigmatic Application Scenarios -- 2.1 Application Scenario 1: Quantum Cloud Services -- 2.1.1 Use Cases and Examples -- 2.1.2 Approaches and Challenges -- 2.1.3 Conclusions -- 2.2 Application Scenario 2: Quantum Simulation -- 2.2.1 Use Cases and Examples -- 2.2.2 Approaches and Challenges -- 2.2.3 Conclusions -- 2.3 Application Scenario 3: Embedded Quantum Computing -- 2.3.1 Use Cases and Examples -- 2.3.2 Approaches and Challenges -- 2.3.3 Conclusions -- 3 Promises and Perils of Quantum Software Engineering -- 3.1 Promises and Opportunities -- 3.2 Perils -- 4 Summary and Outlook.

References.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: