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.

scheme-2

OpenQP Base Layer

  • 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.

OpenQP C API Layer

  • 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.

Going back to Developer Documentation