
Boost : 
Subject: Re: [boost] different matrix library?
From: Rutger ter Borg (rutger_at_[hidden])
Date: 20090817 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
Nice.
> Policies & lazytyper.
>
> x = solve( as_matrix<settings(positive_definite)>(A), b );
Would it be possible to drop the userunfriendly 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 tradeoff 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?
Cheers,
Rutger
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk