Arithmetic circuits for quantum computing: a software library

2020 
Nowadays, quantum computers are capturing the attention of researchers because of their potential capability to solve problems otherwise not solvable with classical computers. In parallel to the constant research aimed at solving problems related to the physical implementation of such computers, there is also another branch of research trying to develop quantum algorithms. Many of the existing algorithms today need to perform arithmetic operations. In this thesis, the development of a software library of quantum arithmetic circuits - capable of interfacing with the main languages related to the world of Quantum Computing, such as Qiskit, Cirq and T-ket - is presented. With the aim of implementing this software library, the basics of quantum computation were first studied and subsequently an extensive bibliographic research was carried out, aimed at identifying the best performing arithmetic circuits currently available. After determining the circuits to be implemented, the software development has begun using the Python language. During the development of the library, with the aim of making simpler future development, code's modularity - by organizing the general package in many subpackages - and readability - by respecting the guidelines proposed in the PEP8 style guide - were looked for. In addition to what has already been said, a detailed documentation has been produced using Sphinx. Once the development of the library was completed, the functionality of each circuit was tested with simulations on classical computers; moreover, some components were tested on real free-accessible quantum computers, in order to characterize their behavior. Even though the results obtained on real hardware proved that many of the circuits implemented in this library will be reliably executed by more sophisticated and performing quantum computers, this library can be currently employed in an effective way in the simulation of quantum circuits on classical computers.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    0
    Citations
    NaN
    KQI
    []