← Back to team overview

dolfin team mailing list archive

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