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.17.12 and dated 2021-06-24.
MUESLI needs also a C and a C++ compiler. GCC and INTEL actually constitute
compiler suites, which provide their own C and C++ compilers.
- for Linux systems, contrary to the past, only two Fortran 95
compilers are supported:
Please use the whole
unix sources archive, or use binary versions: see the
packages for Ubuntu
those for Fedora
- GNU gfortran, version ≥ 4.8 (version numbers 4.8 to 10 are ok)
- INTEL ifort, version ≥ 13 (version numbers 11 and 12 may work, but
are no longer supported)
- for a Windows system, MUESLI is intended to be used under
MinGW-w64; refer to this
providing binary files
for MinGW (32- or 64-bit).
- MUESLI can be also used on Mac OS X. Recent versions of Mac OS X
should be ok. Refer to this Darwin page
for further information.
BLAS / LAPACK
must be available on the target machine. The following versions (older ones may
or may not work) are recommended: 3.4.2 (Sep 25, 2012), 3.5.0 (Nov 16, 2013),
3.6.1 (Jun 18, 2016), 3.7.1 (Jun 25, 2017), 3.8.0 (Nov 12, 2017) or 3.9.1
(Apr 1, 2021).
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. [For example, Mac OS X Yosemite provides Lapack-3.2.1, which
is too old and not adapted to Muesli]
Moreover, the user should also fix the Lapack bug number 114 (a stack
corruption may occur, see here;
this holds for 3.4.2 and 3.5.0 versions only).
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 or less 400 user-available routines and
around 3000 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.
- 2021-06-24: Release of the 2.17.12 version. After a long time
of development and a big jump in the numbering, this new release
contains some major performance improvements in the graphic part FGL,
especially a smooth behavior when using the interactive routines to
scroll inside the figure (msPan) or to move the legend frame or other
graphic objects with the mouse (msMoveLegend and the new routine
msMoveGrobj). msDrawNow renamed to msRedrawFigure, and msColormapRange
renamed to msColormapSize. The new routine msAnimation should give
smoother animations on screen. New options added for msAxis.
The numerical part FML has been also improved, by adding new routines
(mfGetAllGrObj, mfGetTypeGrObj, ..., mfRandPoiss, mfGridFun) but be
aware that some routines have seen their API changed (order or name of
arguments), as msMeshGrid and msGradient.
The only 3D graphic routine msSurf has been completely removed: Muesli
FGL is now restricted to 2D plots only, but, as a partial compensation,
msPcolor has new options to make projections of a surface in the three
canonical directions of the 3D space.
- 2020-02-15: Release of the 2.15.11 version: Streamline algorithm has
been improved (better reliability). Few bugs fixed.
- 2020-01-24: Release of the 2.15.10 version: apart many bugs
(mfErfCInv, ...) and many improvements (prime numbers computation,
msSet, msCAxis, msQuiver, msArrow,
msPatch, ...), the following FGL routines have been added to
Muesli: mfIsSorted, msStreamline, msTriStreamline
and msTriMesh. Another modification concerns the complex numbers,
which are now sorted first by module, then by phase angle.
- 2019-10-11: Added binary packages of the last version for Ubuntu
- 2019-10-02: Release of the 2.15.7 version: mfChol and
msLU are now able to process a (1,1) dense matrix, i.e. a scalar.
The internal library SuiteSparse has been upgraded to the 5.4.0
version; METIS is no longer used. Few improvements in the
msSet routine. The NULL driver is fixed to support the
same number of simultaneous opened windows as the X11 driver.
New routine mfFun2, which is similar to mfFun (apply a
function element-wise to mfArray) but using two arguments. Memory
leaks suppressed in mfMin and mfMax.
- 2019-05-15: Upload of a new archive for the source, dated 2019-05-15,
which fix a bug in pgline when using GCC-9.1. Added binary
versions for Ubuntu, Fedora and Mac OS X.
- 2019-05-11: Release of the 2.15.5 version: search of zeros of
function now uses the Dekker algorithm (as in Matlab) instead of
the classical Newton one. Compilation modes becomes DEBUG/OPTIM
instead of DEBUG/RELEASE. ODE and DAE solvers support
SPD (Symmetric and Positive Definite) jacobian matrices, and
have improved CIC (Consistent Initial Conditions) computation
when using sparse and banded jacobian. mfMin and mfMax
Muesli fonctions are now consistent when using NaN values: by
default NaNs are discarded (as in Matlab), but these
special IEEE values can be taken into account via the optional
argument 'nanflag'. Many small fixes in FML and FGL.
- older news can be found here.
For any question, please contact the author:
Come back to the author web page.
Last page modification: 2021-06-25