INTLAB - INTerval LABoratory
The Matlab/Octave toolbox for Reliable Computing
INTLAB is entirely written in Matlab. It works under Matlab and Octave.
INTLAB 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
- 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 matrices (very fast)
- interval arithmetic for real and complex 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
- 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)
- some rigorous higher transcendental functions
- rigorous input/output (outer and inner inclusions)
- accurate summation, dot product and matrix-vector residuals (interpreted, reference
- several utility routines
- multiple precision interval arithmetic with error bounds (does the job, slow)
and more. To cite INTLAB, please use
There are a number of demo files for the
different INTLAB toolboxes. Matlab/Octave demos are not executed, but the results are displayed.
You may view the demos
directly, or copy the
demos directory file
into your Matlab/Octave working directory, change your directory by "cd demos" and call
INTLAB has several thousand users in more than 50 countries.
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 (i.e. Octave) 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
Moreover, some routines treat extremely ill-conditioned problems. Details and examples are
- My 163-page review paper
Verification methods: Rigorous results using floating-point arithmetic in
Acta Numerica includes many examples based on INTLAB.
- 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):179226, 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 also 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
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,
INTLAB is thoroughly tested under Windows, Linux and MacOS operating system.
INTLAB LICENSE INFORMATION
Copyright (c) 1998 - 2017 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.