pygpc

Documentation of pygpc

A Sensitivity and uncertainty analysis toolbox for Python based on the generalized polynomial chaos method

Basic features:

  • Highly efficient uncertainty analysis of N-dimensional systems

  • Sensitivity analysis using Sobol indices and Global derivative based sensitivity indices

  • Easy coupling to user defined models written in Python, Matlab, etc…

  • The parallelization concept allows to run model evaluations in parallel

  • Highly efficient adaptive algorithms allow for analysis of complex systems

  • Includes highly efficient CPU and GPU (CUDA) implementations to significantly accelerate algorithmic and post-processing routines for high-dimensional and complex problems

  • Includes state-of-the-art techniques such as:
    • Projection: determination of optimal reduced basis

    • L1-minimization: reduction of necessary model evaluations by making use of concepts from compressed sensing

    • Gradient enhanced gPC: use of gradient information of the model function to increase accuracy

    • Multi-element gPC: analyzing systems with discontinuities and sharp transitions

    • Optimized Latin Hypercube Sampling for fast convergence

Installation

Installation using pip:

Pygpc can be installed via the pip command with Python >= 3.6. Simply run the following command in your terminal:

pip install pygpc

If you want to use the plot functionalities of pygpc, please also install matplotlib and seaborn:

pip install matplotlib seaborn

Installation using the GitHub repository:

Alternatively, it is possible to clone this repository and run the setup manually. This requires a compiler that supports OpenMP which is used by the C-extensions and NumPy for some headers. You can install NumPy by running the following command:

pip install numpy

Alternatively you can install the build dependencies with the following command:

pip install -r requirements.txt

Afterwards, pygpc can be installed by running the following line from the directory in which the repository was cloned:

python setup.py install

Installation of the CUDA backend:

Pygpc also provides a CUDA-backend to speed up some computations. To use the backend you need to build it manually. This requires the CUDA-toolkit and CMake. CMake can be installd via the pip command. Simply run the following command in your terminal:

pip install cmake

For the installation of the CUDA-toolkit please refer to: https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html. If CMake and the CUDA-toolkit are installed on your machine you can build the extension with:

python build_pygpc_extensions_cuda.py

Troubleshooting for OSX:

On a mac you need GCC to install pygpc. If you are using the brew package manager you can simply run:

brew install gcc libomp

Then install pygpc with:

CC=gcc-9 CXX=g++-9 python setup.py install

Troubleshooting for Windows:

On windows you might need a compiler to install pygpc. To install the Visual C++ Build Tools, please refer to: http://go.microsoft.com/fwlink/?LinkId=691126&fixForIE=.exe.

Documentation

For a full API of pygpc, see https://pygpc.readthedocs.io/en/latest/. For examplary simulations and model configurations, please have a look at the jupyter notebooks provided in the /tutorial folder and the templates in the /templates folder.

Contact

If you have questions, problems or suggestions regarding pygpc, please contact Konstantin Weise.

Indices and tables