From 4cd4be97a7165e6e45ee60aee23b9342af03c491 Mon Sep 17 00:00:00 2001 From: Anton Gladky Date: Wed, 15 Jan 2014 17:49:52 +0100 Subject: [PATCH] Port unsupported constrained CG to Eigen3 --- .../Eigen/src/IterativeSolvers/ConstrainedConjGrad.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h b/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h index 3f18beeeb..dc0093eb9 100644 --- a/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +++ b/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h @@ -58,7 +58,9 @@ void pseudo_inverse(const CMatrix &C, CINVMatrix &CINV) Scalar rho, rho_1, alpha; d.setZero(); - CINV.startFill(); // FIXME estimate the number of non-zeros + typedef Triplet T; + std::vector tripletList; + for (Index i = 0; i < rows; ++i) { d[i] = 1.0; @@ -84,11 +86,12 @@ void pseudo_inverse(const CMatrix &C, CINVMatrix &CINV) // FIXME add a generic "prune/filter" expression for both dense and sparse object to sparse for (Index j=0; j TmpVec;