This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen

Bug 364

Summary: Wishlist for extended functionality
Product: Eigen Reporter: Danny Bickson <danny.bickson>
Component: Core - generalAssignee: Nobody <eigen.nobody>
Status: NEW ---    
Severity: minor CC: chtz, gael.guennebaud, jacob.benoit.1
Priority: ---    
Version: 3.0   
Hardware: All   
OS: All   
Whiteboard:

Description Danny Bickson 2011-10-18 13:40:02 UTC
It will be nice to support additional functionality. For example:

1) Initialize matrix from string, as in it++
2) sort_index() - sort indices of vector
3) sort() - sort vector
4) concat() - concat two vectors
5) erase() - erase an element from vector
6) it_file - serialization of vector/matrix to file as in it++
7) cumsum() - commulative sum as in it++
8) fabs() - on vector

That's all,

thanks!
Comment 1 Christoph Hertzberg 2011-10-20 01:10:07 UTC
Maybe you should have split that into separate bugs.
Some of them are actually possible already.

1) I would rather implement initialization from std::istream (which could then be used to initialize from istringstream).
2) I don't know what you mean by 'sort indices of vector'
3) This would be very easy with standard iterator support, you could then call std::sort (see bug 231)
4) v << v1, v2;  (unfortunately, you have to set the size of v before that)
5) Could be done by concatenation, though maybe a bit complicated. OTOH resizing vectors is not very good anyways, since it almost always requires copying of data (the storage size is always the same as the vector size)
6) By serialization I guess you mean binary storage. Maybe that could be accomplished by implementing a custom output format?
7) Could also be easily with standard iterators: http://www.cplusplus.com/reference/std/numeric/partial_sum/
8) vec.cwiseAbs() (also works on matrices)
Comment 2 Nobody 2019-12-04 11:12:26 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to gitlab.com'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: https://gitlab.com/libeigen/eigen/issues/364.