24 #include <tests/myratest.h>    33   myra::out() << typestring<Number>() << std::endl;
    37   Number alpha = random<Number>();
    38   Number beta  = random<Number>();
    41   for (
int j = 0; j < I; ++j)
    42     for (
int i = j+1; i < I; ++i)
    43       U(i,j) = random<Number>();
    49     gemm_inplace(C1, A, 
'N', B, 
'N', alpha, beta);
    50     symm_inplace(
'L', 
'U', C2, U, B, alpha, beta);
    51     Precision error = frobenius(C1-C2);
    52     myra::out() << 
"  |symm('L','U')-gemm()| = " << error << std::endl;
    53     REQUIRE(error < tolerance);
    60     gemm_inplace(C1, B, 
'N', A, 
'N', alpha, beta);
    61     symm_inplace(
'R', 
'U', C2, U, B, alpha, beta);
    62     Precision error = frobenius(C1-C2);
    63     myra::out() << 
"  |symm('R','U')-gemm()| = " << error << std::endl;
    64     REQUIRE(error < tolerance);
    70 ADD_TEST(
"ssymmU",
"[dense][blas]")
    71   { test<NumberS>(51,32, 1.0e-4f); }
    73 ADD_TEST(
"dsymmU",
"[dense][blas]")
    74   { test<NumberD>(51,32, 1.0e-8); }
    76 ADD_TEST(
"csymmU",
"[dense][blas]")
    77   { test<NumberC>(51,32, 1.0e-4f); }
    79 ADD_TEST(
"zsymmU",
"[dense][blas]")
    80   { test<NumberZ>(51,32, 1.0e-8); }
 Tabulates an IxJ matrix. Allows random access, has column major layout to be compatible with BLAS/LAP...
Definition: bdsqr.h:20
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
Returns a transposed copy of a Matrix. The inplace version only works on a square operand...
Returns the upper triangle of a dense Matrix. 
Various utility functions/classes related to scalar Number types. 
General purpose dense matrix container, O(i*j) storage. 
Reflects Precision trait for a Number, scalar Number types should specialize it. 
Definition: Number.h:33
Simplistic random number functions. 
Routines for symmetric Matrix * dense Matrix multiplication. 
Variety of routines all for dense Matrix*Matrix multiplies. Delegates to the BLAS. 
std::complex<float>
  |symm('L','U')-gemm()| = 2.65646e-05
  |symm('R','U')-gemm()| = 2.9027e-05