30 #include <tests/myratest.h>    37 template<
class Double> 
void test(
int I, 
int J)
    43   auto A_action = make_GemmAction(A_double);
    45   auto A_float  = lower_precision(A_double);
    47   Solver solver(A_float);
    53   auto history = mixed_refine(A_action, M_action, B, 1.0e-14, 10);
    54   double error = frobenius(B-X)/ frobenius(X);
    55   myra::out() << 
"  |inv(A)*B-X| = " << error << std::endl;
    56   myra::out() << 
"  history = " << history << std::endl;
    57   REQUIRE(error < 1.0e-10);
    62 ADD_TEST(
"mixed_refine",
"[iterative]")
 Interface class for representing subranges of dense Matrix's. 
Routines for copying and lowering the precision of a container. 
Applies the "Action" of a linear operator, b := A*x, used in iterative solution algorithms. 
Routines for computing Frobenius norms of various algebraic containers. 
static Matrix< Number > random(int I, int J)
Generates a random Matrix of specified size. 
Definition: Matrix.cpp:353
Definition: stlprint.h:32
Action< typename ReflectNumber< Solver >::type > make_SolveAction(const Solver &solver, char op='N')
Free function for making SolveAction's. 
Definition: SolveAction.h:67
Routines for printing the contents of various std::container's to a std::ostream using operator <<...
Various utility functions/classes related to scalar Number types. 
Like refine(), but uses a low-precision M to solve/refine a high-precision A. 
General purpose dense matrix container, O(i*j) storage. 
Reflectors that lower the Precision of a Number type. 
Definition: Number.h:73
General purpose linear solver, no symmetry/definiteness assumptions upon A (just square) ...
Adapts a class with a .solve() method into an Action. 
An Action for multiplying by a dense Matrix or SparseMatrix using gemm(). 
Factors a square matrix A into L*U, presents solve methods. 
Definition: LUSolver.h:30
Variety of routines all for dense Matrix*Matrix multiplies. Delegates to the BLAS. 
  |inv(A)*B-X| = 6.5319e-15
  history = [ 4.90407e-07 2.45875e-12 3.10828e-16 ] (3)
  |inv(A)*B-X| = 2.04088e-15
  history = [ 7.43922e-07 1.51802e-12 3.48167e-16 ] (3)