Interface ARPACK


public interface ARPACK
ARPACK is a collection of Fortran77 subroutines designed to solve 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 requires order n rather than the usual order O(n2) floating point operations. This software is based upon an algorithmic variant of the Arnoldi process called the Implicitly Restarted Arnoldi Method (IRAM). When the matrix A is symmetric it reduces to a variant of the Lanczos process called the Implicitly Restarted Lanczos Method (IRLM). These variants may be viewed as a synthesis of the Arnoldi/Lanczos process with the Implicitly Shifted QR technique that is suitable for large scale problems. For many standard problems, a matrix factorization is not required. Only the action of the matrix on a vector is needed.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    Which eigenvalues of asymmetric matrix to compute.
    static enum 
    Which eigenvalues of symmetric matrix to compute.
  • Method Summary

    Static Methods
    Modifier and Type
    Method
    Description
    static EVD
    eigen(Matrix A, ARPACK.AsymmOption which, int nev)
    Computes NEV eigenvalues of an asymmetric double precision matrix.
    static EVD
    eigen(Matrix A, ARPACK.AsymmOption which, int nev, int ncv, double tol)
    Computes NEV eigenvalues of an asymmetric double precision matrix.
    static SVD
    svd(Matrix A, int k)
    Computes k-largest approximate singular triples of a matrix.
    static SVD
    svd(Matrix A, int k, int ncv, double tol)
    Computes k-largest approximate singular triples of a matrix.
    static EVD
    syev(Matrix A, ARPACK.SymmOption which, int nev)
    Computes NEV eigenvalues of a symmetric double precision matrix.
    static EVD
    syev(Matrix A, ARPACK.SymmOption which, int nev, int ncv, double tol)
    Computes NEV eigenvalues of a symmetric double precision matrix.
  • Method Details

    • syev

      static EVD syev(Matrix A, ARPACK.SymmOption which, int nev)
      Computes NEV eigenvalues of a symmetric double precision matrix.
      Parameters:
      A - the matrix to decompose.
      which - which eigenvalues to compute.
      nev - the number of eigenvalues of OP to be computed. 0 < nev < n.
      Returns:
      the eigen decomposition.
    • syev

      static EVD syev(Matrix A, ARPACK.SymmOption which, int nev, int ncv, double tol)
      Computes NEV eigenvalues of a symmetric double precision matrix.
      Parameters:
      A - the matrix to decompose.
      which - which eigenvalues to compute.
      nev - the number of eigenvalues of OP to be computed. 0 < nev < n.
      ncv - the number of Arnoldi vectors.
      tol - the stopping criterion.
      Returns:
      the eigen decomposition.
    • eigen

      static EVD eigen(Matrix A, ARPACK.AsymmOption which, int nev)
      Computes NEV eigenvalues of an asymmetric double precision matrix.
      Parameters:
      A - the matrix to decompose.
      which - which eigenvalues to compute.
      nev - the number of eigenvalues of OP to be computed. 0 < nev < n.
      Returns:
      the eigen decomposition.
    • eigen

      static EVD eigen(Matrix A, ARPACK.AsymmOption which, int nev, int ncv, double tol)
      Computes NEV eigenvalues of an asymmetric double precision matrix.
      Parameters:
      A - the matrix to decompose.
      which - which eigenvalues to compute.
      nev - the number of eigenvalues of OP to be computed. 0 < nev < n.
      ncv - the number of Arnoldi vectors.
      tol - the stopping criterion.
      Returns:
      the eigen decomposition.
    • svd

      static SVD svd(Matrix A, int k)
      Computes k-largest approximate singular triples of a matrix.
      Parameters:
      A - the matrix to decompose.
      k - the number of singular triples to compute.
      Returns:
      the singular value decomposition.
    • svd

      static SVD svd(Matrix A, int k, int ncv, double tol)
      Computes k-largest approximate singular triples of a matrix.
      Parameters:
      A - the matrix to decompose.
      k - the number of singular triples to compute.
      ncv - the number of Arnoldi vectors.
      tol - the stopping criterion.
      Returns:
      the singular value decomposition.