Interpolations.jl icon indicating copy to clipboard operation
Interpolations.jl copied to clipboard

WIP: Cubic Hermite Splines (and monotone splines)

Open cc7768 opened this issue 8 years ago • 4 comments

Work in progress with @sglyon. This PR (when it is finished) would address #105

Plan: Cubic Hermite splines use information about both the value and derivative of the function. The plan is to allow for users to give both pieces of information if they would like, but if they only give values then we can construct an approximation of the derivative for them (using a specific approximation that preserves monotonicity).

Progress: A long way to go, but I thought I would open PR so no work got duplicated (and as a commitment device to myself). We have a (very) crude 1d implementation that seems to work for interpolating data.

Next: Our next step is that we need to plug this into the Interpolations.jl framework i.e. make sure we write the right indexing functions etc... Will keep people updated.

cc7768 avatar Apr 21 '16 22:04 cc7768

Nice!

Hermite splines are not inherently cubic, right? How difficult would it be to generalize the implementation to support (at least) lower orders too?

tomasaschan avatar Apr 22 '16 06:04 tomasaschan

Hermite splines aren't inherently cubic, but that seems to be the main use case. I don't know how hard it would be to generalize the implementation:

  • Linear: Not sure that implementing these would be worthwhile because they should be equivalent to linear b-splines
  • Quadratic: Might be worth doing, though they seem to be used very infrequently. Relevant paper: On Shape Preserving Quadratic Spline Interpolation

Will let you know how much effort implementing the quadratic version looks like it will be as I have time to work on this.

cc7768 avatar Apr 25 '16 16:04 cc7768

Why this one not merged at that time? It could be worth to merge and add Linear & quadratic later.

appleparan avatar Oct 13 '16 13:10 appleparan

I haven't made time to finish this, so there isn't anything worth merging.

Likely won't have a chance to do this before new year. Depends on how some other things progress.

cc7768 avatar Oct 13 '16 14:10 cc7768