dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #00112
Linear algebra
It's about time we came to a decision on the linear algebra of DOLFIN
(or FEniCS). This is not a poll, but your opinion might help us make
the correct decision.
The current linear algebra of DOLFIN was implemented with simplicity
in mind, but it's not parallel and I don't think we have the time and
resources to maintain a complete linear algebra package of our own.
There are a couple of different options we could consider:
A1. Use an existing linear algebra package (see list below) as it is.
A2. Use an existing linear algebra package, but create the appropriate
wrappers in DOLFIN (could just be a list of typedefs).
A3. Develop and maintain an existing linear algebra package as a FEniCS
project.
Whatever choice we make, the linear algebra package should satisfy the
following criteria:
B1. It should be open-source.
B2. It should be standard or close to standard.
B3. It should be actively maintained.
B4. It should be parallel.
B5. It should have a nice API (C++ style).
Here's a list of available options. The list is not complete, but
it's a start:
1. PETSc: http://www-unix.mcs.anl.gov/petsc/petsc-2/
Pros: Satisfies B1-4
Cons: Does not seem to satisfy B5. Maybe a future version of PETSc will?
2. MTL: http://www.osl.iu.edu/research/mtl/
Pros: Satisfies B1 (?) and B5
Cons: Does not satisfy B2-4?
3. uBLAS: http://www.boost.org/libs/numeric/ublas/doc/index.htm
Pros: Satisfies B1-3, B5
Cons: Does not satisfy B4
4. POOMA: http://www.codesourcery.com/pooma/
Pros: ?
Cons: ?
5. Sparselib++: http://math.nist.gov/sparselib++/
Pros: ?
Cons: ?
6. TNT: http://math.nist.gov/tnt/
Pros: ?
Cons: ?
7. Blitz++: http://www.oonumerics.org/blitz/
Pros: ?
Cons: ?
/Anders
Follow ups