ARPACK is a library for solving large scale eigenvalue problems.
The package is designed to compute a few eigenvalues and corresponding
eigenvectors of a general $n$ by $n$ matrix $A$. It is
most appropriate for large sparse or structured matrices $A$ where
structured means that a matrix-vector product w <- Av
requires
order $n$ rather than the usual order $n^2$ floating point
operations. Please see
http://www.caam.rice.edu/software/ARPACK/ for details. This function is an interface to ARPACK. igraph does not contain all
ARPACK routines, only the ones dealing with symmetric and
non-symmetric eigenvalue problems using double precision real
numbers.
The eigenvalue calculation in ARPACK (in the simplest
case) involves the calculation of the $Av$ product where $A$
is the matrix we work with and $v$ is an arbitrary vector. The
function supplied in the fun
argument is expected to perform
this product. If the product can be done efficiently, e.g. if the
matrix is sparse, then arpack
is usually able to calculate the
eigenvalues very quickly.
The options
argument specifies what kind of calculation to
perform. It is a list with the following members, they correspond
directly to ARPACK parameters. On input it has the following fields:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],On output the following additional fields are added:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Please see the ARPACK documentation for additional details.
arpack.unpack.complex
is a (semi-)internal function that
converts the output of the non-symmetric ARPACK solver to a more
readable format. It is called internally by arpack
.