Releases: SGpp/SGpp
v3.4.0
[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
[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
v3.2.0
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 😉
v3.1.0
This release has been available on sgpp.sparsegrids.org 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 sgpp.sparsegrids.org for more information.
Below, we provide for your convenience:
- Debian package (C++ libraries only)
- Matlab mex-Files for Linux
- Matlab mex-Files for Windows
Changes:
- 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.
v3.0.0
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
)
- B-Spline Collocation (collocation with B-splines in the hierarchical sparse grid space,
- 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
)
- Data input wrapper and support for CVS data files (
- Support for ordered data sets
- Pre-ordering of data sets on space-filling curves in Morton order to support data locality (
MortonOrder
)
- Pre-ordering of data sets on space-filling curves in Morton order to support data locality (
- New grid spacings
- General grid
Stretching
- Reactivation of
BoundingBox
es
- General grid
- 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.
v2.1.0
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.
v2.0.0
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
, andGridIndex
(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.
v1.1.0
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.
v1.0.0
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.