GNU Scientific Library Reference Manual - Third Edition (v1.12)by M. Galassi, J. Davies, J. Theiler, B. Gough, G. Jungman, P. Alken, M. Booth, F. Rossi Paperback (6"x9"), 592 pages, 60 figures ISBN 0954612078 RRP £24.95 ($39.95) |

## 29.1 Acceleration functions

The following functions compute the full Levin u-transform of a series with its error estimate. The error estimate is computed by propagating rounding errors from each term through to the final extrapolation.

These functions are intended for summing analytic series where each term
is known to high accuracy, and the rounding errors are assumed to
originate from finite precision. They are taken to be relative errors of
order `GSL_DBL_EPSILON`

for each term.

The calculation of the error in the extrapolated value is an O(N^2) process, which is expensive in time and memory. A faster but less reliable method which estimates the error from the convergence of the extrapolated value is described in the next section. For the method described here a full table of intermediate values and derivatives through to O(N) must be computed and stored, but this does give a reliable error estimate.

__Function:__gsl_sum_levin_u_workspace ***gsl_sum_levin_u_alloc***(size_t*`n`)- This function allocates a workspace for a Levin u-transform of
`n`terms. The size of the workspace is O(2n^2 + 3n).

__Function:__void**gsl_sum_levin_u_free***(gsl_sum_levin_u_workspace **`w`)- This function frees the memory associated with the workspace
`w`.

__Function:__int**gsl_sum_levin_u_accel***(const double **`array`, size_t`array_size`, gsl_sum_levin_u_workspace *`w`, double *`sum_accel`, double *`abserr`)- This function takes the terms of a series in
`array`of size`array_size`and computes the extrapolated limit of the series using a Levin u-transform. Additional working space must be provided in`w`. The extrapolated sum is stored in`sum_accel`, with an estimate of the absolute error stored in`abserr`. The actual term-by-term sum is returned in`w->sum_plain`

. The algorithm calculates the truncation error (the difference between two successive extrapolations) and round-off error (propagated from the individual terms) to choose an optimal number of terms for the extrapolation. All the terms of the series passed in through`array`should be non-zero.

ISBN 0954612078 | GNU Scientific Library Reference Manual - Third Edition (v1.12) | See the print edition |