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