[SciPy-Dev] Generalized eigenproblem with rank deficient matrices
Charles R Harris
charlesr.harris at gmail.com
Sun Sep 4 11:29:19 EDT 2011
On Sun, Sep 4, 2011 at 7:53 AM, Nils Wagner <nwagner at iam.uni-stuttgart.de>wrote:
> Hi all,
>
> how can I solve the eigenproblem
>
> A x = \lambda B x
>
> where both matrices are rank deficient ?
>
I'd do eigh and transform the problem to something like:
U * A * U^t * x= \lambda D * x
where D is diagonal. Note that the solutions may not be unique and \lambda
can be arbitrary, as you can see by studying
A = B = array([[1, 0], [0, 0]])
Where there are solutions for arbitrary \lambda. Likewise, there may be no
solutions under the requirement that x is non-zero:
A = array([[1, 1], [1, 0]]),
B = array([[1, 0], [0, 0]])
The usual case where B is positive definite corresponds to finding extrema
on a compact surface x^t * B *x = 1, but the surface is no longer compact
when B isn't positive definite. Note that these cases are all sensitive to
roundoff error.
Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20110904/af8745f7/attachment.html>
More information about the SciPy-Dev
mailing list