Fundamentals of Quantum Computing: Theory and Practice by Venkateswaran Kasirajan
This introductory book on quantum computing includes an emphasis on the development of algorithms. Appropriate for both university students as well as software developers interested in programming a quantum computer, this practical approach to modern quantum computing takes the reader through the required background and up to the latest developments.
Beginning with introductory chapters on the required math and quantum mechanics, Fundamentals of Quantum Computing proceeds to describe four leading qubit modalities and explains the core principles of quantum computing in detail. Providing a step-by-step derivation of math and source code, some of the well-known quantum algorithms are explained in simple ways so the reader can try them either on IBM Q or Microsoft QDK. The book also includes a chapter on adiabatic quantum computing and modern concepts such as topological quantum computing and surface codes.
Features:
o Foundational chapters that build the necessary background on math and quantum mechanics.
o Examples and illustrations throughout provide a practical approach to quantum programming with end-of-chapter exercises.
o Detailed treatment on four leading qubit modalities -- trapped-ion, superconducting transmons, topological qubits, and quantum dots -- teaches how qubits work so that readers can understand how quantum computers work under the hood and devise efficient algorithms and error correction codes. Also introduces protected qubits - 0- qubits, fluxon parity protected qubits, and charge-parity protected qubits.
o Principles of quantum computing, such as quantum superposition principle, quantum entanglement, quantum teleportation, no-cloning theorem, quantum parallelism, and quantum interference are explained in detail.
This book includes a section on fault-tolerant quantum computing to make the discussions complete. The topics on Quantum Error Correction, Surface codes such as Toric code and Planar code, and protected qubits help explain how fault tolerance can be built at the system level.