In this paper the authors propose their own QSimulator quantum programming system, which is a software tool for developing and debugging quantum algorithms in a high-level C++ language. The basic structure of the presented system is described, including quantum algorithms and quantum operations, available to the programmer. The components of the system and their fundamental basis are briefly outlined. This system emulates the behaviour of a quantum coprocessor in a standard computational basis and thus can be used for debugging and programming quantum algorithms in the language of quantum circuits. The system proposed by the authors also implements the Grover search algorithm and the Durr-Hoyer minimization algorithm based on it. Many tasks can be formulated in terms of the search task. In particular, the SAT problem. In this article, we also propose a variant of constructing an oracle in the form of a quantum circuit for the SAT problem, which can be integrated into the Grover algorithm implemented in the presented system. Automatic oracle generation for the SAT task will help save time in developing quantum algorithms related to this task when working with our system.
Read full abstract