I need to find C/C++ libraries which offer function for computing Schur complement. I know about MUMPS and Pastix, but I need more of them to compare them in my research.Do you have any experience with other libraries?
Recommendation for C/C++ library which offers Schur complement functions?
linear algebra;matrices;c++;c
My first suggestion would be to take a look at LAPACK (Linear Algebra Package). It defines a set of interfaces and there are several optimized implementations available for different machines. Personally, I had good experience with ATLAS, a LAPACK implementation that provides lots of auto tuning. This was some time ago though, there might be better alternatives available now.Note that on the LAPACK website there are links to other projects, e.g. MAGMA which is similar to LAPACK but for systems with multi-core nodes and GPUs (never tried that one myself, though).LAPACK itself is based on BLAS (basical linear algebra), which is in itself a set of interfaces for, well, basic linear algebra routines (matrix-vector product, vector-vector product, matrix-matrix product etc). The advantage here again is that BLAS by itself is a set of interfaces and different implementations are available, some of them heavily optimized (e.g. GOTO-BLAS)I assume one could also directly use BLAS to compute a Schur complement $S = A - B*D^{-1}*C$ using routines for matrix products and inversion.Addendum: Jack Dongarra has compiled long list of different LA libraries, see here. The list also shows what features the libraries have (Languages, Dense/Sparse, Real/Complex etc.).