Add support for sparse = diagonal
diff --git a/test/sparse_basic.cpp b/test/sparse_basic.cpp
index 75f29a2..2ebf4d4 100644
--- a/test/sparse_basic.cpp
+++ b/test/sparse_basic.cpp
@@ -365,6 +365,18 @@
VERIFY_IS_APPROX(m2, refMat2);
}
+ // test diagonal to sparse
+ {
+ DenseVector d = DenseVector::Random(rows);
+ DenseMatrix refMat2 = d.asDiagonal();
+ SparseMatrixType m2(rows, rows);
+ m2 = d.asDiagonal();
+ VERIFY_IS_APPROX(m2, refMat2);
+ refMat2 += d.asDiagonal();
+ m2 += d.asDiagonal();
+ VERIFY_IS_APPROX(m2, refMat2);
+ }
+
// test conservative resize
{
std::vector< std::pair<StorageIndex,StorageIndex> > inc;