22 #include <tests/myratest.h> 33 A.bottom(4).left(2).zero();
34 A.top(2).right(4).zero();
35 auto B = diagcat( A.top(2).left(2), A.bottom(4).right(4) );
36 Precision error = frobenius(A-B);
37 myra::out() <<
" |A - diagcat(a,a)| = " << error << std::endl;
38 REQUIRE(error < tolerance);
46 auto B = diagcat( A.first(2), A.last(4) );
47 Precision error = frobenius(A-B);
48 myra::out() <<
" |A - diagcat(...)| = " << error << std::endl;
49 REQUIRE(error < tolerance);
54 ADD_TEST(
"diagcat_Matrix",
"[dense]")
56 test1<NumberS>(1.0e-5f);
57 test1<NumberD>(1.0e-10);
58 test1<NumberC>(1.0e-5f);
59 test1<NumberZ>(1.0e-10);
62 ADD_TEST(
"diagcat_DiagonalMatrix",
"[dense]")
64 test2<NumberS>(1.0e-5f);
65 test2<NumberD>(1.0e-10);
66 test2<NumberC>(1.0e-5f);
67 test2<NumberZ>(1.0e-10);
Interface class for representing subranges of DiagonalMatrix's.
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
static DiagonalMatrix< Number > random(int N)
Generates a random DiagonalMatrix of specified size.
Definition: DiagonalMatrix.cpp:217
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
Routines to concatenate Matrix's in diagonal fashion.
Container for a diagonal matrix, O(n) storage. Used by SVD, row/column scaling, etc.