-
Notifications
You must be signed in to change notification settings - Fork 121
5. Brief description of the library's file structure
Vlad Gheorghiu edited this page May 1, 2024
·
10 revisions
A brief description of the Quantum++
file structure is presented below. The directories and their brief descriptions
are emphasized using bold fonts, as well as the main header file of the
library, include/qpp/qpp.h
.
File/folder name | Description |
---|---|
cmake/ |
CMake configuration files |
docker/ |
Docker image |
examples/ |
Usage examples |
include/qpp/ |
Header files |
include/qpp/MATLAB/ |
MATLAB support |
include/qpp/MATLAB/matlab.hpp |
Input/output interfacing with MATLAB |
include/qpp/classes/ |
Class definitions |
include/qpp/classes/codes.hpp |
Quantum error correcting codes |
include/qpp/classes/exception.hpp |
Exceptions |
include/qpp/classes/gates.hpp |
Quantum gates |
include/qpp/classes/idisplay.hpp |
Interface for stream extraction |
include/qpp/classes/ijson.hpp |
Interface for JSON |
include/qpp/classes/init.hpp |
Initialization |
include/qpp/classes/layouts.hpp |
Qudit placement layouts |
include/qpp/classes/noise.hpp |
Quantum noise models |
include/qpp/classes/qbase_engine.hpp |
Quantum engine (base class) |
include/qpp/classes/qcircuit.hpp |
Quantum circuit descriptions |
include/qpp/classes/qcircuit_traits.hpp |
Quantum circuit traits |
include/qpp/classes/qdummy_engine.hpp |
No-op (dummy) quantum engine |
include/qpp/classes/qengine.hpp |
Quantum engine |
include/qpp/classes/qengine_traits.hpp |
Quantum engine traits |
include/qpp/classes/random_devices.hpp |
Random devices |
include/qpp/classes/reversible.hpp |
Support for classical reversible circuits |
include/qpp/classes/states.hpp |
Quantum states |
include/qpp/classes/timer.hpp |
Timing |
include/qpp/experimental/ |
Experimental/test functions/classes |
include/qpp/experimental/experimental.hpp |
Experimental/test functions/classes |
include/qpp/internal/ |
Internal implementation details |
include/qpp/internal/classes/ |
Internal class definitions |
include/qpp/internal/classes/iomanip.hpp |
Input/output manipulators |
include/qpp/internal/classes/singleton.hpp |
Singleton pattern via CRTP |
include/qpp/internal/util.hpp |
Internal utility functions |
include/qpp/constants.hpp |
Constants |
include/qpp/entanglement.hpp |
Entanglement functions |
include/qpp/entropies.hpp |
Entropy functions |
include/qpp/functions.hpp |
General purpose quantum computing functions |
include/qpp/input_output.hpp |
Input/output functions |
include/qpp/instruments.hpp |
Measurement functions |
include/qpp/number_theory.hpp |
Number theory functions (for native types) |
include/qpp/operations.hpp |
Quantum operations functions |
include/qpp/options.hpp |
Options such as display formattors etc. |
include/qpp/qpp.h |
Quantum++ main header file (includes others) |
include/qpp/random.hpp |
Randomness functions |
include/qpp/statistics.hpp |
Statistics functions |
include/qpp/traits.hpp |
Type traits |
include/qpp/types.hpp |
Type aliases |
libs/ |
Additional dependencies |
libs/pybind11/ |
Python bindings for C++ code |
pyqpp/ |
Python 3 wrapper package for Quantum++ |
qasmtools/ |
OpenQASM parser |
stress_tests/ |
Partial stress tests against Qiskit and QuTiP |
unit_tests/ |
Unit testing via GoogleTest |
.github/ |
GitHub actions continuous integration |
.clang_format |
clang-format configuration file |
.gitattributes |
git attributes configuration file |
.gitignore |
git configuration file |
CHANGES.md |
Cumulative modifications added by each version |
CMakeLists.txt |
CMake config. file for Quantum++ and unit tests |
CODE OF CONDUCT.md |
GitHub's code of conduct |
CONTRIBUTING.md |
GitHub's contributing rules |
Doxyfile |
Doxygen configuration file, needs Graphviz to be run |
INSTALL.md |
Installation guide, also available on the Wiki |
LICENSE.txt |
MIT License |
README.md |
Detailed building/installing instructions |
VERSION.txt |
Version number |
prettyprint.sh |
Script for automatic code beautifier via clang-format
|
pyproject.toml |
.toml setup for the pyqpp Python 3 wrapper package |
setup.py |
Installer setup for the pyqpp Python 3 wrapper package |
Copyright (c) 2017 - 2024 softwareQ Inc. All rights reserved.