Release notes
V5.1.1
Bug fixes
- Fixed bug in grid point cropping in
spfindopt
used to find best optimization start point (added tolerance, fixed indices range).
- Fixed non-critical "Out of range value or NaN computed in integer arithmetic" warning occurring occasionally in the dimension-adaptive algorithm (seen in Matlab v7.4.0.287, R2007a).
V5.1.0
New features
- Added new degree balancing strategy for improved handling of greedy, dimension-adaptive vs. conservative grid refinement. See Advanced Topics, Degree of Dimensional Adaptivity for more information.
Bug fixes
- Fixed bug in dimension-adaptive spvals algorithm: in rare cases, an incorrect warning message was issued (reported 'no more active indices available' instead of 'maximum number of points reached prior to convergence').
- Added warning message when maximum supported depth for Chebyshev grid (level 10) is exceeded.
V5.0.0
New features
- Added full numerical integration capability for both regular and dimension-adaptive sparse grid interpolants. See Advanced Topics, Integration for more information.
- Added Gauss-Patterson grid type.
MaxDepth
now also applies to the dimension-adaptive algorithm. If MaxDepth
is reached with respect to a coordinate direction, this direction is no longer refined further.
Bug fixes
- Fixed bug in dimension-adaptive algorithm: level vector was not reset.
V4.0.0
New features
- Added efficient optimization algorithms specifically implemented to optimize sparse grid interpolants. See Advanced Topics, Optimization for more information.
Bug fixes
- Modified augmented gradient computation for piecewise linear sparse grids to ensure that the gradient vector is
0
at an extremum.
- Improved allocation of grids points in the dimension-adaptive algorithm when handling very large dimensions
d > 100
. The maximum problem dimension that can be handled is now d = 65534
.
- Fixed display of menus on Web page that occurred with Internet Explorer 7.
V3.5.1
New features
- Added support of calling
spinterp
with the points to evaluate as a single matrix (special thanks to Daniel Harenberg for the suggestion and the provided code).
Bug fixes
- Fixed bug in gradient computation that caused a wrong scaling of derivatives when range intervals were not equal to one (problem found and solved by Katrin Grau).
V3.5.0
New features
- Added capability of computing accurate gradient vectors. This can be done when evaluating the interpolant, at a small additional cost. This major enhancement is available for the Clenshaw-Curtis and the Chebyshev sparse grid, for both the regular and the dimension-adaptive algorithms. See Advanced Topics, Derivatives for more information.
Bug fixes
- It is now possible to evaluate the Chebyshev sparse grid interpolant outside of the box range defined during the call to
spvals
. This previously caused an error in the barypdstep
algorithm. However, doing this is usually not recommended, since, in most cases, the quality of the approximation decreases rapidly outside of the specified box.
- Fixed figure showing piecewise multilinear sparse grid types in the printed documentation (Chebyshev grid figure was shown twice instead).
- Fixed dimension-adaptive example in documentation (value for
DimadaptDegree
argument in call to spset
was missing).
V3.2.0
New features
- Construction of hierarchical polynomial sparse grid interpolants using the fast discrete cosine transform. This new algorithm greatly improves the efficiency of the Chebyshev-type sparse grid in lower dimensions and the dimension-adaptive Chebyshev-type sparse grid when just few dimensions are important. See demo
timespvalsdct.m
.
- Purging algorithm. Optionally cleans up sparse grid interpolants from less important sub-grids to increase evaluation speed. See
sppurge
.
- Added additional documentation on optimizing the performance of the Sparse Grid Interpolation Toolbox.
Bug fixes
- Changed warning message that was displayed if the maximum number of points was reached prior to reaching the requested error tolerance when performing a dimension-adaptive interpolant construction with
spvals
. It now displays the current error estimate and the target error tolerances.
- The private function
spcmpvalsccsp.m
was missing the pre-allocation of backvec
, causing performance losses.
V3.0.1 beta
New features
Compared to the previous major release V2.1.1, the following features have been added:
- Polynomial basis functions at the Chebyshev-Gauss-Lobatto sparse grid. Efficient implementation using Barycentric interpolation.
- Dimension-adaptive algorithm for the treatment of higher-dimensional problems (based on piecewise linear basis functions at the Clenshaw-Curtis grid and based on polynomial basis functions at the Chebyshev-Gauss-Lobatto grid).
- New data structure to store the interpolant's hierarchical surpluses that is especially efficient in case of higher-dimensional problems.
- Much improved documentation and extensive demo suite. The documentation now includes Matlab help browser support, HTML documentation of all functions, additional examples, and a help index.
Upgrade issues/backward compatibility
Please note the following minor changes affecting the user interface compared to the previous release V2.1.1:
- The toolbox now requires at least Matlab Version 7.0 (R14), since the toolbox makes heavy use of the integer data formats and integer arithmetic available since this Matlab release.
- To avoid naming ambiguity/conflicts, the initialization command was renamed from
init
to spinit
.
- The structure generated by
spvals
(usually denoted by z
) now stores the hierarchical surpluses z.vals
in the new, improved sparse data storage format. Therefore, manual accessing of the hierarchical surpluses of the sub-grids has to be done differently. However, the previous behavior of spvals
(i.e. in case of d = 2, n = 2, the hierarchical surpluses of the indices sub-grids with multi-index (0,2), (1,1), (0,2) were stored as the (n+1)th element of the cell array z.vals
) can be achieved by generating a sparse grid OPTIONS
structure with the switch SparseIndices
set to 'off' using the spset
command.
Bug fixes
- Version V3.0 beta used a default degree of dimensional adaptivity of 0.5 instead of the value 0.9 mentioned in the documentation. The private subroutine barypdstep.m used a non-initialized double array that caused a severe performance loss. (Fixed)
- Version V2.1.1 of the toolbox produced a non-critical "structure assignment warning" in Matlab Version 7 R14 SP2 during the call to
spvals
. (Fixed)