Book Image

Quantum Computing with Silq Programming

By : Srinjoy Ganguly, Thomas Cambier
Book Image

Quantum Computing with Silq Programming

By: Srinjoy Ganguly, Thomas Cambier

Overview of this book

Quantum computing is a growing field, with many research projects focusing on programming quantum computers in the most efficient way possible. One of the biggest challenges faced with existing languages is that they work on low-level circuit model details and are not able to represent quantum programs accurately. Developed by researchers at ETH Zurich after analyzing languages including Q# and Qiskit, Silq is a high-level programming language that can be viewed as the C++ of quantum computers! Quantum Computing with Silq Programming helps you explore Silq and its intuitive and simple syntax to enable you to describe complex tasks with less code. This book will help you get to grips with the constructs of the Silq and show you how to write quantum programs with it. You’ll learn how to use Silq to program quantum algorithms to solve existing and complex tasks. Using quantum algorithms, you’ll also gain practical experience in useful applications such as quantum error correction, cryptography, and quantum machine learning. Finally, you’ll discover how to optimize the programming of quantum computers with the simple Silq. By the end of this Silq book, you’ll have mastered the features of Silq and be able to build efficient quantum applications independently.
Table of Contents (19 chapters)
1
Section 1: Essential Background and Introduction to Quantum Computing
6
Section 2: Challenges in Quantum Programming and Silq Programming
10
Section 3: Quantum Algorithms Using Silq Programming
14
Section 4: Applications of Quantum Computing

What this book covers

Chapter 1, Essential Mathematics and Algorithmic Thinking, provides you with a basic foundational knowledge of mathematics and algorithms.

Chapter 2, Quantum Bits, Quantum Measurements, and Quantum Logic Gates, introduces the basics of quantum bits, measurements, and single-qubit quantum logic gates.

In Chapter 3, Multiple Quantum Bits, Entanglement, and Quantum Circuits, you will explore multiple qubits and their various quantum circuits using single- and multi-qubit quantum gates.

Chapter 4, Physical Realization of a Quantum Computer, takes you through various technologies that will enable you to build a real physical quantum computer.

Chapter 5, Challenges in Quantum Computer Programming, will introduce you to the various challenges faced in quantum programming.

In Chapter 6, Silq Programming Basics and Features, we will introduce Silq and help you to start programming with this high-level quantum programming language.

In Chapter 7, Programming Multiple Qubit Quantum Circuits with Silq, you will learn to tackle multiple qubits in Silq and construct various interesting quantum circuits using Silq.

In Chapter 8, Quantum Algorithms I – Deutsch-Jozsa and Bernstein-Vazirani, you will start coding your very first quantum algorithms using Silq – Deutsch-Jozsa, which identifies whether a function is constant or balanced, and Bernstein-Vazirani, which finds a secret string encoded in a function.

In Chapter 9, Quantum Algorithms II – Grover's Search Algorithm and Simon's Algorithm, you will see how to use Grover's search algorithm for unstructured database search, and Simon's algorithm for finding a hidden string.

In Chapter 10, Quantum Algorithms III – Quantum Fourier Transform and Phase Estimation, you will learn two of the most important algorithms – first, the Quantum Fourier Transform (QFT), which is a technique for linear transformations on qubits. Then you will use the QFT to learn about the quantum phase estimation algorithm.

Chapter 11, Quantum Error Correction, offers an introduction to classical error-correction techniques, and you will learn to implement different quantum error-correcting codes to prevent a potential bit-flip or phase-flip from occurring on a qubit.

In Chapter 12, Quantum Cryptography – Quantum Key Distribution, you will see an overview of classical cryptographical methods and learn to implement in Silq a quantum protocol useful to safely exchange keys: quantum key distribution.

In Chapter 13, Quantum Machine Learning, you will explore some important concepts regarding quantum machine learning and recent developments happening in the field of quantum computing.