Re: eigenvector computations
- To: mathgroup at smc.vnet.net
- Subject: [mg117362] Re: eigenvector computations
- From: Daniel Lichtblau <danl at wolfram.com>
- Date: Wed, 16 Mar 2011 06:27:16 -0500 (EST)
Bill Thurston wrote: > I'm doing some computations where I need to find the size of the leading eigenvalue of various matrices that depend on a rational number between 0 and 1. The matrices are mostly 0, with nonzero entries 1 or 2. I'm doing this using > sparse matrices and, for a matrix A, asking for > First@Abs[ Eigenvalues[ N[ A],1]] > which usually works fine, but sometimes I get error messages like this: > > > Eigenvalues::maxit2 : "Warning: maximum number of iterations, 1000, has been \ > reached by the Arnoldi algorithm without convergence to the specified \ > tolerance, but the current best computed value has been returned. You can use \ > method options with Method -> {Arnoldi, opts} to increase the size of basis \ > vectors, the maximum number of iterations, reduce the tolerance, or use an \ > estimate as a shift, any of which may help." > > This would be fine except that I can't find any Mathematica documentation for the Arnoldi method or its options. > What gives? > Bill Thurston > This lack of documentation on the advanced features of numerical linear algebra was filed as a bug report several months back. I am ever hopeful that it will be addressed. For your specific problem, I wonder if it might be worked around by adding a modestly large multiple m of an identity matrix, then subtracting m from the eigenvalue result? That is akin (or at least related) to a shift, but does not require intricate knowledge of Method -> {Arnoldi, opts} (which, without careful checking, I also do not have). Daniel Lichtblau Wolfram Research