#include <extrapolation.h>
Public Member Functions | |
ExtrapolationTable (const ALGORITHM &T, const unsigned int size, const int p=1) | |
const LowerTriangularMatrix < RESULT > & | table () const |
Protected Attributes | |
LowerTriangularMatrix< RESULT > | table_ |
the extrapolation table |
For a given generic numerical algorithm T with basic "stepsize" H and a given sequence of positive integers n_1 < n_2 < ... < n_k < ... setup the corresponding extrapolation table. The order p has to be specified (asymptotic expansion in h^p).
The algorithm T is handed over as an instance of the template parameter ALGORITHM and should provide a method
void approximate(const unsigned int n, RESULT& r) const
to compute the approximation at t+H with n "intermediate steps". For concrete problems, the interpretation of H and n can look quite differently. The Romberg quadrature, e.g., uses H as the interval length b-a, n is the number of subintervals for the trapezoidal sum. When applying extrapolation to initial value problems, H is the (time) step size and n the number of substeps.
The template parameter RESULT should be a number or vector class, since the entries of the extrapolation table are of this type.
MathTL::ExtrapolationTable< ALGORITHM, RESULT, SEQUENCE >::ExtrapolationTable | ( | const ALGORITHM & | T, |
const unsigned int | size, | ||
const int | p = 1 |
||
) |
constructor with a priori fixed extrapolation table size
const LowerTriangularMatrix<RESULT>& MathTL::ExtrapolationTable< ALGORITHM, RESULT, SEQUENCE >::table | ( | ) | const [inline] |
read access to the extrapolation table