Struct rgsl::types::series_acceleration::LevinUTruncWorkspace[][src]

pub struct LevinUTruncWorkspace { /* fields omitted */ }

The following functions perform the same calculation without estimating the errors. They require O(N) storage instead of O(N^2). This may be useful for summing many similar series where the size of the error has already been estimated reliably and is not expected to change.

Methods

impl LevinUTruncWorkspace
[src]

This function allocates a workspace for a Levin u-transform of n terms, without error estimation. The size of the workspace is O(3n).

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. The actual term-by-term sum is returned in w->sum_plain. The algorithm terminates when the difference between two successive extrapolations reaches a minimum or is sufficiently small. The difference between these two values is used as estimate of the error and is stored in abserr_trunc. To improve the reliability of the algorithm the extrapolated values are replaced by moving averages when calculating the truncation error, smoothing out any fluctuations.

Trait Implementations

impl Drop for LevinUTruncWorkspace
[src]

Executes the destructor for this type. Read more

Auto Trait Implementations