Warning: this documentation for the development version is under construction.

/home/vivien/public_html/.src_seldon/computation/solver/Ordering.hxx

00001 // Copyright (C) 2011 Marc Duruflé
00002 //
00003 // This file is part of the linear-algebra library Seldon,
00004 // http://seldon.sourceforge.net/.
00005 //
00006 // Seldon is free software; you can redistribute it and/or modify it under the
00007 // terms of the GNU Lesser General Public License as published by the Free
00008 // Software Foundation; either version 2.1 of the License, or (at your option)
00009 // any later version.
00010 //
00011 // Seldon is distributed in the hope that it will be useful, but WITHOUT ANY
00012 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00013 // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
00014 // more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public License
00017 // along with Seldon. If not, see http://www.gnu.org/licenses/.
00018 
00019 
00020 #ifndef SELDON_FILE_SOLVER_ORDERING_HXX
00021 #define SELDON_FILE_SOLVER_ORDERING_HXX
00022 
00023 
00024 namespace Seldon
00025 {
00026 
00028   class SparseMatrixOrdering
00029   {
00030   public :
00031     // Supported orderings.
00032     enum {IDENTITY, REVERSE_CUTHILL_MCKEE, PORD,
00033           SCOTCH, METIS, AMD, COLAMD, QAMD, USER, AUTO};
00034   };
00035 
00036 
00037   template<class T, class Prop, class Storage, class Allocator,
00038            class Tint, class Alloc>
00039   void FindSparseOrdering(Matrix<T, Prop, Storage, Allocator>& A,
00040                           Vector<Tint, VectFull, Alloc>& num, int type);
00041 
00042 } // namespace Seldon.
00043 
00044 
00045 #endif