Table of content Next

Presentation of the library

        There already exist quite a few matrix packages over the internet, like Blitz++ and the Matrix Template Library, to mention only 2. So, what? Yet another matrix package? Why should I bother...

        :-)

        Because there was a need for handling huge matrices, and all the other packages I found are optimized for speed, not memory.
        Because there was a need for functions like Singular Value Decomposition, that are implemented in LAPACK.
        Because I needed some very simple code, just to fit my needs. By simple, I mean not a code you have to read pages of documentation before using it (Really! Go and check the examples now if you didn't do it first thing!). No template, to begin with, Matrix is ready to use. And also a syntax I think is 'natural': no stencil, no Range2D or whatever class for matrix extraction, no Array<arg, arg, arg...> unterminable lists of adjustable features, etc... Most of those user-specified parameters aren't used in practice anyway, so I prefered to implement the ones that really are in the most straightforward way I found.
        And because no other package was satisfying enough for what I need. Not that I claim this one is perfect, its usefulness depends on what you want to do with it. But at least it combines easy to use matrix manipulation, transparent swaping using mmap and reference counting for low memory usage, and the possibility to use the power of LAPACK in the background.

What you'll find:

What you won't find:

What could be done to improve this package (feel free to contribute!):


Table of content Next

Nicolas Brodu, 2000-06-17