25 #include <tests/myratest.h> 31 template<
class Precision>
void test(
int I,
int J, Precision tolerance)
33 myra::out() << typestring<Precision>() << std::endl;
38 typedef std::complex<Precision> Number;
43 solver.solve(RI.first);
44 solver.solve(RI.second);
47 Precision error = frobenius(X-B)/frobenius(X);
48 myra::out() <<
"inv(A) [real] * B [complex] - X [complex] == " << error << std::endl;
49 REQUIRE(error < tolerance);
54 ADD_TEST(
"cswizzle",
"[dense][solver]")
55 { test<float>(53,21,1.0e-3f); }
57 ADD_TEST(
"zswizzle",
"[dense][solver]")
58 { test<double>(48,18,1.0e-10); }
Interface class for representing subranges of dense Matrix's.
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
Various utility functions/classes related to scalar Number types.
General purpose dense matrix container, O(i*j) storage.
Wonkish routines for rearranging a complex Range into two real Range's, and back again.
General purpose linear solver, no symmetry/definiteness assumptions upon A (just square) ...
Factors a square matrix A into L*U, presents solve methods.
Definition: LUSolver.h:30
Expression< 1, NumberC > make_complex(const Expression< 1, NumberS > &A)
Promotes a real Expression into a complex one.
Definition: functions_complex.cpp:122
Variety of routines all for dense Matrix*Matrix multiplies. Delegates to the BLAS.