Higher order corrections
If the formula can be expressed as
> restart:expr1:=Q=Appr(h)+C1*h^2+C2*h^4+O(h^6);
We can apply Richardson Extrapolation to obtain
> expr2:=subs(h=h/2,expr1);
> expr3:=Q=(4*rhs(expr2)-rhs(expr1))/3;
which can be rewritten as
> expr4:=Q=N[2](h)-C2*h^4/4+O(h^6);
with
> def:=N[2](h)=(4*Appr(h/2)-Appr(h))/3;
is the value obtained by Richardson Extrapolation. Replacing
by
yields
> expr5:=subs(h=h/2,expr4);
so that the combination
> expr6:=Q=(16*rhs(expr5)-rhs(expr4))/15;
has only
error terms. We can define
> def2:=N[3](h)=(16*N[2](h/2)-N[2](h))/15;
One may note that this can be written using powers of 4:
> def2a:=N[3](h)=(`4^2`*N[2](h/2)-N[2](h))/(`4^2`-1);
Indeed, when the formula can be written as
,
Richardson Extrapolation can be carried on with
,
.