Class documentation of Concepts

Loading...
Searching...
No Matches
lapack.hh
Go to the documentation of this file.
1
6#pragma once
7
8#include "basics/typedefs.hh"
10
11namespace concepts {
12
13 template<class F>
14 class DenseMatrix;
15
16 template<class F>
17 class DiagonalMatrix;
18
19 // ************************************************************ LapackChol **
20
30 class LapackChol : public VecOperator<Real> {
31 public:
32 // Flag, if the upper or the lower triangular part is stored.
33 enum UpLo {U = 0, L = 1};
34
35 LapackChol(const ElementMatrix<Real> A, enum UpLo uplo = U);
36
37
38 // Ax= b now solve D*Ax = b where D is a diagonal matrix that is a variable at each apply step
39 // this leads to a change of the rhs in the routine
40 //@param Dinv is the inverse of the diagonal matrix D
41 virtual void apply(DiagonalMatrix<Real>& Dinv, const Vector<Real>& fncY, Vector<Real>& fncX);
42
43
44 protected:
45 virtual std::ostream& info(std::ostream& os) const;
49 virtual void apply_(const Vector<Real>& fncY, Vector<Real>& fncX);
50 virtual void apply_();
51 private:
53 mutable ElementMatrix<Real> A_;
58 char uplo_;
60 mutable bool factorized_;
61 };
62} // namespace concepts
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual void apply_(const Vector< Real > &fncY, Vector< Real > &fncX)
virtual void apply_()
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320