With the increasing rise of publicly available high level quantum computing languages, the field of Quantum Computing has reached an important milestone of separation of software from hardware. Consequently, the study of Quantum Algorithms is beginning to emerge as university courses and disciplines around the world, spanning physics, math, and computer science departments alike. As a continuation to its predecessor: "Introduction to Coding Quantum Algorithms: A Tutorial Series Using Qiskit", this tutorial series aims to help understand several of the most promising quantum algorithms to date, including Phase Estimation, Shor's, QAOA, VQE, and several others. Accompanying each algorithm's theoretical foundations are coding examples utilizing IBM's Qiskit, demonstrating the strengths and challenges of implementing each algorithm in gate-based quantum computing.
With the increasing rise of publicly available high level quantum computing languages, the field of Quantum Computing has reached an important milestone of separation of software from hardware. Consequently, the study of Quantum Algorithms is beginning to emerge as university courses and disciplines around the world, spanning physics, math, and computer science departments alike. As a continuation to its predecessor: "Introduction to Coding Quantum Algorithms: A Tutorial Series Using Qiskit", this tutorial series aims to help understand several of the most promising quantum algorithms to date, including Phase Estimation, Shor's, QAOA, VQE, and several others. Accompanying each algorithm's theoretical foundations are coding examples utilizing IBM's Qiskit, demonstrating the strengths and challenges of implementing each algorithm in gate-based quantum computing.
As the field of Quantum Computing continues to grow, so too has the general public's interest in testing some of the publicly available quantum computers. However, many might find learning all of the supplementary information that goes into quantum algorithms to be a daunting task, and become discouraged. This tutorial is a series of lessons, aimed to teach the basics of quantum algorithms to those who may have little to no background in quantum physics and/or minimal knowledge of coding in python. Each lesson covers select physics/coding topics needed for writing quantum algorithms, eventually building up a toolset for tackling more and more challenging quantum algorithms. This tutorial series is designed to provide readers from any background with two services: 1) A concise and thorough understanding of some of the most popular/academically important quantum algorithms. 2) A fluent understanding of how to write code for quantum algorithms, using IBM's publicly available Qiskit.
The present tutorial aims to provide a comprehensible and easily accessible introduction into the theory and implementation of the famous Quantum Approximate Optimization Algorithm (QAOA). We lay our focus on practical aspects and step-by-step guide through the realization of a proof of concept quantum application based on a real-world use case. In every step we first explain the underlying theory and subsequently provide the implementation using IBM's Qiskit. In this way we provide a thorough understanding of the mathematical modelling and the (quantum) algorithms as well as the equally important knowledge how to properly write the code implementing those theoretical concepts. As another central aspect of this tutorial we provide extensive experiments on the 27 qubits state-of-the-art quantum computer ibmq_ehningen. From the discussion of these experiments we gain an overview on the current status of quantum computers and deduce which problem sizes can meaningfully be executed on today's hardware.
As the field of Quantum Computing continues to grow, so too has the general public's interest in testing some of the publicly available quantum computers. However, many might find learning all of the supplementary information that goes into quantum algorithms to be a daunting task, and become discouraged. This tutorial is a series of lessons, aimed to teach the basics of quantum algorithms to those who may have little to no background in quantum physics and/or minimal knowledge of coding in python. Each lesson covers select physics/coding topics needed for writing quantum algorithms, eventually building up a toolset for tackling more and more challenging quantum algorithms. This tutorial series is designed to provide readers from any background with two services: 1) A concise and thorough understanding of some of the most popular/academically important quantum algorithms. 2) A fluent understanding of how to write code for quantum algorithms, using Rigetti's publicly available Pyquil.
Quantum computing is redefining computational boundaries, offering solutions to complex problems that classical computing struggles to address. A deep understanding of quantum principles, algorithms, and practical tools is essential for professionals and researchers navigating this transformative technology. Quantum computing is no longer a distant dream—it is rapidly becoming a cornerstone of modern innovation. This book provides a structured introduction to quantum computing, covering foundational principles such as superposition and entanglement, quantum gates, and circuits. Readers will gain hands-on experience with Qiskit and IBM Q, explore quantum error correction, and understand the real-world applications of quantum computing across industries. Alongside theoretical concepts, readers are introduced to hands-on quantum programming using Qiskit and IBM Q. The book also addresses practical challenges like quantum error correction and showcases real-world applications across industries, including cybersecurity, artificial intelligence, and material science. By the end of this book, readers will have a solid grasp of quantum computing fundamentals and hands-on experience with practical tools. Equipped with both conceptual understanding and hands-on experience, readers will be prepared to contribute meaningfully to research, solve industry-relevant problems, and engage confidently with the rapidly evolving field of quantum computing. --
This introduction to quantum computing from a classical programmer's perspective is meant for students and practitioners alike. Over 25 fundamental algorithms are explained with full mathematical derivations and classical code for simulation, using an open-source code base developed from the ground up in Python and C++. After presenting the basics of quantum computing, the author focuses on algorithms and the infrastructure to simulate them efficiently, beginning with quantum teleportation, superdense coding, and Deutsch-Jozsa. Coverage of advanced algorithms includes the quantum supremacy experiment, quantum Fourier transform, phase estimation, Shor's algorithm, Grover's algorithm with derivatives, quantum random walks, and the Solovay–Kitaev algorithm for gate approximation. Quantum simulation is explored with the variational quantum eigensolver, quantum approximate optimization, and the Max-Cut and Subset-Sum algorithms. The book also discusses issues around programmer productivity, quantum noise, error correction, and challenges for quantum programming languages, compilers, and tools, with a final section on compiler techniques for transpilation.
Quantum computing has emerged as one of the most transformative technological developments of the twenty-first century. By exploiting the fundamental principles of quantum mechanics—namely superposition, entanglement, and measurement—quantum computers offer the potential to address problems that are beyond the practical reach of classical computing systems. As the field advances from theoretical exploration to real-world implementation, the demand for clear, structured, and comprehensive educational resources continues to grow. This book presents a systematic and accessible introduction to quantum computing, beginning with the essential concepts of classical information and computation and progressively advancing toward modern quantum algorithms and communication protocols. The initial chapters establish a strong foundation in classical bits, logic gates, Boolean algebra, reversible logic, and computational complexity, providing the conceptual bridge necessary to understand quantum computation. The discussion then moves to the quantum bit (qubit), examining its behavior through superposition, measurement, Bloch sphere representation, and physical realization. Special emphasis is placed on linear algebra as the mathematical framework underpinning quantum computing. Through this approach, readers are guided to develop an intuitive yet rigorous understanding of quantum states, quantum gates, and circuit-based computation. The text further extends these ideas to multi-qubit systems, quantum entanglement, universal gate sets, and quantum error correction, integrating theoretical principles with practical insights. To support experiential learning, the book incorporates hands-on exposure to leading quantum programming platforms, including IBM Quantum, OpenQASM, and Qiskit. These sections connect theory with practice, enabling readers to design, simulate, and execute quantum circuits on both simulators and real quantum hardware. Subsequent chapters explore key quantum communication protocols such as superdense coding, quantum teleportation, and quantum key distribution, followed by an in-depth treatment of foundational quantum algorithms including Deutsch–Jozsa, Grover’s search, Simon’s algorithm, and Shor’s factoring algorithm. This text is intended for undergraduate and postgraduate students, research scholars, and industry professionals seeking a coherent and structured pathway into quantum computing. No prior knowledge of quantum mechanics is assumed, although familiarity with linear algebra and classical computation will enhance comprehension. Each chapter is carefully organized to promote conceptual clarity, supported by illustrative examples, circuit diagrams, and concise summaries. Beyond explaining the principles and mechanisms of quantum computation, this book aims to inspire readers to engage with the future of the field—whether through academic research, industrial application, or interdisciplinary innovation. As quantum technologies continue to evolve, it is hoped that this text will serve as a dependable guide and a meaningful entry point into the quantum era.