Institute for Reliable Computing

Head:
Prof. Dr. Siegfried M. Rump

INTLAB Version 12

INTLAB is entirely written in Matlab. The current version 12 has more than 62 kLOC without and 110 kLOC with comments.

INTLAB ( see also the DEMOINTLAB) and comprises of

- self-validating methods for
- dense linear systems (also inner inclusions and structured matrices)
- sparse s.p.d. linear systems
- systems of nonlinear equations
- ODE routines (implemented by Florian Bünger)
- AWA toolbox implementing Lohner's method
- Taylor model toolbox with improvements
- Several global routines:
- all roots of a system of nonlinear equations
- verified global optimization
- verified constraint global optimization
- parameter identification
- roots of univariate and multivariate nonlinear equations (simple and clusters)
- eigenvalue problems (simple and clusters, also inner inclusions and structured matrices)
- generalized eigenvalue problems (simple and clusters)
- quadrature for univariate functions
- univariate polynomial zeros (simple and clusters)
- forward and backward FFT
- interval arithmetic for real and complex data including vectors and full and sparse matrices (very fast)
- affine arithmetic including vectors and matrices
- gradients using affine arithmetic
- Hessians using affine arithmetic
- Taylor expansion using affine arithmetic
- fl-numbers: k-bit floating-point and interval arithmetic
- gfp: Galois field GF[p] toolbox
- automatic differentiation (forward mode, vectorized computations, fast)
- gradients (to solve systems of nonlinear equations)
- Hessians (for global optimization)
- Taylor series for univariate functions
- automatic slopes (sequential approach, slow for many variables)
- verified integration of (simple) univariate functions
- univariate and multivariate (interval) polynomials
- rigorous real interval standard functions including gamma, erf and erfc (fast, very accurate, ~3 ulps)
- rigorous complex interval standard functions (fast, rigorous, but not necessarily sharp inclusions)
- rigorous input/output in different formats (outer and inner inclusions)
- accurate summation, dot product and matrix-vector residuals (interpreted, reference implementation, slow)
- several utility routines
- multiple precision interval arithmetic with error bounds (including matrix operations)

There are a number of demo files for the different INTLAB toolboxes. You may view the demos directly, or copy the demos directory file into your working directory, change your directory by "cd demos" and call "demointlab".

INTLAB has several thousand users in more than 50 countries and more than 1500 citations in scientific publications.

INTLAB is used in many areas, from verification of chaos to population biology, from controller design to computer-assisted proofs, from PDEs to Petri Nets (cf. some selected Refences to INTLAB). Over the years many colleagues helped to improve INTLAB, my dearest thanks to them!

The main focus of INTLAB is to produce reliable results. Any result is proved to be true under any circumstances, in particular covering rounding errors and all error terms. The other main focus is to be fast.

The philosophy of INTLAB is that everything is written in Matlab code to assure best portability. Interval vector and matrix operations are very fast due to extensive use of BLAS routines. However, nonlinear computations and loops may slow down the system significantly due to interpretation overhead and extensive use of the operator concept.

Details and examples about timing can be found here. Moreover, some routines treat extremely ill-conditioned problems. Details and examples are here.

Further reading- My 163-page review paper Verification methods: Rigorous results using floating-point arithmetic in Acta Numerica includes many examples based on INTLAB.
- In Japanese: Principle of verified numerical computations by S. Oishi et al., Corona publisher, Japan
- An elementary introduction can be found in
*Gleitkommaarithmetik auf dem Prüfstand [Wie werden verifiziert(e) numerische Lösungen berechnet?]. Jahresbericht der Deutschen Mathematiker-Vereinigung, 118(3):179-226, 2016. [written in German]* - Five out of the ten solutions to the SIAM 10x10-digit challenge in the book by Bornemann et al. are verified by INTLAB.
- The SIAM-book Introduction to Interval Analysis by Ramon E. Moore, R. Baker Kearfott, Michael J. Cloud is based on INTLAB.
- The Springer-book Nichtlineare Optimierung, Theorie, Numerik und Experimente by R. Reinhardt, A. Hoffmann and T. Gerlach uses the Gradient and Hessian toolbox of INTLAB.
- Hargreaves' thesis (supervisor Nicholas J. Higham) Interval Analysis in Matlab is a nice introduction into parts of INTLAB together with a tutorial. Moreover, some routines written by Hargreaves in INTLAB are presented, among them an algorithm to find all zeros of a nonlinear function within a box and a computation of Viswanath's constant, the common limit of random Fibonacci recurrences.
- Tiago Montanher wrote INTSOLVER, an INTLAB based solver for Global Optimization.
- A large collection of verification algorithms written in Matlab/INTLAB is Rohn's VERSOFT.

Most routines in INTLAB are self-explaining and/or information can be obtained by the Matlab/Octave help command (cf. also readme.txt for more information).

For **download and installation under Octave** see
here. Disclaimer: Few routines are not supported by Octave, in
particular concerning graphics.

If you use INTLAB in publications, please include the reference

*S.M. Rump: INTLAB - INTerval LABoratory. In Tibor Csendes, editor,
Developments in Reliable Computing, pages 77-104. Kluwer Academic
Publishers, Dordrecht, 1999.
*

INTLAB is thoroughly tested under Windows, Linux and MacOS operating system. It runs under most Matlab versions including R2022a.

The parallel toolbox of Matlab applies only to a limited subset of Matlab utilities, therefore the parfor command and alike do not work with INTLAB. However, several incarnations of Matlab/INTLAB may run in parallel.

INTLAB LICENSE INFORMATION

Copyright (c) 1998 - 2023 Siegfried M. Rump @ TUHH, Institute for Reliable Computing

All rights reserved.

===> INTLAB can be downloaded and used for private and for purely academic purposes, and for commercial purposes within a company. In any case proper reference has to be given acknowledging that the software package INTLAB has been developed by Siegfried M. Rump at Hamburg University of Technology, Germany.

===> The use of INTLAB in a commercial product which needs INTLAB or parts of INTLAB to work properly requires a special license. This is independent of whether the commercial product is used privately or for commercial purposes. To obtain such a license contact the author Siegfried M. Rump (@tuhh.de).

===> Neither the name of the university nor the name of the author may be used to endorse or promote products derived with or from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED AS IS AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATIONS, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

DISCLAIMER: Extensive tests have been performed to ensure reliability of the algorithms. However, neither an error-free processor nor an error-free program can be guaranteed.

Institute for Reliable Computing

Hamburg University of Technology

Am Schwarzenberg-Campus 3

21073 Hamburg

Germany