![]() |
00001 // Copyright (C) 2002 Johan Hoffman and Anders Logg. 00002 // Licensed under the GNU GPL Version 2. 00003 00004 #ifndef __DIRECT_SOLVER_H 00005 #define __DIRECT_SOLVER_H 00006 00007 namespace dolfin { 00008 00009 class Matrix; 00010 class Vector; 00011 00012 class DirectSolver{ 00013 public: 00014 00015 DirectSolver(){} 00016 ~DirectSolver(){} 00017 00019 void solve(Matrix& A, Vector& x, const Vector& b) const; 00020 00022 void inverse(Matrix& A, Matrix& Ainv) const; 00023 00025 void hpsolve(const Matrix& A, Vector& x, const Vector& b) const; 00026 00027 //--- 00028 00030 void lu(Matrix& A) const; 00031 00033 void solveLU(const Matrix& LU, Vector& x, const Vector& b) const; 00034 00036 void inverseLU(const Matrix& LU, Matrix& Ainv) const; 00037 00039 void hpsolveLU(const Matrix& LU, const Matrix& A, Vector& x, const Vector& b) const; 00040 00041 private: 00042 00044 void check(const Matrix& A) const; 00045 00046 }; 00047 00048 } 00049 00050 #endif
Documentation automatically generated with Doxygen on 10 Sep 2004.