# BLAD

## Introduction

BLAD is an acronym standing for *Bibliothèques Lilloises d'Algèbre Différentielle*. BLAD is a free software protected by the Lesser General Public License. It is being developed in the C programming language by François Boulier. It relies on the GMP library. If required, it may also rely on the MPFR library. BLAD is shipped with the MAPLE computer algebra software (starting from MAPLE 14) and can be called through the DifferentialAlgebra package. The source code and the documentation of the interface BMI library is available. A SAGE interface is being developed.

## Scope

BLAD is a set of computer algebra or symbolic computation libraries which provide some differential algebra methods. The goal is to provide to scientific software a convenient access to differential elimination algorithms which are a key stone for simplifying systems of differential equations. With simple words, differential elimination methods are tools for searching hidden relations which are consequences of a given set of differential-algebraic polynomial (nonlinear) equations. Differential elimination methods have potential applications in the following areas:

- parameters estimation in nonlinear dynamical systems
- numerical solving of differential-algebraic equations (by computing the underlying ODE system and the hidden algebraic constraints)
- model reduction of deterministic systems (by performing the simplifications which follow the quasi-steady state approximation assumptions).

## Key features and content

- Tools are provided to give a priori bounds for the time and the memory allocated to computations and to get back a clean environment in the case of a failure. This is a very important feature for the difficulty to predict the amount of time and memory necessary to perform a given elimination request is one of the main drawbacks of these methods. The BLAD libraries provide also the following features.
- A unified concept of regular chains is implemented together with very recent algorithms. Starting from version 3.3, it is possible to perform differential elimination over differential base fields presented by generators and relations and to apply the Low Power Theorem on differential polynomials with coefficients in such fields.
- The BLAD libraries provide a gcd algorithm for multivariate polynomials over the integer numbers which is close to that of the MAPLE software.
- Starting with version 2.0, functionalities are provided to generate C code from the results of differential elimination, in order to perform numerical integration of initial value problems. The generated C code is compatible with the integrators of the Gnu Scientific Library.
- An implementation of the DOP853 routine designed by Hairer, Norsett and Wanner is provided.
- Starting from version 3.0, the libraries can be compiled on Windows Vista using Visual Studio 2008 or the Microsoft C compiler.

## Supported platforms

The BLAD libraries should be easy to install on many different platforms including Unix/Linux systems, Solaris, Mac OS X and Windows in both 32 bits and 64 bits versions. The Unix/Linux, Solaris and MAC OS X versions rely on the autoconf and automake mechanism. The Windows version can be compiled using Visual Studio 2008.

## Download

BLAD version 3.10.4 was released on January 16th, 2013.

- the source code for Unix/Linux, Solaris and MAC OS X: blad-3.10.4.tgz
- the source code, static and dynamic libraries for Windows: blad-windows.3.10.4.tgz
- the documentation alone: blad-3.10.4.pdf

The first version was released on July 31, 2004. The blad-2.0 version was released on July 16th, 2007. The blad-3.0 version was released on January 21st, 2009.