Previous :
"Table of contents"
Next
"Example :
Working with vectors"
Preamble
Using the doxygen documentation
Beyond this tutorial you can use the doxygen generated documentation.
Under
Modules you can find the functions of meml grouped by their
assignment or
here in alphabetic order.
Vector and indexarray format
Vectors in MEML are column vectors.
The standard vector consists of double variables and it is simply called vector.
Another type consists of integer variables and is called indexarray.
The indexarray type is primarily used in the Free Finte Element Package, so
we will focus on the type vector.
The matrix formats
So far MEML knows three matrix formats, two for sparse and one for dense matrices.
Every one of these formats has a short cut you need to know, if you work with MEML.

ND normal dense, is the standard format for dense matrices in MEML and it
is chosen to work together optimally with LAPACK.
 CS The compressed row sparse matrix is a good choice for matrixmatrix operations
and matrixvector operations. Beyond this it can be used without conversion with the solvers
UMFPACK and SuperLU. Its handicap is that adding new entries in the matrix is quite expensive.
It is the same with removing elements, so it is a good idea to do that type of operation
with the following matrix format and convert it to CS if the matrix will stay unchanged.
 LS The listbased matrix format behaves in the opposite way than the CS format.
It is quite fast in adding and removing new matrixentries,
in particular on the main diagonal
but it is slower in terms of matirxmatrix or matrixvector operations.
Linking with MEML
A program which uses MEML can e.g. be compiled in the following way:
gcc foo.c $LMEMLUMF O2 march=athlonxp o foo
or without a definite shell variable
gcc foo.c I $HOME/local/include I $HOME/include/UMFPACK L $HOME/local/lib $HOME/local/lib/libmeml.a lm llapack /usr/lib/libf2c.a lumfpack lamd lcblas lf77blas latlas O2 march=athlonxp o foo
Previous :
"Table of contents"
Next
"Example :
Working with vectors"