Re: [eigen] Student contribution
• To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
• Subject: Re: [eigen] Student contribution
• From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
• Date: Wed, 22 May 2013 06:13:00 -0400
• Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=kkE7uA4n4FysLGXsx1D5pwMksCtzgYa6hSYjpMi559w=; b=xs7+EPsrFWh6tPcVv2hQyZ7jLdhVDMA8DtkOU8X8LUCjMSwVFzGd6zLCkwWKvXs68Y VMKbNw/Nl7ZTx5rDs2eQOM6Y72KdVZTW50qglQbz4vVGftxkVkWjdIglpwTB2eFC6DUt TFBxkN+bQWWCTPKjWs4FjBp2pg3qvNG+G4ahPdLdub7gCxjardSFXnJR01tquSvcJoqc ablaNrJt5HU+u8ZLj6Bil6vilO3EPSHYGyMDFMpM/3YEasXzHVpdoUVsUMvQ/bXQ9gKM LUeqMu3a0S8dmzxQ1yldaZk2zZ/zowyOO/D1vTpkmF9qJnFR0kJLbTvQe5SkmvA4DriA VLFQ==

2013/5/21 Gael Guennebaud
Hi and welcome!

Indeed, a divide-and-conquer SVD would still be very useful. There is
already a bidiagonalization class so that you can focus on the divide
and conquer part,

Just a side note. Last I checked (I haven't contributed for a terribly long time, so what I say may be outdated) we only have a UpperBidiagonalization class. We don't have anything doing lower-bidiagonalization. That means that we only can bidiagonalize matrices where rows >= cols.

The right solution to that problem, I believe, is *not* to have another LowerBidiagonalization class, or a templatized Bidiagonalization class.

Instead, I believe that the right solution is to have a single Bidiagonalization class that can switch between "upper" and "lower" at runtime. That gives a lot more flexibility and smaller binary code, and that is what LAPACK's SGESDD,

http://www.netlib.org/lapack/single/sgesdd.f

it is doing that, and a look at its code suggested that it had found an elegant way of switching at runtime between upper- and lower-bidiagonalization without any significant performance penalty.

Anyway, it also is a perfectly valid approach to focus on square matrices for a first implementation and only start worrying about these questions afterwards.

This is a very useful thing to add to Eigen so let me wish you good luck with this project!

Benoit

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