6 #ifndef MYRAMATH_ITERATIVE_REFINE_H 7 #define MYRAMATH_ITERATIVE_REFINE_H 15 #include <myramath/MYRAMATH_EXPORT.h> 22 template<
class Number>
class Action;
23 template<
class Number>
class MatrixRange;
24 template<
class Number>
class VectorRange;
29 MYRAMATH_EXPORT std::vector<float > refine(
const Action<NumberS>& A,
const Action<NumberS>& M,
const MatrixRange<NumberS>& B,
float tolerance = 1.0e-5 ,
int iterations = 20);
30 MYRAMATH_EXPORT std::vector<double> refine(
const Action<NumberD>& A,
const Action<NumberD>& M,
const MatrixRange<NumberD>& B,
double tolerance = 1.0e-12,
int iterations = 20);
31 MYRAMATH_EXPORT std::vector<float > refine(
const Action<NumberC>& A,
const Action<NumberC>& M,
const MatrixRange<NumberC>& B,
float tolerance = 1.0e-5 ,
int iterations = 20);
32 MYRAMATH_EXPORT std::vector<double> refine(
const Action<NumberZ>& A,
const Action<NumberZ>& M,
const MatrixRange<NumberZ>& B,
double tolerance = 1.0e-12,
int iterations = 20);
37 MYRAMATH_EXPORT std::vector<float > refine(
const Action<NumberS>& A,
const Action<NumberS>& M,
const VectorRange<NumberS>& b,
float tolerance = 1.0e-5 ,
int iterations = 20);
38 MYRAMATH_EXPORT std::vector<double> refine(
const Action<NumberD>& A,
const Action<NumberD>& M,
const VectorRange<NumberD>& b,
double tolerance = 1.0e-12,
int iterations = 20);
39 MYRAMATH_EXPORT std::vector<float > refine(
const Action<NumberC>& A,
const Action<NumberC>& M,
const VectorRange<NumberC>& b,
float tolerance = 1.0e-5 ,
int iterations = 20);
40 MYRAMATH_EXPORT std::vector<double> refine(
const Action<NumberZ>& A,
const Action<NumberZ>& M,
const VectorRange<NumberZ>& b,
double tolerance = 1.0e-12,
int iterations = 20);
Various utility functions/classes related to scalar Number types.