Software details ================ Library structure ^^^^^^^^^^^^^^^^^ - :download:`Eigen3 `: External library for matrix manipulation required by SOQCS. **It is not part of the SOQCS code.** - **util**: Module of utilities. - **qocircuit**: Circuit definition. - **state**: Quantum bosonic state definition. - **qodev**: Quantum optical device definition. Quantum device=Input photons + Circuit definition. - **pbins**: Set if probability bins. Output statistics. - **dmat**: Density matrix. Output statistics. - **simulator**: Simulator module. This is the core of SOQCS. - **mthread**: Parallelism support for SOQCS simulations. - **SOQCS**: The full C++ library - **pySOQCS**: Interface for the SOQCS port into Python. .. image:: ./image/Public.png :scale: 70% Source tree structure ^^^^^^^^^^^^^^^^^^^^^ Inside the main SOQCS folder the next subfolders can be found in alphabetical order: - **doc**: Documentation folder. Here can be found the HTML files of the documentation. - **examples**: Examples of SOQCS simulations can be found here. - **src/soqcs**: Source tree of the SOQCS library. Version release history ^^^^^^^^^^^^^^^^^^^^^^^ Version **RV1.5**: - New benchmark example. - Added Ryser method to calculate permanents - Added Ryser method with parallelism as shown in: P.H. Lundow, K. Markström, Journal of Computational Physics, Volume 455, 2022,110990. - Added optimization in the amount of permanents to be calculated when post-selection is present. - Samplers now return a list of samples instead of just their probability distribution. - C++ Muti-thread server functionality now available also on Python. - C++ restriction on the output selection functionality now available also on Python. - New packaging. pip install should be enough to install the library. - Improved documentation. Version **RV1.4.1**: - Various bugs solved Version **RV1.4**: - Added metropolis sampler. - Solved bug introduced in V1.3. - Various bugs solved. Version **RV1.3**: - Qubit polarization encoding. - Post selection by polarization. - QOL improvements. - Various bugs solved. Version **RV1.2**: - Qubit encoding. - More examples. - QOL improvements. - Various bugs solved. - Automated configuration. - Extended MacOsX support. Version **RV1.1**: - Extended Python support. - QOL improvements. - Various bugs solved. - Simplified configuration. - Basic MacOsX support. Version **RV1.0**: - Framework for circuit simulation. - Non-idealities in the emitter and detector statistics. - Partial distinguishability of photons and photon shape model. - Parallel execution support. - Density matrix and fidelity measurements. - Losses support. - Basic Sampling. - Basic Python support. .. |br| raw:: html