SeldonSolver.hxx

00001 // Copyright (C) 2003-2009 Marc Duruflé
00002 // Copyright (C) 2001-2009 Vivien Mallet
00003 //
00004 // This file is part of the linear-algebra library Seldon,
00005 // http://seldon.sourceforge.net/.
00006 //
00007 // Seldon is free software; you can redistribute it and/or modify it under the
00008 // terms of the GNU Lesser General Public License as published by the Free
00009 // Software Foundation; either version 2.1 of the License, or (at your option)
00010 // any later version.
00011 //
00012 // Seldon is distributed in the hope that it will be useful, but WITHOUT ANY
00013 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00014 // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
00015 // more details.
00016 //
00017 // You should have received a copy of the GNU Lesser General Public License
00018 // along with Seldon. If not, see http://www.gnu.org/licenses/.
00019 
00020 
00021 #ifndef SELDON_FILE_SELDON_SOLVER_HXX
00022 
00023 // additional classes and functions for sparse matrices
00024 #include "matrix_sparse/Matrix_Conversions.cxx"
00025 #include "matrix_sparse/Matrix_ArraySparse.cxx"
00026 #include "matrix_sparse/Matrix_ArrayComplexSparse.cxx"
00027 #include "matrix_sparse/Permutation_ScalingMatrix.cxx"
00028 #include "matrix_sparse/Relaxation_MatVect.cxx"
00029 #include "matrix_sparse/Functions_MatrixArray.cxx"
00030 
00031 
00032 // interfaces with direct solvers
00033 #ifdef SELDON_WITH_MUMPS
00034 #include "computation/interfaces/direct/Mumps.cxx"
00035 #endif
00036 
00037 #ifdef SELDON_WITH_UMFPACK
00038 #include "computation/interfaces/direct/UmfPack.cxx"
00039 #endif
00040 
00041 #ifdef SELDON_WITH_SUPERLU
00042 #include "computation/interfaces/direct/SuperLU.cxx"
00043 #endif
00044 
00045 #ifdef SELDON_WITH_PASTIX
00046 #include "computation/interfaces/direct/Pastix.cxx"
00047 #endif
00048 
00049 #ifdef SELDON_WITH_PRECONDITIONING
00050 #include "SeldonPreconditioner.hxx"
00051 #endif
00052 
00053 #include "computation/solver/SparseSolver.cxx"
00054 
00055 // iterative solvers and preconditioning
00056 #include "computation/solver/iterative/Iterative.cxx"
00057 #include "computation/solver/preconditioner/Precond_Ssor.cxx"
00058 
00059 // Cholesky Solver
00060 #ifdef SELDON_WITH_CHOLMOD
00061 #include "computation/interfaces/direct/Cholmod.cxx"
00062 #endif
00063 
00064 #include "computation/solver/SparseCholeskyFactorisation.cxx"
00065 
00066 #define SELDON_FILE_SELDON_SOLVER_HXX
00067 #endif