Seldon is a C++ library for linear algebra. Seldon provides matrix and vector structures, and some methods and functions for computations (linear algebra). Seldon is designed to be efficient and convenient, which is notably achieved thanks to template classes. Exception handling and several debug levels are helpful while coding.
Seldon provides several types of matrices: full matrices, sparse matrices, symmetric matrices, hermitian matrices and triangular matrices. Each type includes several formats. E.g. symmetric matrices may be stored as full matrices or in packed form (Blas format).
Seldon is fully interfaced with Blas (level 1, 2 and 3), except for Blas functions involving banded matrices (since this format is not available for the moment) and most rank operations. If Blas is not available to the user, a few alternative functions (same functions written in C++) may be used. Seldon includes many other features that are described in the documentation.
Seldon is supposed to be fully compliant with the C++ standard. Therefore, it can be compiled by GNU GCC (>=3.0; tested with version 3.2, 3.3 and 3.4) and by the Intel C++ compiler icc (tested with icc 7.1 and 8.0). No tests were conducted with proprietary compilers under Unix, but the compliance with the C++ standard should ensure portability. The last versions of Microsoft Visual C++ (from Visual C++ 2003) might compile Seldon according to its announced features, but it has not been tested.
As a next step, the Lapack interface is being completed. And any help is welcome!