This is a set of lecture notes suitable for a Master's course on quantum computation and information from the perspective of theoretical computer science. The first version was written in 2011, with many extensions and improvements in subsequent years. The first 10 chapters cover the circuit model and the main quantum algorithms (Deutsch-Jozsa, Simon, Shor, Hidden Subgroup Problem, Grover, quantum walks, Hamiltonian simulation and HHL). They are followed by 4 chapters about complexity, 4 chapters about distributed ("Alice and Bob") settings, a chapter about quantum machine learning, one about stabilizer states and Clifford circuits, and a final chapter about quantum error correction. Appendices A and B give a brief introduction to the required linear algebra and some other mathematical and computer science background. All chapters come with exercises, with some hints provided in Appendix C.
This is a set of lecture notes suitable for a Master's course on quantum computation and information from the perspective of theoretical computer science. The first version was written in 2011, with many extensions and improvements in subsequent years. The first 10 chapters cover the circuit model and the main quantum algorithms (Deutsch-Jozsa, Simon, Shor, Hidden Subgroup Problem, Grover, quantum walks, Hamiltonian simulation and HHL). They are followed by 4 chapters about complexity, 4 chapters about distributed ("Alice and Bob") settings, a chapter about quantum machine learning, one about stabilizer states and Clifford circuits, and a final chapter about quantum error correction. Appendices A and B give a brief introduction to the required linear algebra and some other mathematical and computer science background. All chapters come with exercises, with some hints provided in Appendix C.
These notes begin in Chapter 1 with a review of linear algebra and the postulates of quantum mechanics, leading to an explanation of single- and multi-qubit gates. Chapter 2 explores the challenge of constructing arbitrary quantum states from given initial states, and introduces circuits for building oracles. Chapter 3 presents foundational algorithms such as entanglement creation, quantum teleportation, Deutsch-Jozsa, Bernstein-Vazirani, and Simon's algorithm. Chapters 4 and 5 cover algorithms based on the quantum Fourier transform, including phase estimation, period finding, factoring, and logarithm computation. These chapters also include complexity analysis and detailed quantum circuits suitable for implementation in code. Chapter 6 introduces Grover's algorithm for quantum search and amplitude amplification, including its realization via Hamiltonian simulation and a method for derandomization. Chapter 7 discusses basic techniques for Hamiltonian simulation, such as Lie-Trotter decomposition, sparse Hamiltonians, and the linear combination of unitaries. It also provides example circuits for simulating Hamiltonians expressed as linear combinations of Pauli operators. Chapter 8 introduces variational quantum algorithms, and Chapter 9 presents an algorithm for simulating fermionic many-particle systems, with an emphasis on molecular Hamiltonians. It also outlines the key transformations needed to map a molecular Hamiltonian to a form suitable for simulation on a quantum computer.
These are the lecture notes of the master's course "Quantum Computing", taught at Chalmers University of Technology every fall since 2020, with participation of students from RWTH Aachen and Delft University of Technology. The aim of this course is to provide a theoretical overview of quantum computing, excluding specific hardware implementations. Topics covered in these notes include quantum algorithms (such as Grover's algorithm, the quantum Fourier transform, phase estimation, and Shor's algorithm), variational quantum algorithms that utilise an interplay between classical and quantum computers [such as the variational quantum eigensolver (VQE) and the quantum approximate optimisation algorithm (QAOA), among others], quantum error correction, various versions of quantum computing (such as measurement-based quantum computation, adiabatic quantum computation, and the continuous-variable approach to quantum information), the intersection of quantum computing and machine learning, and quantum complexity theory. Lectures on these topics are compiled into 12 chapters, most of which contain a few suggested exercises at the end, and interspersed with four tutorials, which provide practical exercises as well as further details. At Chalmers, the course is taught in seven weeks, with three two-hour lectures or tutorials per week. It is recommended that the students taking the course have some previous experience with quantum physics, but not strictly necessary.
Quantum information and computation is a rapidly expanding and cross-disciplinary subject. This book, first published in 2006, gives a self-contained introduction to the field for physicists, mathematicians and computer scientists who want to know more about this exciting subject. After a step-by-step introduction to the quantum bit (qubit) and its main properties, the author presents the necessary background in quantum mechanics. The core of the subject, quantum computation, is illustrated by a detailed treatment of three quantum algorithms: Deutsch, Grover and Shor. The final chapters are devoted to the physical implementation of quantum computers, including the most recent aspects, such as superconducting qubits and quantum dots, and to a short account of quantum information. Written at a level suitable for undergraduates in physical sciences, no previous knowledge of quantum mechanics is assumed, and only elementary notions of physics are required. The book includes many short exercises, with solutions available to instructors through solutions@cambridge.org.
Aimed at advanced undergraduate and graduate-level students, this textbook covers the core topics of quantum computing in a format designed for a single-semester course. It will be accessible to learners from a range of disciplines, with an understanding of linear algebra being the primary prerequisite. The textbook introduces central concepts such as quantum mechanics, the quantum circuit model, and quantum algorithms, and covers advanced subjects such as the surface code and topological quantum computation. These topics are essential for understanding the role of symmetries in error correction and the stability of quantum architectures, which situate quantum computation within the wider realm of theoretical physics. Graphical representations and exercises are included throughout the book and optional expanded materials are summarized within boxed 'Remarks'. Lecture notes have been made freely available for download from the textbook's webpage, with instructors having additional online access to selected exercise solutions.
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.
These notes introduce quantum computation and quantum error correction, emphasising the importance of stabilisers and the mathematical foundations in basic Lie theory. We begin by using the double cover map SU2→SO3(R) to illustrate the distinction between states and measurements for a single qubit. We then discuss entanglement and CNOT gates, the Deutsch--Jozsa Problem, and finally quantum error correction, using the Steane [[7,1,3]]-code as the main example. The necessary background physics of unitary evolution and Born rule measurements is developed as needed. The circuit model is used throughout.