spooles.hh

Go to the documentation of this file.
1 
6 #ifndef SPOOLES_HH
7 #define SPOOLES_HH
8 
9 #include "basics/typedefs.hh"
10 #include "compositions.hh"
11 
12 namespace concepts {
13 
14  using concepts::Real;
15 
16  // forwards
17  template<typename F>
18  class SparseMatrix;
19 
20  // *************************************************************** Spooles **
21 
26  class Spooles : public Operator<Real> {
27  public:
32  Spooles(const SparseMatrix<Real>& A, bool symmetric = false);
33  virtual ~Spooles();
34  virtual void operator()(const Function<Real>& fncY, Function<Real>& fncX);
35  void operator()(const Vector<Real>& fncY, Vector<Real>& fncX);
36  virtual const Space<Real>& spaceX() const { return spcX_; }
37  virtual const Space<Real>& spaceY() const { return spcY_; }
38  uint iterations() const { return 0; }
39  protected:
40  virtual std::ostream& info(std::ostream& os) const;
41  private:
43  const uint n_;
49  bool symmetric_;
51  bool factored_;
52 
57  int* oldToNew, * newToOld;
58  int rc;
59  };
60 
61 } // namespace concepts
62 
63 #endif // SPOOLES_HH
void * newToOldIV
Definition: spooles.hh:55
void * oldToNewIV
Definition: spooles.hh:55
void * rootchv
Definition: spooles.hh:54
void * frontmtx
Definition: spooles.hh:54
bool symmetric_
Symmetric system?
Definition: spooles.hh:49
virtual std::ostream & info(std::ostream &os) const
void operator()(const Vector< Real > &fncY, Vector< Real > &fncX)
const uint n_
System size.
Definition: spooles.hh:43
const Space< Real > & spcX_
Image space.
Definition: spooles.hh:45
bool factored_
Stores if the factorization was already computed before.
Definition: spooles.hh:51
Spooles(const SparseMatrix< Real > &A, bool symmetric=false)
Constructor.
const Space< Real > & spcY_
Source space.
Definition: spooles.hh:47
void * mtxmanager
Definition: spooles.hh:54
void * frontETree
Definition: spooles.hh:55
void * mtxA
SPOOLES data.
Definition: spooles.hh:54
Abstract class for an operator.
Definition: ARPACK.hh:16
virtual const Space< Real > & spaceY() const
Definition: spooles.hh:37
virtual void operator()(const Function< Real > &fncY, Function< Real > &fncX)
uint iterations() const
Definition: spooles.hh:38
void * symbfacIVL
Definition: spooles.hh:56
void * chvmanager
Definition: spooles.hh:54
virtual const Space< Real > & spaceX() const
Definition: spooles.hh:36
virtual ~Spooles()
Sparse direct solver for symmetric and unsymmetric matrices.
Definition: spooles.hh:26
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
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