Home

Awesome

Stochastic Optical Quantum Circuit Simulator (SOQCS)

<p align="justify"> Stochastic Optical Quantum Circuit Simulator (SOQCS) is a C++ and Python library which offers a framework to define, simulate and study quantum linear optical circuits in presence of various imperfections typically encountered in experiments. Optical circuits are defined from non-ideal basic components connected by a lossy medium. The library also provides support for non-ideal emitters and physical detectors considering detection efficiency, dead time, dark counts and noise effects. Detectors can also be configured to establish post-selection conditions on the circuit. Circuit measurements provide detection statistics in the form of probability outcomes and density matrices. </p>

SOQCS features:

Related Publications

Please cite the most appropriate of these works if you make use of this library:

1. Requirements

2. Installation

Step 1: Install compilation tools

SOQCS is a C++ library with a Python port. Sources will be compiled automatically as part of the installation. The system needs a c++ compiler, the make and ar tools and the Eigen3 library for linear algebra. To install Eigen3 type in your command line,

sudo apt install libeigen3-dev

or

sudo zypper install eigen3-devel

depending on your distribution. The names of the libraries may also depend on the distribution. The rest of the tools are standard compilation tools that can be found in your favourite package repository.

Step 2: Install the library.

pip install git+https://github.com/SOQCSAdmin/SOQCS

3. Documentation

For more details about how to use SOQCS library in Python consult the available documentation that can be found in https://SOQCSADmin.github.io/SOQCS/index.html

The C++ API documentation can be found in https://soqcsadmin.github.io/SOQCS/indexcpp.html

4. Authorship

<b>Javier Osca</b> <br> soqcslib@gmail.com

<b>Jiri Vala</b> <br> jiri.vala@mu.ie

5. License and Copyright

Copyright (c) 2023 National University of Ireland Maynooth, Maynooth University. All rights reserved. This library and its related files are subject to the licence terms detailed in LICENCE.TXT . Use of SOQCS is only permitted under the terms of the licence in LICENCE.TXT.

Version release history