Boost logo

Boost :

Subject: Re: [boost] different matrix library?
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2009-08-17 03:02:10

joel wrote:

> NT2 as a as_matrix<T> function
> std::vector<float> u(100*100);
> // fill u somehow;
> matrix<float> r;
> r = cos(as_matrix(u)) * as_matrix(u);
> No copy of course of the original vector


> Policies & lazy-typer.
> x = solve( as_matrix<settings(positive_definite)>(A), b );

Would it be possible to drop the user-unfriendly stuff? :-) Positive
definite alone already implies a vector.

x = solve( positive_definite( A ), b )

should do it :-)

> Well, don't forget SIMDifed C is faster than FORTRAN ;)

Of course, pick that, then :-) I guess CUBLAS will be faster than SIMD :-)

>> What I forgot to mention was error bounds and error propagation. For many
>> users this may be more important than speed. Many algorithms are
>> specialized for this purpose only (same speed, but higher precision).
> Just drop them in various namespaces. NT2 has plan to have a set of
> toolbox in which the speed/precision trade-off avry while the base
> namespace has a middle ground implementation.

Not sure yet.

> There is nothing ahrd per se in those, it's just tedious considering the
> large number of variation.

I see NT2 is under LGPL. Are you considering submitting it for review /
changing the license. Suppose in that case I would like to contribute ~60k
lines of generated code to glue against (the whole of) BLAS and LAPACK.

But, I'm interested in the syntax, first. I think it is probably one of the
most important pieces for a user to accept/reject a library. Do you have
some documentation on how to write more complex expressions?



Boost list run by bdawes at, gregod at, cpdaniel at, john at