From: Mark Schenk on
On Thu, 28 Jan 2010 15:39:03 -0000, Mark Schenk <markschenk(a)operamail.com>
wrote:

A brief update on my own post: after looking at the problem a bit longer
it seems to be a fluke that eigs in Matlab 2009a gives correct results for
the lowest eigenvalues of near-singular matrices. The (existing) methods
for finding low eigenvalues of sparse matrices simply can't seem to deal
with singularities.

It still leaves a few questions though:

> (1) should Matlab provide an error when 'eigs' is used on near-singular
> matrices, warning that the results might be wrong? There is currently no
> explicit mention of this in the 'help eigs' and you need to actually
> know how the algorithm works to know that you can't solve singular
> matrices.

I know it's hard to establish how singular a matrix is, but at least
warnings might be given that the results might be inaccurate due to the
matrix' near-singularity.

> (2) were there changes in how 'eigs' is handled in recent versions of
> Matlab? I tried comparing the two versions of 'eigs.m' but have only
> found superficial code refactorisation so far, and as far as I can tell
> no major functional changes. If it is an updated version, is it now
> reliable enough to use 'eigs' on near-singular matrices?

I'm still intrigued what the differences between eigs in Matlab 2007a and
2009a is, and why I can't find any documentation on the changes.

--
Mark Schenk