Gate based computing

Gate-based quantum emulators can be split in several categories:

QPU Emulators

Ideal Computation

Noisy Computation

Exact Representation

PyLinalg, CLinalg

N.A. 1

Approximate Representation

N.A. 1

N.A. 1

A complete list of these QPUs can be found qat.qpus.

1(1,2,3)

The full Qaptiva appliance contains a variety of QPUs, comprising all of those categories, as for instance QPUs capable of simulating physical noise.

CLinalg: C++ Linear-algebra-based simulator

Proposed as a faster alternative to PyLinalg, CLinalg is a Linear-algebra simulator written in C++, with a python (pybind11) interface.

It is the default simulator of myQLM.

For a general description of linear-algebra-based simulators, please refer to the PyLinalg documentation page.

Miscellanous remarks about the simulator:

  • it accepts any gate, of any arity.

  • it works with the entire amplitude vector. Any information is available.

  • it is memory and run-time exponential in the number of qubits. This implies a hard simulation limit at around 20-30 qubits, depending on your RAM.

PyLinalg: Python Linear-algebra-based simulator

qat.qpus.PyLinalg was the first simulator delivered with myQLM.

This simulator performs a unitary evolution of the initial quantum state using the operations described in a quantum circuit. It is called “Python Linear-Algebra”.

It is entirely written in Python, and is based in particular on the Numpy library.