Boost logo

Ublas :

Subject: Re: [ublas] Help with emerging standards for tiny vector/matrix libraries
From: Vardan Akopian (vakopian_at_[hidden])
Date: 2008-09-15 12:51:26

On Mon, Sep 15, 2008 at 8:36 AM, Jesse Perla <jesseperla_at_[hidden]> wrote:
> Hi:
> Sorry to bombard people with questions the last few days...
> What are people's current thoughts on a library for small vectors and
> matrices that is "compatible" in semantics with ublas's approach?
> 1) Is it really necessary to have 2 separate libraries, or is ublas at most
> 2-3 times slower? I will take the performance hit for consistency if it
> isn't that bad.
> 2) Should I really worry about heap vs. stack these days. I can't figure
> out the memory management of ublas, but it doesn't seem like matrix data can
> be declared on the stack, and I can't figure out good ways to initialize
> ublas matrix/vector from data. A 101 question: My understanding of memory
> management is poor (and as a library user I would be happy to keep it that
> way), but I always thought that heap based memory can't be managed in the
> cache in the same way as stack. Is this true, total nonsense, or are
> compilers good enough these days that I shouldn't worry about it.
> 3) tvmet is mentioned on the ublas wiki. And of course there is blitz++.
> Are there other key ones? What is the most popular and in active
> development these days? (I would sacrifice bleeding edge for the likely
> winner).
> 4) Is there an intention to put a small matrix library into boost?
> The key use case here: A lot of my applications involve small fixed size
> matricies and vectors for things like initial guesses for
> solvers/optimizers, multiequation root finding, jacobians, etc. Sounds like
> valarray is probably a good choice here, but really want a clean way to do
> matricies/arrays with typical inner product, addition, etc. semantics.
> -Jesse

Take a look at
. Then
(search "fixed size vector" on that page).
Generally most of the questions in your emails are answered either in
the documentation, on this list or on Gunter's wiki. This initial
effort of getting familiar with the library by searching and doing
lots of reading is definitely a requirement for entry for this