diff --git a/Eigen/src/Sparse/SparseLDLT.h b/Eigen/src/Sparse/SparseLDLT.h index ea5d345f5..a30bd5ccd 100644 --- a/Eigen/src/Sparse/SparseLDLT.h +++ b/Eigen/src/Sparse/SparseLDLT.h @@ -334,7 +334,7 @@ bool SparseLDLT::solveInPlace(MatrixBase &b) const if (m_matrix.nonZeros()>0) // otherwise L==I m_matrix.template triangularView().solveInPlace(b); - b = b.cwise() / m_diag; + b = b.cwiseQuotient(m_diag); // FIXME should be .adjoint() but it fails to compile... if (m_matrix.nonZeros()>0) // otherwise L==I diff --git a/test/sparse_solvers.cpp b/test/sparse_solvers.cpp index b88fa1cc9..059747c3d 100644 --- a/test/sparse_solvers.cpp +++ b/test/sparse_solvers.cpp @@ -75,13 +75,13 @@ template void sparse_solvers(int rows, int cols) // lower - transpose initSparse(density, refMat2, m2, ForceNonZeroDiag|MakeLowerTriangular, &zeroCoords, &nonzeroCoords); - VERIFY_IS_APPROX(refMat2.template marked().transpose().solveTriangular(vec2), - m2.template marked().transpose().solveTriangular(vec3)); + VERIFY_IS_APPROX(refMat2.transpose().template triangularView().solve(vec2), + m2.transpose().template triangularView().solve(vec3)); // upper - transpose initSparse(density, refMat2, m2, ForceNonZeroDiag|MakeUpperTriangular, &zeroCoords, &nonzeroCoords); - VERIFY_IS_APPROX(refMat2.template marked().transpose().solveTriangular(vec2), - m2.template marked().transpose().solveTriangular(vec3)); + VERIFY_IS_APPROX(refMat2.transpose().template triangularView().solve(vec2), + m2.transpose().template triangularView().solve(vec3)); SparseMatrix matB(rows, rows); DenseMatrix refMatB = DenseMatrix::Zero(rows, rows); diff --git a/test/triangular.cpp b/test/triangular.cpp index ee02c0022..2a583710d 100644 --- a/test/triangular.cpp +++ b/test/triangular.cpp @@ -109,13 +109,13 @@ template void triangular(const MatrixType& m) // check M * inv(L) using in place API m4 = m3; m3.transpose().template triangularView().solveInPlace(trm4); - VERIFY(m4.cwise().abs().isIdentity(test_precision())); + VERIFY(m4.cwiseAbs().isIdentity(test_precision())); // check M * inv(U) using in place API m3 = m1.template triangularView(); m4 = m3; m3.transpose().template triangularView().solveInPlace(trm4); - VERIFY(m4.cwise().abs().isIdentity(test_precision())); + VERIFY(m4.cwiseAbs().isIdentity(test_precision())); // check solve with unit diagonal m3 = m1.template triangularView(); diff --git a/test/umeyama.cpp b/test/umeyama.cpp index 09db27c1b..75dd64b5c 100644 --- a/test/umeyama.cpp +++ b/test/umeyama.cpp @@ -64,7 +64,7 @@ Eigen::Matrix randMatrixUnitary(int size) Q.col(col) = colVec.normalized(); } - // this additional orthogonalization is not necessary in theory but should enhance + // this additional orthogonalization is not necessary in theory but should enhance // the numerical orthogonality of the matrix for (int row = 0; row < size; ++row) { @@ -131,7 +131,7 @@ void run_test(int dim, int num_elements) MatrixX cR_t_umeyama = umeyama(src.block(0,0,dim,num_elements), dst.block(0,0,dim,num_elements)); - const Scalar error = ( cR_t_umeyama*src - dst ).cwise().square().sum(); + const Scalar error = ( cR_t_umeyama*src - dst ).array().square().sum(); VERIFY(error < Scalar(10)*std::numeric_limits::epsilon()); } @@ -167,7 +167,7 @@ void run_fixed_size_test(int num_elements) HomMatrix cR_t_umeyama = umeyama(src_block, dst_block); - const Scalar error = ( cR_t_umeyama*src - dst ).cwise().square().sum(); + const Scalar error = ( cR_t_umeyama*src - dst ).array().square().sum(); VERIFY(error < Scalar(10)*std::numeric_limits::epsilon()); } diff --git a/test/vectorization_logic.cpp b/test/vectorization_logic.cpp index 680adeb45..71214485c 100644 --- a/test/vectorization_logic.cpp +++ b/test/vectorization_logic.cpp @@ -48,7 +48,7 @@ void test_vectorization_logic() InnerVectorization,CompleteUnrolling)); VERIFY(test_assign(Vector4f(),Vector4f()+Vector4f(), InnerVectorization,CompleteUnrolling)); - VERIFY(test_assign(Vector4f(),Vector4f().cwise() * Vector4f(), + VERIFY(test_assign(Vector4f(),Vector4f().cwiseProduct(Vector4f()), InnerVectorization,CompleteUnrolling)); VERIFY(test_assign(Vector4f(),Vector4f().cast(), InnerVectorization,CompleteUnrolling)); @@ -58,7 +58,7 @@ void test_vectorization_logic() InnerVectorization,CompleteUnrolling)); VERIFY(test_assign(Matrix4f(),Matrix4f()+Matrix4f(), InnerVectorization,CompleteUnrolling)); - VERIFY(test_assign(Matrix4f(),Matrix4f().cwise() * Matrix4f(), + VERIFY(test_assign(Matrix4f(),Matrix4f().cwiseProduct(Matrix4f()), InnerVectorization,CompleteUnrolling)); VERIFY(test_assign(Matrix(),Matrix()+Matrix(), @@ -67,7 +67,7 @@ void test_vectorization_logic() VERIFY(test_assign(Matrix(),Matrix()+Matrix(), NoVectorization,InnerUnrolling)); - VERIFY(test_assign(Matrix(),Matrix().cwise() / Matrix(), + VERIFY(test_assign(Matrix(),Matrix().cwiseQuotient(Matrix()), LinearVectorization,CompleteUnrolling)); VERIFY(test_assign(Matrix(),Matrix()+Matrix(),