Quantum++ from softwareQ and its features
Quantum++, simulator developed at softwareQ, is a modern C++11 general purpose quantum computing library, composed solely of template header files. Quantum++ is written in standard C++11 and has very low external dependencies, using only the Eigen 3 linear algebra header-only template library and, if available, the OpenMP multi-processing library. Quantum++ can simulate 25 qubits on a typical laptop and 30 or more on high performance servers. The platform is not restricted to qubit systems or specific quantum information processing tasks, being capable of emulating arbitrary quantum processes. It can even simulate noisy quantum processors, such as the ones available in current quantum hardware.
Software 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, high portability, and high 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 simulator defines a large collection of (template) quantum computing related functions and a few useful classes. Most functions operate on such vectors/matrices passed by value and always return the result by value, without ever mutating their arguments. Collection of objects are implemented via the standard library container std::vector<>, instantiated accordingly.
The library is not restricted to specific quantum information tasks, but it is intended to be multi-purpose and capable of simulating arbitrary quantum processes. Other unique features of Quantum++ include the ability of simulating classical reversible networks up to billions of bits, strong multi-threading abilities, as well as built-in support for higher dimensional systems (qudits) that allows treating qubits and qudits on the same footing.
About softwareQ
softwareQ was incorporated in 2017 and is a private organization, started by founders Vlad Gheorghiu and Michele Mosca. The main products are a general-purpose high-performance quantum computing framework, Quantum++ and staq, a high-performance modular quantum computing processing toolkit. The company has realized several of the first implementations of quantum algorithms including the Deutsch algorithm, quantum searching and approximate quantum cloning. softwareQ has developed methods and tools for the compilation and optimization of quantum circuits, such as T-gate optimization via matroid partitioning, number theory methods, quantum channel representations, coding theory methods, and parallel collision finding algorithms.
Leave a Reply