|Re: [eigen] ISO C++ working groups on Linear Algebra / Machine Learning|
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
In my opinion, provided we just need a single matrix-matrix multiplication, like C = dot(A, B),
I personally never came across some code where such a complex operations occur. Using operations such as + and * allows code doing such operations being easier to read but also needs the complexity of template meta-programming to avoid temporaries. This is the road that has been chosen by Eigen, Blaze and Armadillo. Eigen does a pretty good job at doing that.
I just believe that if we need to have something in the C++ standard library, it does not have to copy those libraries. Eigen already solve a problem which is allowing users to write “Matlab-like code” in C++. I just want to stress out that there are some people out there who needs another problem to be solved.
If you have a look at Python/Numpy or Julia, you’ll find out that those multidimensional arrays are decoupled from linear algebra, and I believe that this is something that is very powerful and needed. Data structures should be decoupled from algorithms. I know that this is against object oriented programming, but I think that OOP has done way too much harm to the software community. It is extremely helpful in some fields such as GUI frameworks, but I don’t believe it does good thing to the scientific community. Have a look at Julia which is very modern and which is designed for maths : they leave “objects” on the side of the road.
|Mail converted by MHonArc 2.6.19+||http://listengine.tuxfamily.org/|