smi keywords
ScaLAPACK parameters
smi.abstol
The absolute error tolerance for the eigenvalues. An approximate eigenvalue is accepted as converged when it is determined to lie in an interval [a,b] of width less than or equal to ABSTOL + EPS * max(|a|,|b|), where EPS is the machine precision. If ABSTOL is less than or equal to zero, then EPS*norm(T) will be used in its place, where norm(T) is the 1-norm of the tridiagonal matrix obtained by reducing A to tridiagonal form.
type: scalar
example: smi.abstol = 1e-8
smi.lwork
Size of the WORK array. When LWORK is too small: If LWORK is too small to guarantee orthogonality, PDSYGVX attempts to maintain orthogonality in the clusters with the smallest spacing between the eigenvalues. If LWORK is too small to compute all the eigenvectors requested, no computation is performed and INFO=-23 is returned. Note that when RANGE=’V’, PDSYGVX does not know how many eigenvectors are requested until the eigenvalues are computed. Therefore, when RANGE=’V’ and as long as LWORK is large enough to allow PDSYGVX to compute the eigenvalues, PDSYGVX will compute the eigenvalues and as many eigenvectors as it can. If LWORK = -1, then LWORK is global input and a workspace query is assumed; the routine only calculates the size required for optimal performance on all work arrays. Each of these values is returned in the first entry of the corresponding work array, and no error message is issued by PXERBLA.
type: scalar
example: smi.lwork = 1e8
smi.mb
Number of rows in the blocks (see http://netlib.org/scalapack/slug/node75.html).
type: scalar
default: 64
example: smi.mb = 128
smi.mp
Number of rows in the process grid (see http://netlib.org/scalapack/slug/node75.html).
type: scalar
default: automatically generated from the number of processes
example: smi.mp = 4
smi.nb
Number of columns in the blocks (see http://netlib.org/scalapack/slug/node75.html).
type: scalar
default: 64
example: smi.nb = 192
smi.np
Number of columns in the process grid (see http://netlib.org/scalapack/slug/node75.html).
type: scalar
default: automatically generated from the number of processes
example: smi.np = 12
smi.orfac
Specifies which eigenvectors should be reorthogonalized. Eigenvectors that correspond to eigenvalues which are within tol=ORFAC*norm(A) of each other are to be reorthogonalized. However, if the workspace is insufficient (see LWORK), tol may be decreased until all eigenvectors to be reorthogonalized can be stored in one process. No reorthogonalization will be done if ORFAC equals zero. A default value of 10^-3 is used if ORFAC is negative. ORFAC should be identical on all processes.
type: scalar
example: smi.orfac = 1e-8
smi.status
Perform a parallelized calculation and use ScaLAPACK if smi.status = true.
type: scalar
default: false
allowed: true,false
example: smi.status = true