public interface ARPACK
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 n^2 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.
| Modifier and Type | Interface and Description |
|---|---|
static class |
ARPACK.AsymmOption
Which eigenvalues of asymmetric matrix to compute.
|
static class |
ARPACK.SymmOption
Which eigenvalues of symmetric matrix to compute.
|
| Modifier and Type | Field and Description |
|---|---|
static org.slf4j.Logger |
logger |
| Modifier and Type | Method and Description |
|---|---|
static Matrix.EVD |
eigen(DMatrix A,
ARPACK.AsymmOption which,
int nev)
Computes NEV eigenvalues of an asymmetric double precision matrix.
|
static Matrix.EVD |
eigen(DMatrix A,
ARPACK.AsymmOption which,
int nev,
int ncv,
double tol)
Computes NEV eigenvalues of an asymmetric double precision matrix.
|
static FloatMatrix.EVD |
eigen(SMatrix A,
ARPACK.AsymmOption which,
int nev)
Computes NEV eigenvalues of an asymmetric single precision matrix.
|
static FloatMatrix.EVD |
eigen(SMatrix A,
ARPACK.AsymmOption which,
int nev,
int ncv,
float tol)
Computes NEV eigenvalues of an asymmetric single precision matrix.
|
static Matrix.SVD |
svd(DMatrix A,
int k)
Computes k largest approximate singular triples of a matrix.
|
static Matrix.SVD |
svd(DMatrix A,
int k,
int ncv,
double tol)
Computes k largest approximate singular triples of a matrix.
|
static FloatMatrix.SVD |
svd(SMatrix A,
int k)
Computes k largest approximate singular triples of a matrix.
|
static FloatMatrix.SVD |
svd(SMatrix A,
int k,
int ncv,
float tol)
Computes k largest approximate singular triples of a matrix.
|
static Matrix.EVD |
syev(DMatrix A,
ARPACK.SymmOption which,
int nev)
Computes NEV eigenvalues of a symmetric double precision matrix.
|
static Matrix.EVD |
syev(DMatrix A,
ARPACK.SymmOption which,
int nev,
int ncv,
double tol)
Computes NEV eigenvalues of a symmetric double precision matrix.
|
static FloatMatrix.EVD |
syev(SMatrix A,
ARPACK.SymmOption which,
int nev)
Computes NEV eigenvalues of a symmetric single precision matrix.
|
static FloatMatrix.EVD |
syev(SMatrix A,
ARPACK.SymmOption which,
int nev,
int ncv,
float tol)
Computes NEV eigenvalues of a symmetric single precision matrix.
|
static Matrix.EVD syev(DMatrix A, ARPACK.SymmOption which, int nev)
A - the matrix to decompose.which - which eigenvalues to compute.nev - the number of eigenvalues of OP to be computed. 0 < k < n.static Matrix.EVD syev(DMatrix A, ARPACK.SymmOption which, int nev, int ncv, double tol)
A - the matrix to decompose.which - which eigenvalues to compute.nev - the number of eigenvalues of OP to be computed. 0 < k < n.ncv - the number of Arnoldi vectors.tol - the stopping criterion.static FloatMatrix.EVD syev(SMatrix A, ARPACK.SymmOption which, int nev)
A - the matrix to decompose.which - which eigenvalues to compute.nev - the number of eigenvalues of OP to be computed. 0 < k < n.static FloatMatrix.EVD syev(SMatrix A, ARPACK.SymmOption which, int nev, int ncv, float tol)
A - the matrix to decompose.which - which eigenvalues to compute.nev - the number of eigenvalues of OP to be computed. 0 < k < n.ncv - the number of Arnoldi vectors.tol - the stopping criterion.static Matrix.EVD eigen(DMatrix A, ARPACK.AsymmOption which, int nev)
A - the matrix to decompose.which - which eigenvalues to compute.nev - the number of eigenvalues of OP to be computed. 0 < k < n.static Matrix.EVD eigen(DMatrix A, ARPACK.AsymmOption which, int nev, int ncv, double tol)
A - the matrix to decompose.which - which eigenvalues to compute.nev - the number of eigenvalues of OP to be computed. 0 < k < n.ncv - the number of Arnoldi vectors.tol - the stopping criterion.static FloatMatrix.EVD eigen(SMatrix A, ARPACK.AsymmOption which, int nev)
A - the matrix to decompose.which - which eigenvalues to compute.nev - the number of eigenvalues of OP to be computed. 0 < k < n.static FloatMatrix.EVD eigen(SMatrix A, ARPACK.AsymmOption which, int nev, int ncv, float tol)
A - the matrix to decompose.which - which eigenvalues to compute.nev - the number of eigenvalues of OP to be computed. 0 < k < n.ncv - the number of Arnoldi vectors.tol - the stopping criterion.static Matrix.SVD svd(DMatrix A, int k)
A - the matrix to decompose.k - the number of singular triples to compute.static Matrix.SVD svd(DMatrix A, int k, int ncv, double tol)
A - the matrix to decompose.k - the number of singular triples to compute.ncv - the number of Arnoldi vectors.tol - the stopping criterion.static FloatMatrix.SVD svd(SMatrix A, int k)
A - the matrix to decompose.k - the number of singular triples to compute.static FloatMatrix.SVD svd(SMatrix A, int k, int ncv, float tol)
A - the matrix to decompose.k - the number of singular triples to compute.ncv - the number of Arnoldi vectors.tol - the stopping criterion.