30 #include <tests/myratest.h>    36 template<
class Precision> 
void test(
int I, 
int J, Precision tolerance)
    38   myra::out() << typestring<Precision>() << std::endl;
    50     solver.solve(X,
'L',
'N');
    51     Precision error = frobenius(A*X-B)/frobenius(B);
    52     myra::out() << 
"  |A*X-B|/|B| = " << error << std::endl;  
    53     REQUIRE(error < tolerance);
    59     solver.solve(X,
'R',
'N');
    60     Precision error = frobenius(X*A-B)/frobenius(B);
    61     myra::out() << 
"  |X*A-B|/|B| = " << error << std::endl;
    62     REQUIRE(error < tolerance);
    71     saved.solve(X,
'L',
'N');
    72     Precision error = frobenius(A*X-B)/frobenius(B);
    73     myra::out() << 
"  |inv(A)*B-X| (saved) = " << error << std::endl;  
    74     REQUIRE(error < tolerance);
    80 ADD_TEST(
"sCholeskySolver",
"[dense][solver]")
    81   { test<float>(25,14,1.0e-2f); }
    83 ADD_TEST(
"dCholeskySolver",
"[dense][solver]")
    84   { test<double>(25,14,1.0e-10); }
 Interface class for representing subranges of dense Matrix's. 
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
Wraps a std::vector<char>, presents it as both an InputStream and OutputStream. Useful for hygienic u...
Definition: VectorStream.h:22
Specialized container for a lower triangular matrix, O(N^2/2) storage. Used by symmetry exploiting ma...
Returns the lower triangle of a dense Matrix. 
Various utility functions/classes related to scalar Number types. 
static Matrix< Number > identity(int IJ)
Generates an identity Matrix of specified size. 
Definition: Matrix.cpp:349
A stream that serialize/deserializes to std::vector<char> buffer. 
General purpose dense matrix container, O(i*j) storage. 
A solver suitable for a real symmetric positive definite Matrix. 
Factors A into L*L', presents solve methods. 
Definition: RCholeskySolver.h:29
Routines for symmetric rank-k updates, a specialized form of Matrix*Matrix multiplication. 
Variety of routines all for dense Matrix*Matrix multiplies. Delegates to the BLAS. 
double
  |A*X-B|/|B| = 4.00191e-16
  |X*A-B|/|B| = 3.44249e-16
  |inv(A)*B-X| (saved) = 3.43516e-16