PARALUTION  1.0.0
PARALUTION
qr.hpp
Go to the documentation of this file.
1 #ifndef PARALUTION_DIRECT_QR_HPP_
2 #define PARALUTION_DIRECT_QR_HPP_
3 
4 #include "../solver.hpp"
5 
6 namespace paralution {
7 
8 template <class OperatorType, class VectorType, typename ValueType>
9 class QR : public DirectLinearSolver<OperatorType, VectorType, ValueType> {
10 
11 public:
12 
13  QR();
14  virtual ~QR();
15 
16  virtual void Print(void) const;
17 
18  virtual void Build(void);
19  virtual void Clear(void);
20 
21 protected:
22 
23  virtual void Solve_(const VectorType &rhs, VectorType *x);
24 
25  virtual void PrintStart_(void) const;
26  virtual void PrintEnd_(void) const;
27 
28  virtual void MoveToHostLocalData_(void);
29  virtual void MoveToAcceleratorLocalData_(void);
30 
31 private:
32 
33  OperatorType qr_;
34 
35 };
36 
37 
38 }
39 
40 #endif // PARAQRTION_DIRECT_QR_HPP_
virtual void PrintEnd_(void) const
Print ending msg of the solver.
Definition: qr.cpp:48
Base class for all linear (direct) solvers.
Definition: solver.hpp:229
virtual void MoveToHostLocalData_(void)
Move all local data to the host.
Definition: qr.cpp:96
virtual void MoveToAcceleratorLocalData_(void)
Move all local data to the accelerator.
Definition: qr.cpp:107
Definition: qr.hpp:9
virtual ~QR()
Definition: qr.cpp:23
virtual void Build(void)
Build the solver (data allocation, structure computation, numerical computation)
Definition: qr.cpp:55
QR()
Definition: qr.cpp:15
OperatorType qr_
Definition: qr.hpp:33
virtual void Solve_(const VectorType &rhs, VectorType *x)
Solution procedure.
Definition: qr.cpp:118
Definition: backend_manager.cpp:43
virtual void Clear(void)
Clear (free all local data) the solver.
Definition: qr.cpp:81
const IndexType const IndexType const IndexType const ValueType const ValueType const ValueType * x
Definition: cuda_kernels_coo.hpp:91
virtual void PrintStart_(void) const
Print starting msg of the solver.
Definition: qr.cpp:41
virtual void Print(void) const
Print information about the solver.
Definition: qr.cpp:33