Re: [eigen] ComplexEigenSolver with real matrices

[ Thread Index | Date Index | More Archives ]


My opinion is not very important on these matters as I didn't
contribute at all to that module. However, here it is:

2010/3/18 Jitse Niesen <jitse@xxxxxxxxxxxxxxxxx>:
> Hello,
> I am looking in more detail to the Eigenvalues module, since I'm using it in
> the MatrixFunctions module.
> One thing I noticed is that ComplexEigenSolver<Matrix3f> does not work,
> because Matrix3f is a real matrix. Is this supposed to work?

I'd say yes! There definitely is a use case for that. To begin with,
ComplexEigensolver is "the" mathematical notion of
eigenvalues/vectors, and we want it for real matrices as well!

> The many
> typedefs, distinguishing between real and complex scalars, seem to indicate
> so, and it shouldn't be hard to make it work. But if it's not supposed to
> work, I can add a note in the documentation.
> The other thing is that the code is, ummm, not as tidy as the rest of the
> Eigen code base. I also noted the item in the todo list for 3.0: "The
> implementation borrowed from JAMA should be rewritten in a clean way
> separating the Real Schur decomposition as for the complex case. Then the
> ComplexEigenSolver and EigenSolver should be merged." Any objections if I
> start refactoring the code, add documentation, etc? As you know, I work
> slowly so I'm unlikely to make the 3.0 deadline.

Go ahead (and you are most welcome to!! As for the 3.0 deadline:
 - all what is needed for 3.0 is a stable API and decent (not great) code.
 - we discussed that if needed, it would be OK to leave part of the
Eigenvalues module in unsupported/ for 3.0. That could include
 - we'll see where things are in a few months, if needed we'll make a
big push on Eigenvalues before the release.


> Cheers,
> Jitse

Mail converted by MHonArc 2.6.19+