[eigen] Eigen 2, expression templates, and tvmet

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi,

some of you suggested expression templates for Eigen 2. Doing that seriously 
is a lot of work; but at the same time there exists seemingly good LGPL'd 
code for that in TVMET,
http://tvmet.sourceforge.net/

I wrote to the TVMET developer and to the -devel mailing list, but got no 
reply. The mailing list archives show only spam in the recent past, and the 
last release dates back to 2005-04-26. So I think it's safe to say that TVMET 
is unmaintained and orphaned.

At the same time TVMET would be a very good basis for the fixed-size part of 
eigen 2. I propose that we ressucitate TVMET: we reuse and adapt its vector 
and matrix classes, and add what is needed to let it do all what Eigen 1 was 
able to do. This way we get for free an advanced implementation of expression 
templates. This seems much easier to me than adding expression templates to 
the existing Eigen 1 classes.

Once we have done that, I suggest that we try reusing TVMET's expression 
template mechanisms for GMM++. So that we would have a GMM++ wrapper with 
expression templates. That would be the dynamic-size part of Eigen 2.

Temporarily forget what I said about Qt-style copy-on-write. Expression 
templates are necessary because only them remove unnecessary temporaries. It 
_might_ be an improvement to have copy-on-write on top of expression 
templates, but let's not discuss this until we're there.

Note that both TVMET and GMM++ are licensed under the LGPL. So I think we're 
going towards a LGPL-licensed Eigen2. Even if the LGPL doesn't make sense for 
a template library. Oh well. I guess we won't ever go to court so these 
questions are very abstract. Better go for what makes life easier for us now.

I'm ready to commit a /branches/work/eigen2 directory containing a copy of the 
last release of TVMET, if you agree with my plans.

I'd like very much to hear from you. Do you like this plan?

Cheers,
Benoit

PS: Ben, I added you in CC because I thought you were interested in expression 
templates. I promise I won't spam you again, so either you subscribe to the 
eigen mailing list, or you don't get my mails anymore.

Attachment: signature.asc
Description: This is a digitally signed message part.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/