Subject: Re: [boost] different matrix library?
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2009-08-17 03:02:10
> 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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk