I'm working on a project that needs to perform a variety of mathematical operations, which are native to languages such as scilab, matlab, octave. So I'm looking for a good library (preferably an open source library) that supports C++ and good performance. It should have the following features:
- it should support vector math (so it should allow you to easily define vectors and matrices, and operations between them, etc.);
- it should allow you to generate random numbers using normal or uniform distributions (both unidimensional and bidimensional distributions);
- it should allow to comfortably perform other operations such as the cumulative sum, the division of a vector (ie all its elements) for the same value, etc..
I read about Boost, but I did not find examples that explain how to use these features: I'm looking for a guide like "Boost C++ for scilab programmers"...