[eigen] Plan 9 from singular space |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: [eigen] Plan 9 from singular space
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Tue, 6 Jul 2010 18:41:33 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=uN/ENNfvWl2Fo87IgzVN39oJZblBKJC93le4DxrP9Jk=; b=YvjLeWQy+nEM79bOFf7eco+VwPqs3HuKg1y3k2W2Og7z0IiGHlGpXi1PkfW92sFsQ0 SfWO0g/c+/vhWQU1Sn97SB0ZJxDgwtMlAgiAoSxvziZEYtQx2dEGvSU69mfWa16McHJ6 8kwePhIjhmlpxyt46ie0MOyXcLE8mF1RQNtwo=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=Kmnv3AtGC2fbrV501G1avY1Er1R63vCYBCsfgFDD/KOMvRW4m5ik9aGLGVKq5PJx2d 5Dm+FZHBe1jUgWtKXs+k74GSkeyoTmWxzxTh7T03M3/b6QIkLk4wiJbyJ0fePPCf8LFF YxHJ9XuN5ukLFV2mux5KAfFqt4n0mPN2ww7eo=
Hi,
Here's my fork for SVD work:
http://bitbucket.org/bjacob/eigen-svd
Nothing interesting for now, but I'll keep you posted.
The plan is to implement the 1994 paper by Jessup and Sorensen, "A
Parallel Algorithm for Computing the Singular Value Decomposition of a
Matrix".
www.cs.colorado.edu/~jessup/SUBPAGES/PS/sorensen.ps.gz
The basic advantages are reliability and parallelizability.
But the evil idea is that this divide and conquer method will
furthermore allow us to offer a super-fancy API allowing to
efficiently compute any part of U or V or even to just multiply U or V
or their adjoints with any matrix without computing them. Which is
nearly impossible with Givens or Jacobi methods.
It will definitely replace the existing SVD implementation; however,
since it will bring a very new API, it may be a little too late in our
3.0 cycle for that. So I might then add DivConqSVD as a new class with
that new fancy API, and just reimplement SVD on top of it and keep it
around with the traditional API. If you want we can even keep
DivConqSVD internal in 3.0 and only expose the new API in 3.1. I don't
want to force my experimental stuff into 3.0. We'll be able to discuss
this better once it's implemented.
Benoit