|Re: [eigen] Usage of Eigen2 in a closed source application|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Usage of Eigen2 in a closed source application
- From: "Gael Guennebaud" <gael.guennebaud@xxxxxxxxx>
- Date: Mon, 15 Dec 2008 10:56:20 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type:references; bh=ucvtq5F7Z47X3wn13NFoAmUQWiU8i4Nb+vuAPHoOK7A=; b=aVvuOAmuhEmshnBnyc+R/dLLruJ1RUrqYuriknqDHf0K4mM0IWDidmjJVlLkFMqK81 dMznSssdvMavm2pVKeqj/wQiHcmaXWO7KRM/QoKeRCR/utB4xyTQYa4eo9G4ZkMBZHg8 pWRrhxY9QWx4zo+D3MtGhO6RXmfOaybcHvOsE=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=BOSAFlVaWlm0fVSgUoJY4+H/yCU52sj+naxhmV+IvtpwKefVURaBH7Aj7NBuCRwq2v pZbkIMqLqie3pkLDx3HPNThzGiIpoEefWe84qwqaMELc0I3DVTenDnEvPD2mZ9IbIBk3 GZZSsW1l1SZswoNEm205bkDyVCIF7DRNHTRkQ=
indeed, the major difficulty is to come up with an API maximizing:
- the ea
On Sun, Dec 14, 2008 at 2:50 AM, Keir Mierle <mierle@xxxxxxxxx>
On Sat, Dec 13, 2008 at 12:37 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
Thanks for answering Frank's e-mail.
2008/12/13 Keir Mierle <mierle@xxxxxxxxx>:
> that it didn't at the time have an SVD,By the way, have you looked at reimplementing the SVD? I ask because
I'll have some time during the holidays and SVD is near the top of my
priority list, so if you haven't started it already then maybe I'll
try to do it.
I have looked at it, and started sketching some interfaces, but didn't end up with anything. I read the relevant parts of the Golub book. Actually implementing the SVD is not hard; the tricky part is to make the API reusable. The SVD algorithm breaks down into a few clear parts which would almost certainly be useful outside of the SVD itself.
I am not sure about the following things:
- Should we maintain the current API for the SVD and just change under the covers? If so, then it is not obvious to me how to break the algorithm into smaller reusable pieces, because the SVD object owns the matrix with the results. In particular, should the bidiagonalization also be a Bidiagonalization object? Should it own the result matrices?
- Householder matrices are used in several parts of the code; it would be nice to have a simple mechanism for accumulating householder transforms (without actually applying them) to reuse throughout.
- I don't understand how lazy evaluation would work with the SVD; does it even make sense? My template-metaprogramming-fu is not strong.
- I am not sure how to evaluate the numerical precision of the resulting SVD algorithm, which is important for many applications (however this is an entire other can of worms).
If we can figure these things out, I'd happily write some or all of the SVD for Eigen.
Yes, i'll do it, good idea.
> Benoit, perhaps it is worth adding an entry to the license FAQ explicitly
> explaining that eigen can be used in commercial applications, provided
> source modifications to eigen itself are released back to the community?