BLAS looks to be the foremost wide used library for basic algebra constructions, therefore it may be known as a de-facto normal. Its interface is procedural, the individual functions are somewhat abstracted from easy algebra operations. because of the actual fact that's has been enforced exploitation FORTRAN and its optimizations, it conjointly looks to be one in every of the quickest libraries offered. As we tend to set to style associated implement our library in an object-oriented means, the technical approaches are distinct. but anyone ought to be ready to categorical BLAS abstractions in terms of our library operators and to match the potency of the implementations.
Blitz++ is a formidable library enforced in C++. Its main style looks to be directed towards third-dimensional arrays and their associated operators as well as tensors. The author of Blitz++ states, that the library achieves performance on par or higher than corresponding FORTRAN code because of his implementation technique exploitation expression guides and template meta-programs. but we tend to see some reasons, to develop associate own style and implementation approach. we tend to don't recognize whether or not anybody tries to implement ancient algebra and different numerical algorithms exploitation Blitz++. we tend to conjointly presume that even nowadays Blitz++ desires the foremost advanced C++ compiler technology because of its implementation idioms. On the opposite hand, Blitz++ convinced North American country, that the utilization of expression templates is necessary to scale back the abstraction penalty to an appropriate limit.
POOMA's style goals appear to parallel Blitz++'s in several elements . It extends Blitz++'s ideas with categories from the domains of partial differential equations and theoretical physics. The implementation supports even parallel architectures.
MTL is another approach supporting basic algebra operations in C++. Its style in the main looks to be influenced by BLAS and also the C++ normal guide Library. we tend to share the insight that a algebra library has got to offer practicality admire BLAS. On the opposite hand we predict, that the ideas of the C++ normal library haven't nevertheless been established to support numerical computations as required. As another distinction MTL presently doesn't appear to use expression templates. this might end in one in every of 2 consequences: a potential loss of quality or a potential loss of performance.