MyraMath
Classes | Functions
mixed_refine.h File Reference

Like refine(), but uses a low-precision M to solve/refine a high-precision A. More...

#include <myramath/utility/Number.h>
#include <myramath/MYRAMATH_EXPORT.h>
#include <vector>
Include dependency graph for mixed_refine.h:

Go to the source code of this file.

Classes

class  myra::Action< Number >
 Applies the "Action" of a linear operator, b := A*x. More...
 
class  myra::MatrixRange< Number >
 Represents a mutable MatrixRange. More...
 
class  myra::VectorRange< Number >
 Represents a mutable VectorRange. More...
 

Functions

std::vector< double > myra::mixed_refine (const Action< NumberD > &A, const Action< NumberS > &M, const MatrixRange< NumberD > &B, double tolerance=1.0e-12, int iterations=20)
 Given the action of A and A's inverse (denoted M), solves A*X = B with backwards refinement.
 
std::vector< double > myra::mixed_refine (const Action< NumberZ > &A, const Action< NumberC > &M, const MatrixRange< NumberZ > &B, double tolerance, int iterations)
 
std::vector< double > myra::mixed_refine (const Action< NumberD > &A, const Action< NumberS > &M, const VectorRange< NumberD > &b, double tolerance=1.0e-12, int iterations=20)
 Given the action of A and A's inverse, solves A*x = b with backwards refinement.
 
std::vector< double > myra::mixed_refine (const Action< NumberZ > &A, const Action< NumberC > &M, const VectorRange< NumberZ > &b, double tolerance, int iterations)
 

Detailed Description

Like refine(), but uses a low-precision M to solve/refine a high-precision A.