MATLAB: Do I receive an error when I use the EIGS function in MATLAB 7.0 (R14)


I use the following code to load a sparse matrix and determine its eigenvalue with the largest real part:
load matlabmat;
eigs(O, 1, 'lr');
However, I receive the following error:
??? Error using ==> eigs>processEUPDinfo
Error with ARPACK routine dneupd:
dnaupd did not find any eigenvalues to sufficient accuracy.
Error in ==> eigs at 369
flag = processEUPDinfo(nargin<3);

Best Answer

This error occurs when the input matrix of the EIGS function has a very high condition number, which makes EIGS unable to converge to the default tolerance of EPS.
As a workaround, reduce the tolerance of EIGS using the following commands:
opts.tol = 1e-3;
eigs(O, 1, 'lr', opts);