[eigen] Sparse usage feedback |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
Dear List,
(I'm not sure if this one mail the the proper way to give some feedback on
my Eigen usage,
or if I should have made one focused mail per issue, or if I should ahev
filed wishes on bugzilla :
please correct me if I'm wrong. )
Using Eigen as a sparse backend, I have had the following issues :
1°) The iterators feel java-ish :
«for(SparseMatrixType::InnerIterator it(mat,k); it; ++it)»
I'd have expected to be able to get a begin() and an end() iterator
instead,
as is conventional in C++ (cf. STL).
2°) The iterator do not expose row() and col() through an iterator
interface
(i.e. with operator*()) which make it impossible to manipulate sequences
of
coords with the standard algorithms operating on iterator sequences.
3°) This is not possible to construct a Sparse from a Dense
(it is just a reminder because I believe it should be
implemented Really Soon Now ;)
http://forum.kde.org/viewtopic.php?p=48537#p48537 )
Not sparse specific, but I also was annoyed by :
4°) I think some scalar operation traits are missing
(i.e. trying to multiply an int matrix with a double fails to find
‘struct Eigen::ei_scalar_product_traits<double, int>’ )
5°) I think that the typedefs in i.e. SparseLU<> should be public
I may need to know the LMatrixType & cie to make some metaprogramming of
my own
(or did I missed some traits struct ?)
However, I do want to state that these annoyances were really minor and
that working with Eigen is an overall very good experience : many thanks
for the hard work ! :)
Best regards,
Bernard