[EN] An introduction to quantum computing and the quantum circuit model is given. Three quantum algorithms (Grover's Algorithm, Counting Algorithm and Shor's Algorithm) are discussed and simulated using Python coding and Qiskit libraries. Simulation results are discussed and compared with theoretical expectations.
Classical simulations of quantum computers give us an insight into various things such as what quantum algorithms can achieve, whether it is possible to verify that they function as postulated, the difficulties that have to be overcome before quantum computers can be realized, as well as how we can handle these difficulties. We build a Python library to simulate a quantum computer that can perform all quantum algorithms by defining an universal gate set, from which all quantum gates – and thereby all circuits – can be constructed. We implement two algorithms that both highlight two important aspects of quantum computing: Grover’s quantum search algorithm, which demonstrates the efficiency of quantum algorithms and their superiority over their classical counterparts by searching an unsorted list quadratically faster; and an error correcting code, the Shor code, which highlights the cost of correcting the possible errors in a quantum computer.We test the rigidity of Grover’s algorithm by introducing errors without correction, and find that the algorithm shows resilience to smaller 1-qubit Pauli errors, but looses its efficiency under larger errors and thus the need for Pauli error correction arise.
With the growth of quantum computing hardware technology, more developers are becoming involved in the design and development of quantum algorithms, leading to the creation of practical applications that align with real-world needs through the combination of quantum hardware and software. Among quantum algorithms, the most well-known include Grover’s algorithm and Shor’s algorithm. Grover’s algorithm can quickly provide search results, making it highly valuable for search-related applications. In light of this, this study primarily examines the theoretical usability of Grover’s algorithm and explores its limitations. Additionally, on the practical side, this research implements Grover’s algorithm using IBM Quantum Computing and the IBM Qiskit package. By comparing simulation results with those obtained from execution on real quantum computers, the study discusses the current limitations of quantum computing hardware technology.
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.
Abstract This chapter gives a brief introduction to quantum computing, which is the discipline of studying algorithms based on the principles of quantum theory. It outlines the two fundamental quantum algorithms, which are known as Grover’s and Shor’s algorithm, which are able to solve number-theoretical problems that are intractable for present conventional computers. Thus, this chapter also shows the impact of these quantum algorithms on present cryptography under the assumption of the existence of a large-scale quantum computer, concluding that quantum computing poses a serious threat to public-key cryptosystems, because their underlying mathematical problems can be solved efficiently by using Shor’s algorithm.
This manuscript is intended for readers who have a general interest in the subject of quantum computation and provides an overview of the most significant developments in the field. It begins by introducing foundational concepts from quantum mechanics—such as superposition, entanglement, and the no-cloning theorem—that underpin quantum computation. The primary computational models are discussed, including gate-based (circuit) quantum computing, adiabatic quantum computing, measurement-based quantum computing and the quantum Turing machine. A selection of significant quantum algorithms are reviewed, notably Grover’s search algorithm, Shor’s factoring algorithm, and Quantum Singular Value Transformation (QSVT), which enables efficient solutions to linear algebra problems on quantum devices. To assess practical performance, we compare quantum and classical implementations of support vector machines (SVMs) using several synthetic datasets. These experiments offer insight into the capabilities and limitations of near-term quantum classifiers relative to classical counterparts. Finally, we review leading quantum programming platforms—including Qiskit, PennyLane, and Cirq—and discuss their roles in bridging theoretical models with real-world quantum hardware. The paper aims to provide a concise yet comprehensive guide for those looking to understand both the theoretical foundations and applied aspects of quantum computing.