[SciPy-User] help interpreting univariate spline
josef.pktd@gmai...
josef.pktd@gmai...
Fri Apr 30 15:40:33 CDT 2010
On Fri, Apr 30, 2010 at 4:14 PM, Elliot Hallmark <permafacture@gmail.com> wrote:
>> (I'll point out that you lose accuracy - possibly a lot of it -
>> by converting polynomials from one representation to another.)
>
> error between evaluation of the interpolation and eval of polynomial
> is consistently 10^-16. I don't know if this is huge in computer
> world, but it is
> quite reasonable to me. 10^-16 is about zero in my view.
>
>
> >If all
>> you want to do is solve the polynomials, though, scipy already
>> provides root-finding functionality in its splines
>
> But I will be using c code through cython to solve for roots, which is
> why I want a transparent way to solve the interpolation.
>
>>
>> If you really want the polynomials, though, the tck representation
>> scipy uses is semi-standard for representing splines; you may find the
>> non-object-oriented interface (splrep, splev, etc.) somewhat less
>> opaque in this respect. If you do decide to decipher the results, keep
>> in mind that with the knots held fixed, it's a linear representation
>> of the space of piecewise-cubic functions, so if you can find
>> representations for your basis functions (e.g. 1, x, x**2, x**3) you
>> can easily work out the conversion. And since the interpolating spline
>> for each of those functions is itself, all you need to do is four
>> interpolations on a fixed set of knots.
>
>
> um, I think this is what I already have done? But the "semi standard"
> spline representation in tck is completely undocumented as far as I
> can tell. The only way to get the polynomial coefficents I can tell
> is through evaluating the derivatives.
>
> Do you know what is the meaning of the coefficents splrep generates?
> How could such a small set of coefficents represent all the
> information of a cubic function?
just a guess:
http://en.wikipedia.org/wiki/B-spline#Cubic_B-Spline
has a representation of the curve as linear combination of spline
basis functions which requires only m-2 coefficients.
The fortran and f2py code is not informative about this, maybe the
original documentation by Dierckx shows the exact specification.
But I still wouldn't see from the wikipedia representation, how to get
the coefficients of the piecewise polynomial back.
Josef
> _______________________________________________
> SciPy-User mailing list
> SciPy-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>
More information about the SciPy-User
mailing list