Re: OON: RE: alpha release of MET, C++ matrix with expression templates

From: Oleg Trott (ot14@columbia.edu)
Date: Fri Feb 16 2001 - 00:47:13 EST


Hi,

My point was that one can increase the complexity of the expressions
indefinitely, while, as I understand it, only a certain subclass of them
can be implemented with "optimal" performance, the rest either failing to
compile or being compilable, but "suboptimal".
 
I think it is intuitively clear what "optimal" means in this context:
"Optimal" implementation will introduce no temporaries in the following
examples, for instance:

matrix1 = matrix2.transpose() = matrix3 = matrix4 + matrix5.transpose();
matrix1 = matrix2 + matrix3 + ... + matrix1000;

I know it's a lot to ask for. I'm just using these examples to demostrate
what I mean by "optimal". In theory, both of the above examples can be
done in one loop, BTW.

So I was wondering if you could define the extent of the complexity of
the expressions for which your library provides "optimal" performance?

BTW, I wrote my own linear algebra libray, because Blitz++ and MTL didn't
comletely satisfy my needs. I've been using the library for my
research for a few months and I'm planning on releasing it soon. It
uses reference counting, but no expression templates.

I think I'd be interested in tinkering with other people's libraries, as
long as I can understand them (and CVS).

Thanks

Oleg Trott http://www.columbia.edu/~ot14/
                                       email: ot14@columbia.edu
Ph.D. Candidate
Columbia University phone: (212) 305-0257 (work)
Palmer Lab (NMR) fax : (212) 305-6949 (work)

--------------------- Object Oriented Numerics List --------------------------
* To subscribe/unsubscribe: use the handy web form at
http://oonumerics.org/oon/
* If this doesn't work, please send a note to owner-oon-list@oonumerics.org



This archive was generated by hypermail 2b29 : Wed Feb 20 2002 - 03:20:15 EST