[eigen] On a flexible API for submatrices, slicing, indexing, masking, etc.

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi list,

this is probably one of the most awaited feature that is still shamefully missing in Eigen. So let's have it for 3.4!

To this end, we first have to converge an API that will be unanimously adopted by the community. The challenge is to maximize expressivity, extensibility, concision, optimization opportunities, while avoiding ambiguities.

To help discussion, I've prepare this wiki page that contains a compilable c++ example demonstrating some ideas:
http://eigen.tuxfamily.org/index.php?title=Working_notes_-_Indexing%2B%2B

Please share your though, here or on the bugzilla entry: http://eigen.tuxfamily.org/bz/show_bug.cgi?id=329

Speaking about "ambiguous" API, I hate the current MatrixXd::Constant(....) and VectorXd::LinSpaced(...) function: I never managed to remember the parameter orders, do the sizes come first? or last? I guess this is because the two answers make sense: one is consistent when moving from Constant to Ones, and the other when moving from Matrix to Vector or fixed-size object. This is thus a high source of hard to track bugs. I'd really like to avoid this caveat.

cheers,
gael


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/