Institute for Reliable Computing
Head:
Prof. Dr. Siegfried M. Rump
Introduction
PROFIL (Programmer's Runtime Optimized Fast Interval Library) is a C++ class library supporting the most commonly needed interval and real operations in a user friendly way. The supported data types are currently:
INT, REAL, INTERVAL, vectors and matrices of these types, and complex numbers.
PROFIL is based on BIAS (Basic Interval Arithmetic Subroutines). The developement of BIAS was guided by the ideas of BLAS, i.e. to provide an interface for basic vector and matrix operations with specific and fast implementations on various machines, the latter frequently provided by the manufacturers. The idea of BIAS is to give such an interface for interval operations with the objective:
- very efficient use of the underlying hardware
- portability
- independency of a specific interval representation
Currently, for IBM RS/6000 series, Sparc architectures,
HP 9000/700 series, and PCs with coprocessor under Unix,
Linux, Windows, a general purpose, but nevertheless
very efficient version of BIAS written in C is available,
using directed rounding and lower/upper bound interval representation.
The adaption to other architectures (as they support directed
rounding) is restricted to the implementation of 3 small routines
switching the rounding mode and possibly some slight changes in
the makefile.
A BIAS version for architectures without directed rounding modes is available on request.
PROFIL is under developement so the number of supported
data types and routines will grow.
Comparisons with other interval libraries and programming environments show a
speed improvement of up to one magnitude.
Source Codes
The complete source code for PROFIL/BIAS is available as compressed (gzipped) tar-file. The source code contains support for linear lists, automatic differentiation, some test matrices as well as a simple implementation of a global optimization method.
2009-01-29: Version 2.0.8
New:
- PROFIL/BIAS now supports a check Makefile target executing (yet basic) tests of the installation.
- There is a new configuration for x86-64. This suffers from a current bug in glibc's libm that forces PROFIL/BIAS to reset the rounding mode to round-to-nearest after each operation.
- BiasPowerI(pR, [0,0], pY>0) now returns [0,0] instead of failing with error message.
- The memory management was depending on the architecture to be 32bit.
- Minor bugfixes.
Documentation
The complete PROFIL/BIAS documentation is available as compressed PostScript file.
Old Version
For historical and compatibility reasons, the old PROFIL/BIAS version is also available.
Christian Keil
c.keil@tu-harburg.de