CINVIT(3F)
CINVIT, SCINVIT - EISPACK routine. This subroutine finds those eigenvectors of A COMPLEX UPPER Hessenberg matrix corresponding to specified eigenvalues, using inverse iteration.
As shipped in IRIX 6.5.22. Unchanged since IRIX 6.5.
NAME CINVIT, SCINVIT - EISPACK routine. This subroutine finds those eigenvectors of A COMPLEX UPPER Hessenberg matrix corresponding to specified eigenvalues, using inverse iteration. SYNOPSYS subroutine cinvit(nm, n, ar, ai, wr, wi, select, mm, m, zr, zi, 1 ierr, rm1, rm2, rv1, rv2) integer nm, n, mm, m, ierr double precision ar(nm,n), ai(nm,n), wr(n), wi(n) double precision zr(nm,mm), zi(nm,mm) double precision rm1(n,n), rm2(n,n), rv1(n), rv2(n) logical select(n) subroutine scinvit(nm, n, ar, ai, wr, wi, select, mm, m, zr, zi, 1 ierr, rm1, rm2, rv1, rv2) integer nm, n, mm, m, ierr real ar(nm,n), ai(nm,n), wr(n), wi(n) real zr(nm,mm), zi(nm,mm) real rm1(n,n), rm2(n,n), rv1(n), rv2(n) logical select(n) DESCRIPTION On INPUT NM must be set to the row dimension of two-dimensional array parameters as declared in the calling program dimension statement. N is the order of the matrix. AR and AI contain the real and imaginary parts, respectively, of the Hessenberg matrix. WR and WI contain the real and imaginary parts, respectively, of the eigenvalues of the matrix. The eigenvalues must be stored in a manner identical to that of subroutine COMLR, which recognizes possible splitting of the matrix. SELECT specifies the eigenvectors to be found. The eigenvector corresponding to the J-th eigenvalue is specified by setting SELECT(J) to .TRUE. MM should be set to an upper bound for the number of eigenvectors to be found. On OUTPUT AR , AI, WI, and SELECT are unaltered. WR may have been altered since close eigenvalues are perturbed slightly in searching for independent eigenvectors. M is the number of eigenvectors actually found. ZR and ZI contain the real and imaginary parts, respectively, of the eigenvectors. The eigenvectors are normalized so that the component of largest magnitude is 1. Any vector which fails the acceptance test is set to zero. IERR is set to Zero for normal return, -(2*N+1) if more than MM eigenvectors have been specified, -K if the iteration corresponding to the K-th value fails, -(N+K) if both error situations occur. RM1 , RM2, RV1, and RV2 are temporary storage arrays. The ALGOL procedure GUESSVEC appears in CINVIT in line. Calls PYTHAG(A,B) for sqrt(A**2 + B**2). Calls CDIV for complex division. Questions and comments should be directed to B. S. Garbow, APPLIED MATHEMATICS DIVISION, ARGONNE NATIONAL LABORATORY