Minimum polynomial extrapolation
In mathematics, minimum polynomial extrapolation is a sequence transformation used for convergence acceleration of vector sequences, due to Sabay and Jackson.[1]
While Aitken's method is the most famous, it often fails for vector sequences. An effective method for vector sequences is the minimum polynomial extrapolation. It is usually phrased in terms of the fixed point iteration:
Given iterates in , one constructs the matrix whose columns are the differences. Then, one computes the vector where denotes the Moore–Penrose pseudoinverse of . The number 1 is then appended to the end of , and the extrapolated limit is
where is the matrix whose columns are the iterates starting at 2.
The following 4 line MATLAB code segment implements the MPE algorithm:
U = x(:, 2:end - 1) - x(:, 1:end - 2);
c = - pinv(U) * (x(:, end) - x(:, end - 1));
c(end + 1, 1) = 1;
s = (x(:, 2:end) * c) / sum(c);
References
- Cabay, S.; Jackson, L.W. (1976), "A polynomial extrapolation method for finding limits and antilimits of vector sequences", SIAM Journal on Numerical Analysis, doi:10.1137/0713060