1 #ifndef VIENNACL_LINALG_DETAIL_SPAI_SPAI_TAG_HPP
2 #define VIENNACL_LINALG_DETAIL_SPAI_SPAI_TAG_HPP
39 #include "boost/numeric/ublas/vector.hpp"
40 #include "boost/numeric/ublas/matrix.hpp"
41 #include "boost/numeric/ublas/matrix_proxy.hpp"
42 #include "boost/numeric/ublas/storage.hpp"
43 #include "boost/numeric/ublas/io.hpp"
44 #include "boost/numeric/ublas/matrix_expression.hpp"
45 #include "boost/numeric/ublas/detail/matrix_assign.hpp"
74 double residual_norm_threshold = 1e-3,
75 unsigned int iteration_limit = 5,
76 double residual_threshold = 1e-2,
77 bool is_static =
false,
78 bool is_right =
false) :
79 residual_norm_threshold_(residual_norm_threshold),
80 iteration_limit_(iteration_limit),
81 residual_threshold_(residual_threshold),
82 is_static_(is_static),
83 is_right_(is_right) {}
86 {
return residual_norm_threshold_; }
89 {
return residual_threshold_; }
92 {
return iteration_limit_; }
95 {
return is_static_; }
110 if(residual_norm_threshold > 0)
111 residual_norm_threshold_ = residual_norm_threshold;
116 if(residual_threshold > 0)
117 residual_threshold_ = residual_threshold;
122 if(iteration_limit > 0)
123 iteration_limit_ = iteration_limit;
136 double residual_norm_threshold_;
137 unsigned int iteration_limit_;
138 long beg_ind_, end_ind_;
139 double residual_threshold_;
void setResidualNormThreshold(double residual_norm_threshold)
Definition: spai_tag.hpp:108
bool getIsStatic() const
Definition: spai_tag.hpp:94
void setResidualThreshold(double residual_threshold)
Definition: spai_tag.hpp:114
long getEndInd() const
Definition: spai_tag.hpp:103
A tag for SPAI Contains values for the algorithm. Must be passed to spai_precond constructor.
Definition: spai_tag.hpp:63
void setIsStatic(bool is_static)
Definition: spai_tag.hpp:128
void setBegInd(long beg_ind)
Definition: spai_tag.hpp:130
Implementation of a bunch of (small) matrices on GPU. Experimental.
long getBegInd() const
Definition: spai_tag.hpp:100
Implementation of a bunch of vectors on GPU. Experimental.
void setEndInd(long end_ind)
Definition: spai_tag.hpp:132
spai_tag(double residual_norm_threshold=1e-3, unsigned int iteration_limit=5, double residual_threshold=1e-2, bool is_static=false, bool is_right=false)
Constructor.
Definition: spai_tag.hpp:73
double getResidualThreshold() const
Definition: spai_tag.hpp:88
void setIsRight(bool is_right)
Definition: spai_tag.hpp:126
Implementations of the OpenCL backend, where all contexts are stored in.
bool getIsRight() const
Definition: spai_tag.hpp:97
unsigned int getIterationLimit() const
Definition: spai_tag.hpp:91
double getResidualNormThreshold() const
Definition: spai_tag.hpp:85
void setIterationLimit(unsigned int iteration_limit)
Definition: spai_tag.hpp:120