One of the good things of Eigen is that its syntax is rather familiar to an Upp programmer without need of almost any wrapper.
However I thought to wait to propose it into Bazaar because I wanted to use it and from the experience to see how to integrate it a little better with Upp as Eigen is designed to be used from C++ standard library.
Other thing I wanted to do before is to prepare a sample:
- simple
- as familiar as possible to an Upp programmer
- but showing the power of Eigen doing something useful (image processing, 3D transforms, ...)
- and comparing Eigen speed with other perhaps more evident algorithms but much less efficient
What do you think?
Hello, Koldo. Sorry for delaying the answer.
Yes, the Eigen library utilizes a functionality from STL. But this is not so big problem: STL is mature and is a part of C++ standard. I think that the only thing to be changed is working with streams: STL streams should be changed to U++ streams. This patch will be rather small and on new Eigen releases it may be adapted with minimal efforts.
The comparison of speed with other frameworks is shown in http://eigen.tuxfamily.org/index.php?title=Benchmark . As you can see Eigen demonstrates very good speed in various tests. Also I perform my own test with eigen values (it was my primary goal) and conclude that special packages like Mathematica have smarter algorithms and performs speedy on a large data then Eigen (on matrices more than 700x700). But such functionality (with eigen values/vectors) is under develop and I think during the time it will be better.
Also Eigen library contains a set of examples but they just show the various usage scenarios but not the power of doing something useful. This is not so obvious task IMHO.