diff --git a/Eigen/src/Core/TriangularMatrix.h b/Eigen/src/Core/TriangularMatrix.h index 34b029421..1286bf6a6 100644 --- a/Eigen/src/Core/TriangularMatrix.h +++ b/Eigen/src/Core/TriangularMatrix.h @@ -238,7 +238,7 @@ template class TriangularView DenseMatrixType toDenseMatrix() const { DenseMatrixType res(rows(), cols()); - res = *this; + evalToLazy(res); return res; } diff --git a/test/triangular.cpp b/test/triangular.cpp index a10b457a7..379f586c4 100644 --- a/test/triangular.cpp +++ b/test/triangular.cpp @@ -85,7 +85,7 @@ template void triangular_square(const MatrixType& m) m1 = MatrixType::Random(rows, cols); for (int i=0; i(); + while (ei_abs2(m1(i,i))<1e-1) m1(i,i) = ei_random(); Transpose trm4(m4); // test back and forward subsitution with a vector as the rhs