CNoisy: C++ Noisy linear-algebra-based simulator

CNoisy is a C++-based quantum simulator designed to handle noisy quantum simulations. It serves as an alternative to the exact statevector-based simulator, CLinalg, by incorporating noise models to simulate real quantum hardware behavior.

Like CLinalg, CNoisy is equipped with a Python interface using pybind11,

Key Features

  • Noisy Modeling: CNoisy utilizes a HardwareModel to describe the simulated hardware (gates and environment).

  • Flexible Gate Acceptance: Similar to CLinalg, CNoisy accepts any quantum gate of any arity.

  • Run-time and Memory Cost: Exponential in the number of qubits of the circuit. Moreover a circuit ran in deterministic mode (only mode available yet), will be represented as having twice as many qubit (compared to CLinalg), making this expoential even steeper compared to the exact simulation.

Additional Notes

For now, CNoisy operates in deterministic mode, meaning that the entire density matrix is evolved during simulations. Additionally, it only functions in sampled mode, and does not support observable mode.

In deterministic mode, the quantum state is represented as a density matrix to account for mixed states resulting from noise.