Structure of OpenQP - Open-Quantum-Platform/openqp GitHub Wiki
To harness the strengths of different programming languages, the core routines of the Open Quantum Platform (OpenQP) are encapsulated in a Python library, liboqp.so, using ISO_C_BINDING and CFFI. In this framework, high-performance languages like Fortran, C, and C++ are used to build the underlying library, while Python provides an accessible execution environment for these optimized routines. This approach combines the flexibility and user-friendliness of Python with the efficiency and speed of compiled languages.
- Core Libraries: Includes essential external libraries such as BLAS, LAPACK, nlOPT, and libXC.
- Fundamental Routines: Provides basic routines, such as two-electron integrals.
- Low-Level Primitives: Offers a set of primitives for building custom modules.
- Modules: Modules that can be interfaced or accessed from Python or other external programs.
OpenQP Python Wrapper Layer (pyOQP)
- Module Access: Provides access to the Modules in the OpenQP C API Layer.
- External Program Interface: Offers an easy-to-use layer for interfacing with external programs.