Quantum++ is a modern general-purpose multi-threaded quantum computing library written in C++11 and composed solely of header files. The library is not restricted to qubit systems or specific quantum information processing tasks, being capable of simulating arbitrary quantum processes. The main design factors taken in consideration were the ease of use, portability, and performance. The library's simulation capabilities are only restricted by the amount of available physical memory. On a typical machine (Intel i5 8Gb RAM) Quantum++ can successfully simulate the evolution of 25 qubits in a pure state or of 12 qubits in a mixed state reasonably fast. The library also includes support for classical reversible logic, being able to simulate classical reversible operations on billions of bits. This latter feature may be useful in testing quantum circuits composed solely of Toffoli gates, such as certain arithmetic circuits.
Quantum++ is a modern general-purpose multi-threaded quantum computing library written in C++11 and composed solely of header files. The library is not restricted to qubit systems or specific quantum information processing tasks, being capable of simulating arbitrary quantum processes. The main design factors taken in consideration were the ease of use, portability, and performance. The library's simulation capabilities are only restricted by the amount of available physical memory. On a typical machine (Intel i5 8Gb RAM) Quantum++ can successfully simulate the evolution of 25 qubits in a pure state or of 12 qubits in a mixed state reasonably fast. The library also includes support for classical reversible logic, being able to simulate classical reversible operations on billions of bits. This latter feature may be useful in testing quantum circuits composed solely of Toffoli gates, such as certain arithmetic circuits.
The synthesis of reversible logic circuits is a fundamental step in the design of fault-tolerant quantum arithmetic. Existing literature frequently minimizes Quantum Cost (QC) by utilizing the NCV library, which permits controlled-V and Vdagger gates. However, in the context of Fault-Tolerant Quantum Computing (FTQC), the strict NCT library (NOT, CNOT, Toffoli) is often preferred due to the high cost of distilling non-Clifford states required for arbitrary V-gates. Moreover, in the classical design of reversible circuits, only the NCT library can be used as V-gates are not available. In this paper, a new design method for reversible circuits is proposed, based on Mixed-Integer Non-Linear Programming (MINLP) within the Strict NCT Library. By formulating the problem as an MINLP model in GAMS, we successfully automated the optimization of five prominent reversible primitives (TSG, MKG, MIG, SAYEM, and URG) within the strict NCT library. Comparative analysis with the NCV costs found in the literature shows that the costs within the NCT library are comparable or better.
A significant new frontier in computing has been opened up by the emergence of the quantum computing paradigm in recent years. By utilising the special abilities of quantum bits, or qubits, to complete complicated calculations tenfold quicker than with traditional computers, quantum computing has the potential to completely transform the computing industry. As this nascent field advances, the need for accessible and versatile quantum computing tools becomes increasingly evident. This research highlights the evolving landscape of quantum computing tools, emphasizing their critical role in the development and application of quantum algorithms and technologies. These tools encompass a spectrum of software and hardware components that aid researchers, engineers, and developers in utilising quantum computing's potential.
Quantum computing is the delicate art of using a quantum-mechanical system to perform some kind of computation. Such a system differs in a number of significant ways from ordinary computers:• A quantum computer actually does a lot of computations at the same time, each solution is represented by a particular possible state. This is inherent to the physical properties of such a system.• Unless you are sure that you have reached the final (unique) solution, you can not "look" at the "values" of the variables in the computer program that is being run: since all solutions are possible at the same time, observing the values will influence the system and put it into one particular, but otherwise arbitrary, state.• All computations must be reversible, that is, a statement like "a = 5" can only appear in the initialization phase of a program, because the previous value will be lost. On the other hand, a statement like "a = a + 5" is reversible, since you can retrieve the original value.The properties of such a quantum computer make it possible to devise very efficient algorithms. One such algorithm, described by L. Grover (see the references), is searching in an unsorted array of items. With ordinary computers this can not be done more efficiently than in O (N) steps (an exhaustive search: each item is examined in the worst case), with this quantum algorithm, however, the number of steps needed is O (N 1/2 ).Devising quantum algorithms requires a thorough understanding of quantum mechanics, there is no doubt about that. Another question is: do we need quantum computers and special programming languages to program (or perhaps emulate) these algorithms? This article tries to show that, at least for the quantum search algorithm, a classical programming language like Fortran is quite fit (yes, the pun is fortunate).
The synthesis of reversible logic circuits is a fundamental step in the design of fault-tolerant quantum arithmetic. Existing literature frequently minimizes Quantum Cost (QC) by utilizing the NCV library, which permits controlled-V and Vdagger gates. However, in the context of Fault-Tolerant Quantum Computing (FTQC), the strict NCT library (NOT, CNOT, Toffoli) is often preferred due to the high cost of distilling non-Clifford states required for arbitrary V-gates. Moreover, in the classical design of reversible circuits, only the NCT library can be used as V-gates are not available. In this paper, a new design method for reversible circuits is proposed, based on Mixed-Integer Non-Linear Programming (MINLP) within the Strict NCT Library. By formulating the problem as an MINLP model in GAMS, we successfully automated the optimization of five prominent reversible primitives (TSG, MKG, MIG, SAYEM, and URG) within the strict NCT library. Comparative analysis with the NCV costs found in the literature shows that the costs within the NCT library are comparable or better.
Two questions have been addressed here: how many logic levels are necessary to synthesise a specific instance of a reversible circuit, and how much better to have large gate libraries, and what gates should be required in libraries. Group theory is applied to 3-bit reversible gate synthesis to create a library useful in hierarchical design. It has been shown that arbitrary 3-bit reversible circuit can be synthesised with four-logic levels, using this new gate library. The respective universal library for the four-level synthesis is constructed and optimised it on the level of nuclear magnetic resonance pulses. A very fast algorithm to synthesise arbitrary 3-bit reversible function to gates from our library is also presented. The algorithm demonstrates dramatic speed benefit and results in a maximum of four-level circuit for arbitrary 3-bit reversible function. The gates are optimised on the level of pulses to decrease their cost and allow for objective comparison with standard CNOT, NOT, Toffoli gates (CNT) circuits. This library guarantees a four-level circuit for any 3-qubit reversible function and is also intended to be used in a hierarchical design of larger circuits.