Probably best is to file an issue in Grid. Thanks very much for tackling this!
--Tim On Saturday, April 19, 2014 04:42:06 PM Tomas Lycken wrote: > *@Tim Holy*, I've started thinking about how I should go about implementing > cubic spline interpolation for Grid.jl over my Easter break - as a start, > I'm trying to read through the code that does the quadratic interpolation > and understand how all the parts of the library work together, and how I > should hook into the current code structure. Of course, questions keep > popping up ranging anywhere from "this seems to be dead code, is that > intentional or am I missing something?" to "I have no idea what this > function does, would you mind explaining it?" What is the best place for me > to ask such quesitons? Here on the mailing list, in issues (or one single > discussion issue) on Github, or somewhere else? > > Thanks in advance! > > // Tomas > > On Thursday, March 27, 2014 1:56:04 AM UTC+1, Tim Holy wrote: > > This is spelled out in the paper > > > > P. Thevenaz, T. Blu, and M. Unser (2000). "Interpolation Revisited." > > IEEE Transactions on Medical Imaging, 19: 739-758. > > > > Basically, the idea is that interpolation computes values from a set of > > > > coefficients: > > y(x) = sum_i coef_i * f_i(dx_i) > > > > where dx_i comes from a displacement of x. For an "interpolating" > > function, > > the coefficients are the actual on-grid values of the function you're > > trying to > > interpolate. However, you can generalize the notion to "non-interpolating" > > expressions, where the coefficients are distinct from the on-grid values. > > You > > can pretty quickly convince yourself that this is necessary, for example, > > if > > you want to have 3-point quadratic interpolation with continuous > > derivatives. > > The coefficients turn out to be related to the on-grid values via a simple > > tridiagonal matrix equation (which is fast to invert). > > > > Explicitly, for quadratic interpolation you can convince yourself that the > > only expression with continuous derivatives at the half-point between > > integers > > is > > > > y(alpha) = (alpha-0.5)^2*ym/2 + (.75-alpha)^2*y0 + (alpha+0.5)^2*yp/2 > > > > where |alpha| <= 0.5 and ym,y0,yp are the interpolation coefficients. Plug > > in > > alpha=0, and you can see that you don't recover y0. Hence it's "non- > > interpolating." > > > > --Tim > > > > On Wednesday, March 26, 2014 05:00:36 PM Stefan Schwarz wrote: > > > > Hello Tim, > > > > > > this is maybe not the right place to ask this question, > > > but may you elaborate on that matter, that interp_invert! > > > compensates "the non-interpolating" issue of > > > the quadratic? > > > > > > Thanks in advance > > > > > > Stefan
