Class documentation of Concepts

Loading...
Searching...
No Matches
constrained.hh
Go to the documentation of this file.
1
6#ifndef constrainedEV_hh
7#define constrainedEV_hh
8
9#include <memory>
10#include <cstdlib>
11#include "eigens.hh"
12#include "solverFabric.hh"
13#include "space/space.hh"
15#include "operator/sparseMatrix.hh"
18
19namespace eigensolver {
20
21 // *********************************************************** Constrained **
22
54 class Constrained : public EigenSolver<Real> {
55 public:
64 solver_(solver), computed_(false), A_(A), M_(M), C_(C),
65 lambda_(0), eigenvectors_(0), ev_(0), kmax_(0),
66 Pr(0), Prt(nullptr), Qgt(0), Qg(0), ext(0), restr(0), PrQgt(nullptr),
67 QgPrt(nullptr), restrPrQgt(nullptr), QgPrtext(nullptr), restrPrQgtA(nullptr),
68 restrPrQgtAQgPrtext(nullptr), restrPrQgtM(nullptr), restrPrQgtMQgPrtext(nullptr),
69 it_(0), k_conv_(0) {}
70 virtual ~Constrained();
71 virtual const concepts::Array<Real>& getEV();
72 virtual const concepts::Array<concepts::Vector<Real>*>& getEF();
73 virtual uint iterations() const { return it_; }
74 virtual uint converged() const { return k_conv_; }
75 protected:
76 virtual std::ostream& info(std::ostream& os) const;
77 private:
79 SolverFabric<Real>& solver_;
80
84 void compute_();
86 bool computed_;
87
94
98 concepts::Array<Real> eigenvectors_;
101
103 uint kmax_;
104
106 std::unique_ptr<concepts::Permutation<Real> > Prt;
109 std::unique_ptr<concepts::Compose<Real> > PrQgt, QgPrt, restrPrQgt,
110 QgPrtext, restrPrQgtA, restrPrQgtAQgPrtext, restrPrQgtM,
111 restrPrQgtMQgPrtext;
112
114 uint it_, k_conv_;
115 };
116
117} // namespace eigensolver
118
119#endif // constrainedEV_hh
virtual const concepts::Array< Real > & getEV()
virtual uint iterations() const
Returns the number of iterations.
Constrained(concepts::Operator< Real > &A, concepts::Operator< Real > &M, const concepts::SparseMatrix< Real > &C, SolverFabric< Real > &solver)
virtual uint converged() const
Returns the number of converged eigen pairs.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.