Minimum polynomial extrapolation

From testwiki
Revision as of 10:52, 13 January 2024 by imported>Citation bot (Added bibcode. | Use this bot. Report bugs. | Suggested by Abductive | Category:Mathematical analysis stubs | #UCB_Category 146/369)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

In mathematics, minimum polynomial extrapolation is a sequence transformation used for convergence acceleration of vector sequences, due to Cabay 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:

xk+1=f(xk).

Given iterates x1,x2,...,xk in n, one constructs the n×(k1) matrix U=(x2x1,x3x2,...,xkxk1) whose columns are the k1 differences. Then, one computes the vector c=U+(xk+1xk) where U+ denotes the Moore–Penrose pseudoinverse of U. The number 1 is then appended to the end of c, and the extrapolated limit is

s=Xci=1kci,

where X=(x2,x3,...,xk+1) is the matrix whose columns are the k 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


Template:Mathanalysis-stub