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