What is MUESLI?
MUESLI is a free numerical and graphical library, written mainly
in Fortran 95 and developped by Édouard Canot.
For a first introduction, see the
The available release is numbered 2.9.12 and dated 2015-06-16.
BLAS / LAPACK
must be available on the target machine. The following versions (older ones may or
may not work) are recommended:
- it is intended to work under Linux systems. Contrary to the past, only
two Fortran 95 compilers are supported:
Please use the whole
- GNU gfortran, version ≥ 4.5 (version numbers 4.5 to 4.9 are ok; last
release 5.1.0 should work but not fully tested)
- INTEL ifort, version ≥ 13 (version numbers 11 and 12 may work, but
are no longer supported)
- for a Windows system, MUESLI is restricted to the numerical part and is
intended to be compiled under
MinGW; please use the following links (sources for FML part only):
Note: refer to this Windows page providing
binary files for MinGW (32- or 64-bit).
- MUESLI needs also a C and a C++ compiler. GCC and INTEL actually
constitute compiler suites, which provide their own C and C++ compilers.
They can be get here.
Caution: versions 3.2.0 and 3.4.0 lead to either run-time error or wrong results in MUESLI.
- 3.3.1 (Apr 18, 2011),
- 3.4.2 (Sep 25, 2012) or
- 3.5.0 (Nov 16, 2013).
Moreover, the user should also fix the Lapack bug number 114 (a stack
corruption may occur, see here).
This holds for both 3.4.2 and 3.5.0 versions.
Sometimes, it may be necessary to compile yourself the Blas/Lapack library
(some erroneous floating-point exceptions have been reported).
The numerical part (FML) contains more than 386 user-available routines and 2647
unitary tests. As far as we know, this whole numerical library doesn't contain
any memory leak (thanks to valgrind).
However, it is not thread safe.
The Installation Guide and the
Reference Manual can also be downloaded.
- 2015-06-16: Release of the 2.9.12 version. Many bugs fixed in the
graphics part (FGL).
- 2015-04-24: Fix of the 2.9.11 version: processing of duplicated
elements in sparse matrices has been fixed, so that the COO to CSC
sparse conversion is now much faster: O(N) instead of O(N2).
- 2015-03-20: Release of the 2.9.11 version. Improved few routines
(2nd-order schemes added in mfInterp2 and msGradient); many improvements
in LsqNonLin; few bugs fixed.
- 2015-03-07: Release of the 2.9.10 version. Improved jacobian check
for ODE, DAE solvers and LsqNonLin routine. Improved mfNull and
mfRref routines. Few bugs fixed.
- 2015-03-03: Fix of the 2.9.9 version. Added stable box-constrained
algorithm for LsqNonLin.
- 2015-02-25: Release of the 2.9.9 version. Improvements of the non
linear solvers and integrators. Fix the automatic checks (quick and
full) of the user-provided jacobian routine. Added the 'rational basis'
optional case for the Reduced Row Echelon Form (msRref) routine.
- 2015-02-11: Release of the 2.9.8 version. Many improvements for the
following routines: OdeSolve/DaeSolve, LsqNonLin. Due to the use of
procedure pointers in LsqNonLin, the GCC-4.5 is the minimum version
to use; therefore the GCC-4.4 support has been stopped.
- 2015-01-30: Updated binaries of Muesli-FML for use with Simply Fortran
(Approximatrix) under Windows are available here.
- 2015-01-28: Release of the 2.9.7 version: Improvements of ODE/DAE solvers.
- 2014-10-03: New 2.9.5 version: fix of the jacobian saving for DAE solver.
- 2014-08-18: Release of the 2.9.5 version. Improvements of the stopping
conditions for the DaeSolve routine. Pay attention that the "End Condition" in
OdeSolve/BDF is broken! Use DaeSolve/BDF instead... A future version should
- 2014-07-31: Release of the 2.9.4 version. Improvements of the OdeSolve
routine: implementation of three different stopping conditions. Be aware
that the API of the argument routines (deriv, jac, resid, ...) has been changed!
- 2014-06-23: Release of the 2.9.3 version, which fixes an important bug in
- 2014-05-28: New archive of the 2.9.2 version (fix for an error in the test of
- 2014-05-01: Release of the 2.9.2 version. Many graphic improvements. SortRows
is a new routine. LsqNonLin accepts now more optional arguments.
- 2014-03-14: Release of the 2.9.1 version. Improvements in some graphical
routines (msText, mfGinput - be aware that the API of this latter
routine has been changed). Bug fixes in read/write XPM images.
- older news can be found here.
For any question, please contact the author:
mail Édouard Canot
Come back to the author web page.
Last page modification: 2015-06-16