1 #ifndef VIENNACL_LINALG_DETAIL_SPAI_SPAI_TAG_HPP
2 #define VIENNACL_LINALG_DETAIL_SPAI_SPAI_TAG_HPP
40 #include "boost/numeric/ublas/vector.hpp"
41 #include "boost/numeric/ublas/matrix.hpp"
42 #include "boost/numeric/ublas/matrix_proxy.hpp"
43 #include "boost/numeric/ublas/storage.hpp"
44 #include "boost/numeric/ublas/io.hpp"
45 #include "boost/numeric/ublas/matrix_expression.hpp"
46 #include "boost/numeric/ublas/detail/matrix_assign.hpp"
75 double residual_norm_threshold = 1e-3,
76 unsigned int iteration_limit = 5,
77 double residual_threshold = 1e-2,
78 bool is_static =
false,
79 bool is_right =
false) :
80 _residual_norm_threshold(residual_norm_threshold),
81 _iteration_limit(iteration_limit),
82 _residual_threshold(residual_threshold),
83 _is_static(is_static),
84 _is_right(is_right) {};
87 {
return _residual_norm_threshold; }
90 {
return _residual_threshold; }
93 {
return _iteration_limit; }
96 {
return _is_static; }
111 if(residual_norm_threshold > 0)
112 _residual_norm_threshold = residual_norm_threshold;
117 if(residual_threshold > 0)
118 _residual_threshold = residual_threshold;
123 if(iteration_limit > 0)
124 _iteration_limit = iteration_limit;
137 double _residual_norm_threshold;
138 unsigned int _iteration_limit;
139 long _beg_ind, _end_ind;
140 double _residual_threshold;