Quantum Inspire offers a powerful quantum computer simulator backend based on the [QX Simulator](https://qutech-delft.github.io/qx-simulator/latest/). QX simulator is a simulator of cQASM programs, developed by QuTech. At the moment, QX simulator only supports cQASM v3.0 programs (see cQASM-spec for the language specification). It performs simulations of input programs received via file or string. It produces one of the following results: A simulation result: a quantum state and, optionally, a list of measurements. An error. In case of an invalid input program or failed simulation. It can be used as: A standalone executable (built from C++), from the command line. A module (called qxelarator), from Python projects (as a Python package).
Simulating quantum states requires a lot of memory. On the Surf Lisa HPC cluster up to 34 qubits can be simulated using 6 TeraBytes of memory.
QX emulator is a state of the art simulator written in C++ and using OpenMP for multi-core, multi node simulations. Depending on the type of user account job durations could be maximized to 30 minutes compute time.
QX is an open source project developed at the Quantum Engineering lab at TU Delft under Apache2.0 license. Feel free to contribute!
“In this age of quantum chips with low numbers of noisy qubits, powerful emulators are essential to test use cases but also to set requirements for system developments.”
At the heart of our QX simulator are three powerful supercomputer instances supporting the simulations of up to 34 qubits. We provide a rich gate set that you can use to write efficient code to simulate both error-corrected quantum algorithms and more recent variational quantum algorithms proposed for pre-error corrected NISQ devices.
cQASM is a hardware-agnostic quantum assembly language developed at QuTech. It guarantees interoperability between all quantum compilation and simulation tools. Using the QI online editor you can write your quantum algorithm in cQASM and run it using our QX simulator on several available supercomputers.
The cQASM instruction set was designed with particular care to include the user experiences and expectations from different parts of the quantum community. We provide a rich gate set and measurement utilities that can be used to describe error-corrected quantum algorithms as well as the recent variational quantum algorithms and sampling tasks proposed for pre-error corrected NISQ devices.
By default, the QX Simulator executes the circuits using perfect qubits and perfect gates, i.e. without any noise or decoherence. However real-world qubit implementations suffer from decoherence and circuits are realised using imperfect gates introducing “noisy” operations. The QX Emulator currently implements one error model: the symmetric depolarising channel. Other methods such as the Pauli-twirling approximation and more powerfull error simulation methods will be developed.
QX has been developed at the Quantum Engineering Lab at TU Delft. The QCE github repository holds the source code of the QX simulator and other usefull software such as
Quantum Inspire offers three different instances of the QX Emulator. They vary in terms of turn-around time and available resources. They are hosted on a commodity cloud-based server, Cartesius single-node computer, and Lisa cluster which can simulate 26, 31, and 34 qubits respectively.
QX is our emulator backend for fast and powerfull emulaton of quantum algorithms. We are in the process of upgrading our QX emulator, providing you with different paradigms for simulating quantum circuits, using a larger set of error models and a wider range of functionality to get the most out of your simulations. Contact us if you want to contribute to this.