2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-27 07:02:08 +00:00
Commit Graph

7 Commits

Author SHA1 Message Date
jzmaddock
1783c3a74c Math: Fix inspection report errors. 2017-11-09 19:39:32 +00:00
jzmaddock
127178518d Add iterator based construction to cubic B spline. 2017-05-03 13:07:54 +01:00
Nick Thompson
4632cb1169 Remove typos in documentation. Remove hacks for float128 in unit tests. 2017-05-02 10:33:36 -06:00
Nick Thompson
4efe710855 Add tests detailing the use cases which make it difficult to use std::unique_ptr for pimpl idiom. Also, test that evaluating the spline outside the interpolation region succeeds as best it can. 2017-03-06 11:12:51 -06:00
Nick Thompson
2506d7ed1f Use PIMPL so that the interpolant can be passed as a functor. 2017-03-02 17:16:21 -06:00
Nick Thompson
2b9d88d352 Fixes suggested by code review of PR #57. 2017-03-02 11:54:55 -06:00
Nick Thompson
fee20ab932 Given a function f, known at evenly spaced samples y_j = f(a + jh),
this function constructs an interpolant using compactly supported cubic b splines.
The advantage of using splines of compact support over traditional cubic splines
is that compact support makes the splines well-conditioned.

The interpolant is constructed in O(N) time and can be evaluated in constant time.
Its error is O(h^4), and obeys the interpolating condition s(x_j) = f(x_j) for all samples.
In addition, f' can be estimated from s', albeit with lower accuracy.

This routine is cppcheck clean, and is clean under AddressSanitizer and MemorySanitizer.
2017-02-23 18:21:06 -06:00