Computes the eigenvectors of a tridiagonal matrix using inverse iteration.
routinecomputes the eigenvectors of a symmetric tridiagonal matrix
Tcorresponding to specified eigenvalues, by inverse iteration.
p?steindoes not orthogonalize vectors that are on different processes. The extent of orthogonalization is controlled by the input parameter
lwork. Eigenvectors that are to be orthogonalized are computed by the same process.
p?steindecides on the allocation of work among the processes and then calls
routine) on each individual process. If insufficient workspace is allocated, the expected orthogonalization may not be done.
If the eigenvectors obtained are not orthogonal, increase
lworkand run the code again.
NPCOLis the total number of processes.
- (global)The order of the matrixINTEGER.T(.n≥0)
- (global)The number of eigenvectors to be returned.INTEGER.
- (global)REALfor single-precision flavorsDOUBLE PRECISIONfor double-precision flavors.Arrays:of sizedncontains the diagonal elements ofT.of sizeecontains the off-diagonal elements ofn-1T.of sizewmcontains all the eigenvalues grouped by split-off block. The eigenvalues are supplied from smallest to largest within the block. (Here the output arraywfrom <