This bugzilla service is closed. All entries have been migrated to

Bug 1487

Summary: cwise Operations
Product: Eigen Reporter: Timo Sachsenberg <sachsenb>
Component: SparseAssignee: Nobody <eigen.nobody>
Status: NEW ---    
Severity: Documentation CC: chtz, gael.guennebaud
Priority: Normal    
Version: 3.3 (current stable)   
Hardware: All   
OS: All   

Description Timo Sachsenberg 2017-11-16 11:13:13 UTC
I love the tables that show what/how operations can be performed on matrices and vectors. Unfortunately, documentation falls a bit short for sparse matrices and sparse vectors. Assuming that most of you guys probably spend their precious time working on other topics I think it would still make a great difference to provide such a table on e.g.:

I had some troubles (and still don't fully understand) why:
(sv1 - sv2).cwiseAbs() or sv1.sum() works but e.g.:
sv1.cwiseMin(1.0) doesn't (requires sv1.coeffs().cwiseMin(1.0))

I also quite often run into errors like:
error: ‘const CwiseAbsReturnType’ has no member named ‘coeffs’
float sum = (sv1 - sv2).cwiseAbs().coeffs().cwiseMax(0).sum();

or error: ‘Constant’ is not a member of ‘Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<float>, const Eigen::SparseVector<float> >’
float sum = sv1.cwiseAbs().cwiseMax(0).sum();

while: float sum = sv1.coeffs().cwiseMax(0).sum(); compiles

I guess these are probably newbie errors but I thought it might be worth to give feedback and some hints where the documentation could be improved,
Comment 1 Nobody 2019-12-04 17:17:30 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: