umfpackFabric.hh

Go to the documentation of this file.
1 
6 // fabric class for Umfpack
7 
8 #ifndef umfpackFabric_hh
9 #define umfpackFabric_hh
10 
11 #include "umfpack.hh"
12 #include "solverFabric.hh"
13 
14 namespace concepts {
15 
16  // ********************************************************* UmfpackFabric **
17 
21  class UmfpackFabric : public SolverFabric<Real> {
22  public:
23  UmfpackFabric(bool symmetric = false) : symmetric_(symmetric) {}
25  return NULL;
26  }
27 
29  return new Umfpack(matrix, symmetric_);
30  }
32  return new Umfpack(matrix, symmetric_);
33  }
34  protected:
35  virtual std::ostream& info(std::ostream& os) const {
36  return os << concepts::typeOf(*this)<<"()";
37  }
38  private:
39  bool symmetric_;
40  };
41 
42 } // concepts
43 
44 #endif // umfpackFabric_hh
Sparse direct solver for unsymmetric matrices.
Definition: umfpack.hh:39
virtual Operator< Real > * operator()(Operator< Real > &matrix)
virtual Operator< Real > * operator()(SparseMatrix< Real > &matrix)
Abstract fabric class for linear solvers.
Definition: jdbsym.hh:16
UmfpackFabric(bool symmetric=false)
virtual Operator< Real > * operator()()
Creates a linear solver from matrix.
virtual std::ostream & info(std::ostream &os) const
Fabric class for Umfpack.
std::string typeOf(const T &t)
Return the typeid name of a class object.
Definition: output.hh:43
Basic namespace for Concepts-2.
Definition: pml_formula.h:16
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich