Source: tests/dense/Matrix22.cpp
20 #include <tests/myratest.h> 33 Precision error = frobenius(A*Z-I) / frobenius(A);
34 myra::out() <<
"|A*Z-I|/|A| = " << error << std::endl;
35 REQUIRE( error < tolerance );
46 Precision error = frobenius(B0-B1)/frobenius(B1);
47 myra::out() <<
"|B0-B1|/|B1| = " << error << std::endl;
48 REQUIRE( error < tolerance );
59 Precision error = frobenius(A0-A1)/frobenius(A1);
60 myra::out() <<
"|A0-A1|/|A1| = " << error << std::endl;
61 REQUIRE( error < tolerance );
66 ADD_TEST(
"sMatrix22",
"[dense][lapack]")
68 test1<NumberS>(1.0e-5f);
69 test2<NumberS>(1.0e-5f);
70 test3<NumberS>(1.0e-5f);
73 ADD_TEST(
"dMatrix22",
"[dense][lapack]")
75 test1<NumberD>(1.0e-10);
76 test2<NumberD>(1.0e-10);
77 test3<NumberD>(1.0e-10);
80 ADD_TEST(
"cMatrix22",
"[dense][lapack]")
82 test1<NumberS>(1.0e-5f);
83 test2<NumberS>(1.0e-5f);
84 test3<NumberS>(1.0e-5f);
87 ADD_TEST(
"zMatrix22",
"[dense][lapack]")
89 test1<NumberZ>(1.0e-10);
90 test2<NumberZ>(1.0e-10);
91 test3<NumberZ>(1.0e-10);
static Matrix22< Number > random()
Generates a random Matrix22.
Definition: Matrix22.cpp:150
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
Matrix type with fixed size of 2x2, algorithms that operate upon them.
static Matrix22< Number > identity()
Generates an identity Matrix22.
Definition: Matrix22.cpp:137
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
Variety of routines all for dense Matrix*Matrix multiplies. Delegates to the BLAS.
Results: [PASS]
|A*Z-I|/|A| = 1.54838e-16
|B0-B1|/|B1| = 8.75993e-17
|A0-A1|/|A1| = 1.07422e-16
Go back to Summary of /test programs.