- supnorm(p, f, I, errorType, accuracy) tries to compute an interval bound r=[l,u] for the supremum norm of the error function epsilon_absolute=p-f (when errorType evaluates to absolute) or epsilon_relative=p/f-1 (when errorType evaluates to relative), over the interval I, such that sup{|epsilon(x)|, x in I} C r and 0<|u/l-1|< accuracy. If supnorm succeeds in computing a suitable interval r, which it returns, that interval is guaranteed to contain the supremum norm value and to satisfy the required quality. Otherwise, supnorm evaluates to error, displaying a corresponding error message. These failure cases are rare and basically happen only for functions which are too complicated.
- Roughly speaking, supnorm is based on taylorform to obtain a higher degree polynomial approximation for f. This process is coupled with an a posteriori validation of a potential supremum norm upper bound. The validation is based on showing a certain polynomial the problem gets reduced to does not vanish. In cases when this process alone does not succeed, for instance because taylorform is unable to compute a sufficiently good approximation to f, supnorm falls back to bisecting the working interval until safe supremum norm bounds can be computed with the required accuracy or until the width of the subintervals becomes less than diam times the original interval I, in which case supnorm fails.
- The algorithm used for supnorm is quite complex, which makes it impossible
to explain it here in further detail.
Please find a complete description in the following article:

Sylvain Chevillard, John Harrison, Mioara Joldes, Christoph Lauter

Efficient and accurate computation of upper bounds of approximation errors

Journal of Theoretical Computer Science (TCS), 2010

LIP Research Report number RR LIP2010-2

http://prunel.ccsd.cnrs.fr/ensl-00445343/fr/

- In practical cases, supnorm should be able to automatically handle removable discontinuities that relative errors might have. This means that usually, if f vanishes at a point x0 in the interval considered, the approximation polynomial p is designed such that it also vanishes at the same point with a multiplicity large enough. Hence, although f vanishes, epsilon_relative=p/f-1 may be defined by continuous extension at such points x0, called removable discontinuities (see Example 3).

> midpointmode=on!;

> supnorm(p, exp(x), [-1;1], absolute, 2^(-40));

0.45205513967~0/2~e-4

> midpointmode=on!;

> d = [1;2];

> f = exp(cos(x)^2 + 1);

> p = remez(1,15,d,1/f,1e-40);

> theta=1b-60;

> prec=default!;

> mode=relative;

> supnorm(p,f,d,mode,theta);

0.30893006200251428~5/6~e-13

> mode=relative;

> theta=1b-135;

> d = [-1b-2;1b-2];

> f = expm1(x);

> p = x * (1 + x * ( 2097145 * 2^(-22) + x * ( 349527 * 2^(-21) + x * (87609 * 2^(-21) + x * 4369 * 2^(-19)))));

> theta=1b-40;

> supnorm(p,f,d,mode,theta);

0.98349131972~2/3~e-7

See also: dirtyinfnorm, infnorm, checkinfnorm, absolute, relative, taylorform, autodiff, numberroots, diam

Go back to the list of commands