Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

operator/umfpack.hh
Go to the documentation of this file.
00001 // interface to UMFPACK
00002 
00003 #ifndef UMFPACK_HH
00004 #define UMFPACK_HH
00005 
00006 #include "basics/typedefs.hh"
00007 #include "compositions.hh"
00008 
00009 namespace concepts {
00010 
00011   // forwards
00012   template<typename F>
00013   class SparseMatrix;
00014 
00015   // *************************************************************** Umfpack **
00016 
00036   class Umfpack : public Operator<Real> {
00037   public:
00045     Umfpack(const SparseMatrix<Real>& A, bool symmetric = false);
00046     virtual ~Umfpack();
00047     virtual void operator()(const Function<Real>& fncY, Function<Real>& fncX);
00048     void operator()(const Vector<Real>& fncY, Vector<Real>& fncX);
00049     uint iterations() const { return 0; }
00050   protected:
00051     virtual std::ostream& info(std::ostream& os) const;
00052   private:
00054     const uint n_;
00055 
00057     concepts::Array<long int> Ap_, Ai_;
00059     concepts::Array<Real> Ax_;
00061     void* symbolic_, * numeric_;
00062 
00064     bool factored_;
00065   };
00066 
00067 } // namespace concepts
00068 
00069 #endif // UMFPACK_HH

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)