Skip to content

Releases: SGpp/SGpp


28 Jun 18:11
Choose a tag to compare

[3.4.0] - 2021-06-28


  • New B-spline bases
    • Extended not-a-knot B-splines
    • Boundaryless not-a-knot B-splines
  • New convenience classes for surrogates and response surfaces
    • ResponseSurface
    • SplineResponseSurface
    • SplineResponseSurfaceVector
  • Vector refinement functors
    • VectorSurplusRefinementFunctor
    • VectorDistributionRefinementFunctor
  • OperationWeightedQuadrature for the calculation of means
  • OperationWeightedSecondMoment for the calculation of variances
  • New methods for the datamining pipeline
    • Density Difference Estimation (with similar properties and features as Density Estimation)
    • Density Ratio Estimation (with similar properties and features as Least Squares Regression)
  • Truncated combination grid functionality (#197)


  • Add GitHub actions CI and moved Windows tests there (#252)


  • DataMatrix::resizeToSubMatrix off-by-two error (#232)
  • Fixed various small build bugs discovered when creating/updating the SGpp Spack package (#229 #235 #241)


  • Java support deprecated (#256)


24 Mar 15:09
Choose a tag to compare

[3.3.0] - 2020-03-24


  • New Combigrid module focused on usability (#176)
  • Automatically run C++ and Python examples
  • Travis packaging test
  • A bunch of new spline based grid types (#143)
  • Fuzzy framework in optimization module (#143)
  • Debian java package (#215)
  • Add conan recipe (#206)
  • Grid coarsening added to the datamining pipeline (#200)


  • Better decoupling of application and core functionality in the datamining pipeline
  • Datamining pipeline examples reworked (#124)
  • Libraries don't get installed into hardcoded "sgpp" subfolder (#222)


  • Fix C++ and Python examples
  • Fix various optimization bugs
  • Fix debian packging (#154)
  • Fix python packaging (#209)


22 Mar 12:13
Choose a tag to compare

With this release, we have completed the transition to GitHub. Additionally, the updates include:

  • Completed transition to Python 3 for the examples and bindings written in Python
  • New functionality especially with respect to the data mining pipeline, e.g.,
    • improved interfaces
    • better I/O support
  • Automatic support of GSL if available
  • Travis support
  • Fixed SCons configure on clean
  • New logo 😉


21 Aug 16:27
Choose a tag to compare

This release has been available on for quite some time, but did not make it to github.
Sorry for that.
Please generate the documentation (scons doxygen) or see the version history at for more information.

Below, we provide for your convenience:

  • Debian package (C++ libraries only)
  • Matlab mex-Files for Linux
  • Matlab mex-Files for Windows


  • Added missing folder for the creation of direct MATLAB interfaces
  • Corrected mininum version for SWIG to 3.0.3

v3.1.0 was originally released on 16 Apr 2018.


21 Aug 16:30
Choose a tag to compare

We joined GitHub for releases of SG++ starting with version 3.0.0.
Please feel free to contribute, comment, extend, …

See our documentation for users and developers as well as the API and plenty of examples at
There we also provide a Debian package and Matlab binaries.

Below, we provide for your convenience:

  • Debian package (C++ libraries only)
  • Matlab mex-Files for Linux
  • Matlab mex-Files for Windows

Important changes:

  • We provide a new combigrid module with plenty of functionality!
    • An anisotropic implementation of the combination technique. This means that different 1D-grids and 1D - operators can be used for each dimension. This allows e.g. interpolating in one direction and integrating the interpolated function in another direction.
    • 1D grids: Uniform without boundary points (UniformPointDistribution), uniform with boundary points (UniformBoundaryPointDistribution), Clenshaw-Curtis (ClenshawCurtisDistribution, Chebyshev (ClenshawCurtisDistribution), (weighted), Leja (LejaPointDistribution), (weighted) L2-Leja (L2LejaPointDistribution)
    • Operators: Interpolation (PolynomialInterpolationEvaluator, BSplineInterpolationEvaluator, LinearInterpolationEvaluator), quadrature (PolynomialQuadratureEvaluator, BSplineQuadratureEvaluator), tensors (InterpolationCoefficientEvaluator)
    • Regular and adaptive (also parallel) level-generation: various level managers (RegularLevelManager, AveragingLevelManager) are available that predict the surplus of each subspace
    • Support for directly working on full-grid subspaces: enables to solve PDEs, regression problems, density estimation on each full-grid separately
    • Simple Python example and a C++ example to get started quickly
    • Serialization and deserialization of computed function values
    • Optimizations: function evaluations (but not the following computations) can be easily parallelized, interpolation at multiple points at once, operator coefficients and grid points are stored for recomputations at other evaluation points
    • Frequent use of abstract base classes such that extensions are easy to implement (e.g. new grids, operators and adaption schemes)
    • Various surrogate models for Uncertainty Quantification that are based on the Combination Technique are available:
      • B-Spline Collocation (collocation with B-splines in the hierarchical sparse grid space, BsplineStochasticCollocation)
      • Stochastic Collocation (global polynomial approximation with Legendre polynomials, PolynomialStochasticCollocation)
      • Polynomial Chaos Expansion (global polynomial approximation with orthogonal polynomials with respect to univariate weight functions, PolynomialChaosExpansion)
  • A new plug-in-based data mining pipeline in datadriven, including:
    • Data input wrapper and support for CVS data files (CSVTools)
    • A regression-based fitter (FitterConfiguration)
    • A scorer wrapper for evaluation (Scorer)
    • New classification methods, such as a density-based learner with online-offline splitting (LearnerSGDEOnOff), including incomplete Cholesky factorization (DBMatDMSDenseIChol)
    • New adaptive refinement schemes, including joint refinement for multiple classes (MultipleClassRefinement)
  • Support for ordered data sets
    • Pre-ordering of data sets on space-filling curves in Morton order to support data locality (MortonOrder)
  • New grid spacings
    • General grid Stretching
    • Reactivation of BoundingBoxes
  • Plenty of fixes and updates
    • Improved modularization: it is now easy to add own modules
    • Restructured examples, and a lot more of them
  • … and much more!

v3.0.0 was originally released on 12 Mar 2018.


14 Mar 15:50
Choose a tag to compare

Important changes:

  • We are modifying the preliminary combigrid module; therefore it is not included in this release
  • Introduced C++11 features
    • smart pointers
  • Completely restructured documentation of examples
  • A lot more examples
  • Improved build system
  • Better unser instructions for build system
  • More tests
  • Clone method for Grids
  • New learner functionality

v2.1.0 was originally released on 12 Aug 2016.


14 Mar 15:53
Choose a tag to compare

As we have retructured (and significantly improved) several of the interfaces, we switched to a new, major version. As we don't provide backwards compatibility, we list here the most important changes:

  • Massive interface change in sgpp::base from plain pointers to smart pointers and references (e.g., sgpp::base::Grid::createLinearGrid(), sgpp::base::Grid::getGenerator(), …)
  • Consistent renaming of key functions in Grid, GridStorage, and GridIndex (e.g., sgpp::base::Grid::getDimension())
  • Name change of global namespace from SGPP to sgpp
  • Major redesign of SCons scripts, change of SCons parameters, better diagnostic output
  • Add support for Clang 3.8
  • Overall improvement of the code quality due to fixed Clang warnings
  • Removal of single precision support and of double
  • Removal of MSVC++ support
  • More unit tests
  • Small changes and bug fixes in code and documentation

v2.0.0 was originally released on 20 May 2016.


14 Mar 15:55
Choose a tag to compare

New features:

  • Improved code quality
  • New combigrid package
  • OpenCL data mining
  • Improved SCons support
  • Support for installation (scons install)
  • More unit tests
  • New optimization method (CMA-ES)
  • Some refactoring in sgpp::optimization (may break compatibility)
  • Test problems for sgpp::optimization restructured

v1.1.0 was originally released on 24 Feb 2016.


14 Mar 19:30
Choose a tag to compare

Finally, it's out there!

Please note that release v1.0.0 contains a major restructuring. Interfaces have been redesigned, factory methods restructured, and a lot of improvements have been done.

Important changes that might cause side-effects in codes using previous versions include:

  • There are entirely new parameters for compilation. Please see scons -h for further information.
  • Some of the Grid classes have been renamed. This affects especially the boundary-based grids. LinearBoundaryGrid is now the grid with the same discretization on the boundary as on the main axis.

Features of release v1.0.0:

  • Automatic check for requirements in SCons for compilation
  • Full module support
  • Release of further and extended modules (optimization, pde, solver, datadriven, …)
  • Extended parallelization support
  • New types of basis functions
  • More documentation, especially on adaptive refinement
  • And much more…

v1.0.0 was originally on 26 Sep 2015.


14 Mar 19:28
Choose a tag to compare
  • Compilation support for auto-detection of settings
  • Extended use of DataVector from Python
  • GridDataBase class