This is the mail archive of the gsl-discuss@sourceware.org mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Where a generalized Richardson extrapolation routine would fit in GSL?


At Thu, 17 Dec 2009 22:50:22 +0000,
Brian Gough wrote:
> > There's just enough to the argument processing and general normtable
> > handling that it's easier to get good test coverage if there's one
> > implementation that does the whole enchilada and then everything else
> > sits as convenience wrappers.  That prevents changes to one
> > convenience function from accidentally changing the interface's
> > semantics (especially for the 'k' handling).
> > 
> > All that said, I'm happy to make the interface conform.  Would you be
> > willing to take draft public API in gsl_extrap.h (inline below) and
> > change the functions and their signatures to resemble what you'd like?
> 
> I will send that once I've looked at it a bit more.

I think the best interface would be the analog of the existing levin
sum routines:

int gsl_sum_levin_u_accel (const double *array,
                           const size_t n,
                           gsl_sum_levin_u_workspace * w,
                           double *sum_accel, double *abserr);

e.g.

int gsl_extrap_richardson (const double *array,
                           const size_t n,
                           const double t,
                           const size_t k
                           gsl_extrap_richardson_workspace * w,
                           double *result, double *abserr);

It would be useful to have both a result and abserr, to take into
account cancellation error.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]