Skip to content

Commit 253a749

Browse files
committed
hopefully final draft
1 parent 48aa71c commit 253a749

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

README.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ NumericalNim is a collection of numerical methods written in Nim. Currently it h
5050

5151
# Documentation & Tutorials
5252
- NumericalNim's [documentation](https://scinim.github.io/numericalnim/)
53-
- SciNim's [getting-started](scinim.github.io/getting-started/) site has a bunch of tutorials. Specific tutorial are linked below in their respective sections.
53+
- SciNim's [getting-started](https://scinim.github.io/getting-started/) site has a bunch of tutorials. Specific tutorial are linked below in their respective sections.
5454

5555
# Installation
5656
Install NumericalNim using Nimble:
@@ -147,6 +147,11 @@ Cubic splines are piecewise polynomials of degree 3 ie. it is defined differentl
147147
Cubic Hermite Splines are piecewise polynomials of degree 3, the same as Natural Cubic Splines. The difference is that we can pass the the derivative at each point as well as the function value. If the derivatives are not passed, a three-point finite difference will be used instead but this will not give as accurate results compared to with derivatives. It may be better to use Natural Cubic Splines then instead. The advantage Hermite Splines have over Natural Cubic Splines in NumericalNim is that it can handle other types of y-values than floats. For example if you want to interpolate data (dependent on one variable) in Arraymancer `Tensor`s you can do it by passing those as a `seq[Tensor]`. Hermite Splines' main mission in NumericalNim is to interpolate data points you get from solving ODEs as both the function value and the derivative is known at every point in time.
148148

149149
## Radial basis function interpolation
150+
Radial basis function interpolation conceptually works by placing a Gaussian at every data point in the dataset and
151+
scale them all such that the linear combination of them interpolates the values in each point. This means that this
152+
method don't have to construct a mesh. It also means the interpolant will be smooth as it simply is a sum of smooth Gaussians.
153+
Internally a *partition of unity* method is employed though to improve performance and numerical stability. Simply put,
154+
the domain is divided into patches and only points in neighboring patches affect each other.
150155

151156
# Utils
152157
I have included a few handy tools in `numericalnim/utils`.

0 commit comments

Comments
 (0)