Calculate a limited number of eigenvalues and eigenvectors of A, based on a selection criteria.
The number of eigenvalues and eigenvectors to calculate is given by k and defaults to 6.
By default, eigs solve the equation
where
is the corresponding eigenvector. If given the positive definite matrix
B then eigs solves the general eigenvalue equation
The argument sigma determines which eigenvalues are returned. sigma can be either a scalar or a string. When sigma is a scalar, the k eigenvalues closest to sigma are returned. If sigma is a string, it must have one of the following values.
"lm"Largest Magnitude (default).
"sm"Smallest Magnitude.
"la"Largest Algebraic (valid only for real symmetric problems).
"sa"Smallest Algebraic (valid only for real symmetric problems).
"be"Both Ends, with one more from the high-end if k is odd (valid only for real symmetric problems).
"lr"Largest Real part (valid only for complex or unsymmetric problems).
"sr"Smallest Real part (valid only for complex or unsymmetric problems).
"li"Largest Imaginary part (valid only for complex or unsymmetric problems).
"si"Smallest Imaginary part (valid only for complex or unsymmetric problems).
If opts is given, it is a structure defining possible options that
eigs should use. The fields of the opts structure are:
issymIf af is given, then flags whether the function af defines a symmetric problem. It is ignored if A is given. The default is false.
isrealIf af is given, then flags whether the function af defines a real problem. It is ignored if A is given. The default is true.
tolDefines the required convergence tolerance, calculated as
tol * norm (A). The default is eps.
maxitThe maximum number of iterations. The default is 300.
pThe number of Lanzcos basis vectors to use. More vectors will result in
faster convergence, but a greater use of memory. The optimal value of
p is problem dependent and should be in the range k to n.
The default value is 2 * k.
v0The starting vector for the algorithm. An initial vector close to the
final vector will speed up convergence. The default is for ARPACK
to randomly generate a starting vector. If specified, v0 must be
an n-by-1 vector where n = rows (A)
dispThe level of diagnostic printout (0|1|2). If disp is 0 then
diagnostics are disabled. The default value is 0.
cholBFlag if chol (B) is passed rather than B. The default is
false.
permBThe permutation vector of the Cholesky factorization of B if
cholB is true. That is chol (B(permB, permB)). The
default is 1:n.
It is also possible to represent A by a function denoted af. af must be followed by a scalar argument n defining the length of the vector argument accepted by af. af can be a function handle, an inline function, or a string. When af is a string it holds the name of the function to use.
af is a function of the form y = af (x) where the required
return value of af is determined by the value of sigma. The
four possible forms are
A * xif sigma is not given or is a string other than "sm".
A \ xif sigma is 0 or "sm".
(A - sigma * I) \ xfor the standard eigenvalue problem, where I is the identity matrix
of the same size as A.
(A - sigma * B) \ xfor the general eigenvalue problem.
The return arguments of eigs depend on the number of return arguments
requested. With a single return argument, a vector d of length
k is returned containing the k eigenvalues that have been
found. With two return arguments, V is a n-by-k matrix
whose columns are the k eigenvectors corresponding to the returned
eigenvalues. The eigenvalues themselves are returned in d in the
form of a n-by-k matrix, where the elements on the diagonal
are the eigenvalues.
Given a third return argument flag, eigs returns the status
of the convergence. If flag is 0 then all eigenvalues have converged.
Any other value indicates a failure to converge.
This function is based on the ARPACK package, written by R. Lehoucq, K. Maschhoff, D. Sorensen, and C. Yang. For more information see http://www.caam.rice.edu/software/ARPACK/.
See also: eig, svds.
Package: octave