Commit Graph

46 Commits

Author SHA1 Message Date
Nick
4294260812
Merge pull request #245 from boostorg/deprecate_cubic_b_spline
Deprecate cubic B-spline for cardinal cubic B-spline [CI SKIP]
2019-08-30 08:02:41 -04:00
NAThompson
caf1883788 Deprecate cubic B-spline for cardinal cubic B-spline [CI SKIP] 2019-08-22 09:35:05 -04:00
NAThompson
1955699777 Cardinal Quintic B-splines: Documentation. [CI SKIP] 2019-08-13 09:34:01 -04:00
pabristow
3d56177eb2 Merge branch 'develop' of https://github.com/boostorg/math into develop 2019-08-12 18:14:41 +01:00
pabristow
fee0884df4 [CI SKIP] Use JM version of hypergeometric.gbk 2019-08-09 16:13:10 +01:00
NAThompson
357cc1528a Derivatives of trigonometric interpolant. 2019-08-09 08:39:52 -04:00
pabristow
6981dc12f9 [CI SKIP]Editorial work using changes in math.css, part one. 2019-08-09 13:22:33 +01:00
NAThompson
d7772d1560 Document second derivative of cubic B-spline. [CI SKIP] 2019-08-08 11:26:57 -04:00
Nick Thompson
31fa421c46 Cardinal trigonometric: Documentation updates [CI SKIP] 2019-07-28 12:34:06 -04:00
Nick Thompson
efb53a3c43 Cardinal trigonometric interpolation: Implement squared l2 norm. 2019-07-27 21:21:33 -04:00
Nick Thompson
27bc4146d9 Cardinal trigonometric interpolation. 2019-07-27 17:04:29 -04:00
Nick Thompson
a3b60e647f Cardinal quadratic B-spline interpolation. 2019-06-26 08:50:00 -04:00
Nick
21daaf9a90
Merge pull request #219 from boostorg/whittaker_shannon
Whittaker shannon
2019-06-26 06:58:27 -04:00
Nick Thompson
260a3af015 Whittaker-Shannon: Update docs, implement derivatives. 2019-06-24 08:28:14 -04:00
Nick Thompson
a1149ce7f0 Whittaker-Shannon interpolation: Use PIMPL idiom. [CI SKIP] 2019-06-19 06:53:01 -04:00
Nick Thompson
2d770b9d32 Vector barycentric rational: Enable compilation with containers which do not have multiplication/division/addition defined on them. 2019-06-17 08:28:45 -04:00
Nick Thompson
aa5a63135c Remove typo from docs and kick off build. 2019-05-30 13:42:58 -04:00
Nick
18feb0fc2a Documentation, more unit tests [CI SKIP] 2019-05-30 13:25:53 -04:00
Nick Thompson
c8062fbc90 Allow generic random access containers other than std::vector for Catmull-Rom. 2019-05-16 18:03:57 -04:00
Nick Thompson
c00623da74 Add move constructor for barycentric rational interpolation. 2019-01-27 16:28:31 -07:00
Nick Thompson
081842118b Give advice about first and last interpolator segments in the open-curve case. [CI SKIP] 2018-12-03 12:33:45 -07:00
Nick Thompson
baddf9509a The move constructor is 30% faster than the copy; hence remove the data copy and only allow move construction. [CI SKIP] 2018-12-02 13:34:51 -07:00
Nick Thompson
fd519a73d6 Implement suggestions from code review [CI SKIP] 2018-12-02 11:18:41 -07:00
Nick Thompson
9e61547f33 Fix syntax error in docs. [CI SKIP] 2018-10-29 17:14:46 -06:00
Nick Thompson
381f663517 Merge and run CI 2018-10-28 23:27:41 -06:00
pabristow
69908294cd edit and broken links in docs qbk only, locally builds and passed inspect program [CI SKIP] 2018-10-04 14:33:13 +01:00
Nick Thompson
84d36d785c Add derivative of barycentric rational interpolation. 2018-04-13 20:19:46 +08:00
Nick
74990aec5c
Typo removal from cubic_b_spline.qbk 2018-03-02 23:15:54 -06:00
Nick
98412f9540
Typo removal from docs. 2018-03-02 23:10:59 -06:00
Nick Thompson
1781d47b78 [ci skip] Clarify conditions on the template point type. Add include and concept test. 2018-01-27 14:44:15 -06:00
Nick Thompson
e137fffa63 Loosen up tolerance in unit tests to prevent spurious failures. 2018-01-10 12:03:42 -06:00
Nick Thompson
0f007c23c6 Reuse temporaries to increase performance. 2017-12-23 17:06:20 -07:00
Nick Thompson
9dce6d8bb9 Catmull-Rom: Add example and test to build, update docs. 2017-12-22 23:30:31 -07:00
Nick Thompson
4cce07e15e Implement tangent vector computation. Fix index lookup. Close all Catmull-Rom curves and document. 2017-12-22 16:31:36 -07:00
Nick Thompson
cad34ff756 First pass at a Catmull-Rom curve interpolator. 2017-12-21 16:12:24 -07:00
Nick
8458d8fea0
Fix change in path for barycentric_rational. 2017-11-03 15:31:06 -06:00
jzmaddock
87ab68456d Improve interpolator documentation and examples. 2017-05-06 12:26:37 +01:00
jzmaddock
80e7f7027c Merge branch 'barycentric' of https://github.com/NAThompson/math into interpolate_rat
Fix some msvc failures.
Suppress some compiler warnings.
Added iterator based constructor.
Moved docs to better position.

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-05-05 13:01:56 +01: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
76a5423666 Finally learned how to use quickbook. The documentation for the cubic b spline looks good now. 2017-04-08 18:47:42 -05:00
Nick Thompson
6734b363dd Include spline documentation in math.qbk so it gets added to the build. 2017-03-11 15:56:34 -06:00
Nick
36159a4426 Discuss how the interpolant extrapolates. 2017-03-06 11:57:25 -06:00
Nick Thompson
c42e8feebe Remove all traces of the linguistically incorrect word 'routine'. 2017-03-02 12:30:12 -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