Error With Arpack Routine Dneupd
Support Answers MathWorks Search MathWorks.com MathWorks Answers Support MATLAB Answers™ MATLAB Central Community Home MATLAB Answers File Exchange Cody Blogs Newsreader Link Exchange ThingSpeak Anniversary Home Ask Answer Browse More Contributors Recent Activity Flagged Content Flagged as Spam Help MATLAB Central Community Home MATLAB Answers File Exchange Cody Blogs Newsreader Link Exchange ThingSpeak Anniversary Home Ask Answer Browse More Contributors Recent Activity Flagged Content Flagged as Spam Help Trial software Karim (view profile) 1 question 0 answers 0 accepted answers Reputation: 0 Vote0 eigs and its behaviour Asked by Karim Karim (view profile) 1 question 0 answers 0 accepted answers Reputation: 0 on 4 Feb 2013 28 views (last 30 days) 28 views (last 30 days) Hello everyone at Mathworks,I'm using eigs in some algorithms that deal with real world data sets. These data result in square symmetric real matrices which might contain lots and lots of zeros; i.e. really sparse.I some cases, due to different values of the parameters these matrices when passed to eigs yield the following error message:>> >> ...Error using eigs/processEUPDinfo (line 1329) >> Error with ARPACK routine dneupd: >> dnaupd did not find any eigenvalues to sufficient accuracy. >> >> Error in eigs (line 357) >>flag = processEUPDinfo(nargout<3); >> Note that these matrices do not contain NaNs or inf values. Just +ve real values and zeros.The problem is the way eigs interrupts the execution of the experiment running. As you can see, if it does not converge, it gives an error and stops all the experiment, loosing by that hours and hours of simulations. Even though I used the flag output variable, still the same behaviour.As a programming trick, I tried eigs in a try/catch block which seems to work fine and avoids interrupting the execution of the hall experiment. However, I was wondering if there is a better solution for this problem. For instance, I would like to know, out of the k eigenvalue-eigenvector pairs, which one did not converge? retrieve the solution for the first k-1 e
Support Support Newsreader MathWorks Search MathWorks.com MathWorks Newsreader Support MATLAB Newsgroup MATLAB Central Community Home MATLAB Answers File Exchange Cody Blogs Newsreader Link Exchange ThingSpeak Anniversary Home Post A New Message Advanced Search Help MATLAB Central Community Home MATLAB Answers File Exchange Cody Blogs Newsreader Link Exchange ThingSpeak Anniversary Home Post A New Message Advanced Search Help Trial software Matlab 6 / eigs Subject: Matlab 6 / eigs From: Alex Casti Date: 19 Mar, 2001 17:24:34 Message: 1 of 6 Reply to this message Add author to My Watch https://www.mathworks.com/matlabcentral/answers/62209-eigs-and-its-behaviour List View original format Flag as spam I see that the current release of Matlab has a bug in the "eigs" routine, at least when it comes to extracting a few of the least magnitude eigenvalues using the 'SM' flag. The updated eigenvalue routines (ARPACK) were one of the reasons I recently upgraded from 5.3. Are we stuck with this buggy version https://www.mathworks.com/matlabcentral/newsreader/view_thread/22886 of "eigs" until the next release, or is there a patch of some sort available, or a rewritten m-file? Thanks, AC Subject: Matlab 6 / eigs From: Penny Anderson Date: 20 Mar, 2001 11:31:18 Message: 2 of 6 Reply to this message Add author to My Watch List View original format Flag as spam Alex Casti wrote in message <3AB68722.8976388E@camelot.mssm.edu>... > >I see that the current release of Matlab has a bug in the >"eigs" routine, at least when it comes to extracting a >few of the least magnitude eigenvalues using the 'SM' >flag. > >The updated eigenvalue routines (ARPACK) were >one of the reasons I recently upgraded from 5.3. >Are we stuck with this buggy version of "eigs" until >the next release, or is there a patch of some sort >available, or a rewritten m-file? > >Thanks, > >AC I have already forwarded the patched eigs m-file to Alex, but FYI this Solution will also be updated with the new eigs in a few days. http://www.mathworks.com/support/solutions/data/27377.shtml Penny. ========================================= Penny Anderson mailto:penny@mathworks.com The MathWorks, Inc. http://www.mathworks.com 3 Apple Hill Drive Phone: (508) 647-75
a few eigenpairs c of a linear operator "OP" with respect to a semi-inner product defined by c a symmetric positive semi-definite real matrix B. B may be the identity c matrix. NOTE: If the linear operator "OP" is real and symmetric c with respect to the real positive semi-definite symmetric matrix B, c http://www.caam.rice.edu/software/ARPACK/UG/node137.html i.e. B*OP = (OP')*B, then subroutine ssaupd should be used instead. c c The computed approximate eigenvalues are called Ritz values and c the corresponding approximate eigenvectors are called Ritz vectors. c c dnaupd is usually called iteratively to solve one of the c following problems: c c Mode 1: A*x = lambda*x. c ===> OP = A and B = I. c c Mode 2: A*x = lambda*M*x, M symmetric positive definite c ===> OP = inv[M]*A and B = M. c ===> (If error with M can be factored see remark 3 below) c c Mode 3: A*x = lambda*M*x, M symmetric semi-definite c ===> OP = Real_Part{ inv[A - sigma*M]*M } and B = M. c ===> shift-and-invert mode (in real arithmetic) c If OP*x = amu*x, then c amu = 1/2 * [ 1/(lambda-sigma) + 1/(lambda-conjg(sigma)) ]. c Note: If sigma is real, i.e. imaginary part of sigma is zero; c Real_Part{ inv[A - sigma*M]*M } == inv[A - sigma*M]*M c amu == 1/(lambda-sigma). c c Mode 4: error with arpack A*x = lambda*M*x, M symmetric semi-definite c ===> OP = Imaginary_Part{ inv[A - sigma*M]*M } and B = M. c ===> shift-and-invert mode (in real arithmetic) c If OP*x = amu*x, then c amu = 1/2i * [ 1/(lambda-sigma) - 1/(lambda-conjg(sigma)) ]. c c Both mode 3 and 4 give the same enhancement to eigenvalues close to c the (complex) shift sigma. However, as lambda goes to infinity, c the operator OP in mode 4 dampens the eigenvalues more strongly than c does OP defined in mode 3. c c NOTE: The action of w <- inv[A - sigma*M]*v or w <- inv[M]*v c should be accomplished either by a direct method c using a sparse matrix factorization and solving c c [A - sigma*M]*w = v or M*w = v, c c or through an iterative method for solving these c systems. If an iterative method is used, the c convergence test must be more stringent than c the accuracy requirements for the eigenvalue c approximations. c c\Usage: c call dnaupd c ( IDO, BMAT, N, WHICH, NEV, TOL, RESID, NCV, V, LDV, IPARAM, c IPNTR, WORKD, WORKL, LWORKL, INFO ) c c\Arguments c IDO Integer. (INPUT/OUTPUT) c Reverse communication flag. IDO must be zero on the first c call to dnaupd. IDO will be set internally to c indicate the type of operation to be performed. Control is c then given back to the calling routine which has the c responsibility to carry out the requested operation and call c dnaupd wit