-
Notifications
You must be signed in to change notification settings - Fork 114
Non-uniform interpolation #11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Wonderful! =) I'm not exactly sure exactly how to best tackle non-uniform grids, actually. Depending on how different the math behind the interpolations is, it might be better to either build on the current infrastructure (and add new subtypes to the current configuration flags) or build something new alongside it. I'm thinking that the API has to be similar to the one for uniform interpolation, so where we currently do
with an assumed
for non-uniform interpolation. Since much of the current infrastructure is focused on solving the interpolation problem in 1D and then generalizing through recursion, maybe the same approach is good enough to start with for non-uniforms as well, in which case |
@TheBB, are your non-uniform grids cartesian product grids, or could you have knots at random points? If the former, I like the tuple-of- I assume you already understand this (you seem to catch on quick!), but just in case: by encoding something about the order of your interpolation into the type parameters, you'll be able to generate efficient code that, for example, doesn't require for loops. |
Also, if we want to target julia 0.4, keep in mind that |
Re. Julia version: I have seen 0.4 as the main target for this library from the start, so feel free to use stuff that requires it. I won't be testing on 0.4 until 0.4-pre is released (mainly because I'm lazy...) but that shouldn't stop anyone else =) |
Goodness, no. Just tensor product grids. |
Whew 😄. |
Thanks for your work on this package - I'm excited for the non-uniform interpolation to be available! I'm new to GitHub, is this the proper place for a comment like this, or is there somewhere more appropriate for expressing interest in features like the package you're working on here? Best, Nate |
Here is fine. Unfortunately I had to start working on something rather different the last couple of months, so I haven't been able to dedicate time to this. :-( |
I don't know if this is of any help but Fornberg [1] provides an algorithm for approximating derivatives (of any order) of a function given on a non-uniform 1d mesh. In particular, it can be used to compute a value of a function (which is the zeroth-order derivative) at any given point (so not only at a mesh point). The algorithm is pretty simple to implement and understand/modify, although I don't know if his approach can be generalized to tensor product grids. |
@pwl Thanks, that's a good reference. I don't have access to the article atm (the full article isn't available for free) but I can probably get access through my university. I will probably focus my efforts on getting the B-spline functionality (see #5) working, and stabilize the API (see #31), but I'll keep this in mind for the future if no-one else gets there before me :) |
I'm wondering if this can be considered solved in terms of |
I'm opening this issue based on this discussion. I've looked at your source code relatively thoroughly, and I think I understand how it works, even though it's a bit more meta than I'm used to.
Am I correct in assuming that non-uniform interpolation is best represented as a new subtype of
GridRepresentation
, for example with knot vector as argument to the constructor?If so, I'd like to start working on that, beginning with constants and working my way up.
The text was updated successfully, but these errors were encountered: