SGpp SGpp Versions Save

SG⁺⁺ – the numerical library for Sparse Grids in all their variants.

v3.4.0

2 years ago

[3.4.0] - 2021-06-28

Added

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

Changed

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

Fixed

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

Removed

  • Java support deprecated (#256)

v3.3.0

4 years ago

[3.3.0] - 2020-03-24

Added

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

Changed

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

Fixed

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

v3.2.0

5 years ago

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 :wink:

v1.0.0

5 years ago

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.

v0.9.1

5 years ago
  • Compilation support for auto-detection of settings
  • Extended use of DataVector from Python
  • GridDataBase class

v0.9.0

5 years ago
  • Provides everything that is necessary to use spatially adaptive sparse grids for interpolation, optimization, …
  • Several types of piecewise linear basis functions
    • Different boundary treatment
    • Modified boundary basis functions
  • Grids (handling, creation, modification, …)
  • Adaptivity
  • Hash-based grid storage

v0.9.0 was originally released on 7 Jun 2010.

v1.1.0

5 years ago

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.

v2.0.0

5 years ago

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.

v2.1.0

5 years ago

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.

v3.0.0

5 years ago

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 sgpp.sparsegrids.org 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.