aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/diagonalmatrices.cpp
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2015-01-24 10:32:49 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2015-01-24 10:32:49 +0100
commite1f1091fde660581d64b54ff1019bc494dbbca89 (patch)
tree3dd2646fb88b902c954878a2d25ece56da428865 /test/diagonalmatrices.cpp
parentb9d314ae19b1c857adfe42b7eaecf2695428f0ed (diff)
Add support for dense ?= diagonal
Diffstat (limited to 'test/diagonalmatrices.cpp')
-rw-r--r--test/diagonalmatrices.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/diagonalmatrices.cpp b/test/diagonalmatrices.cpp
index 149f1db2f..0227ba577 100644
--- a/test/diagonalmatrices.cpp
+++ b/test/diagonalmatrices.cpp
@@ -84,6 +84,13 @@ template<typename MatrixType> void diagonalmatrices(const MatrixType& m)
VERIFY_IS_APPROX(m1 * (rdm1 * s1), (m1 * rdm1) * s1);
VERIFY_IS_APPROX(m1 * (s1 * rdm1), (m1 * rdm1) * s1);
+
+ // Diagonal to dense
+ sq_m1.setRandom();
+ sq_m2 = sq_m1;
+ VERIFY_IS_APPROX( (sq_m1 += (s1*v1).asDiagonal()), sq_m2 += (s1*v1).asDiagonal().toDenseMatrix() );
+ VERIFY_IS_APPROX( (sq_m1 -= (s1*v1).asDiagonal()), sq_m2 -= (s1*v1).asDiagonal().toDenseMatrix() );
+ VERIFY_IS_APPROX( (sq_m1 = (s1*v1).asDiagonal()), (s1*v1).asDiagonal().toDenseMatrix() );
}
void test_diagonalmatrices()