Chapter 10, Computer Assisted Proofs and Self-Validating Methods

Siegfried M. Rump

INTLAB

The new Version 7.1 of INTLAB is available. INTLAB is Matlab toolbox for self-validating algorithms. A number of changes, improvements and speed-ups have been implemented.

It comprises of

The philosophy of INTLAB is that *everything* is written in Matlab code to assure best portability.

The new version handles Hessians in pure floating point and with verified bounds. As an example consider a model problem where the function to be minimized is

   function y = f(x)
     N = length(x);
     I = 1:N-4;
     y = sum( (-4*x(I)+3.0).^2 ) + sum( ( x(I).^2 + 2*x(I+1).^2 + ...
       3*x(I+2).^2 + 4*x(I+3).^2 + 5*x(N).^2 ).^2 );
with initial approximation xs=ones(N,1) for N=1000. This means 1e6 elements in the gradient and 1e9 elements in the Hessian, or 8 GByte in full storage. In our implementation Hessians are stored sparse using a special storage scheme allowing efficient computations.

The following is executable code to calculate an inclusion of a stationary point of f by first performing a simple Newton iteration followed by a verification step for the resulting nonlinear system. Error estimations are completely rigorous.

 >> n = 1000;
    xs = ones(n,1);
    tic
    X = verifynlss(@f,xs,'hSparseSPD');
    t = toc
    maxrelerr = max(relerr(X))


    t = 23.8040
    maxrelerr = 5.5992e-013
Inclusions of all components of a stationary point are to some 13 decimal digits and takes 24 seconds on my 800 MHz Pentium III Laptop. Symmetric positive definiteness of the Hessian can be verified as well, ensuring a (local) minimum of f in X.

INTLAB works under Windows, Unix and Mac OS and is tested under Matlab Versions 5.3 to 7.0 . INTLAB is freely available for non-commercial use from

    http://www.ti3.tu-harburg.de/intlab/
For demonstration, also Matlab-implementations of our new summation and dot product routines are given, S. M. Rump, T. Ogita, and S. Oishi Accurate Floating-Point Summation, SIAM J. Sci. Comput. Vol. 31, Issue 2, pp. 1269-1302 (2008).

Version 7.1 of INTLAB, the Matlab toolbox for reliable computing

The new version comprises of a number of changes/improvements. Moreover some higher transcendental functions like erf, erfc and gamma have been added. For arguments close to negative integers the result of the built-in Matlab function has sometimes no correct digit, whereas INTLAB verifies bounds of almost maximum accuracy.

Comments always welcome. Best wishes

Siegfried M. Rump, Email rump@tu-harburg.de

Date: 27 June 2013

Prof. Dr. Siegfried M. Rump
Inst. f. Computer Science III
Technical University Hamburg-Harburg
Schwarzenbergstr. 95
21071 Hamburg
Germany