.TH "stein" 3 "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME stein \- stein: eig, inverse iteration .SH SYNOPSIS .br .PP .SS "Functions" .in +1c .ti -1c .RI "subroutine \fBcstein\fP (n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifail, info)" .br .RI "\fBCSTEIN\fP " .ti -1c .RI "subroutine \fBdstein\fP (n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifail, info)" .br .RI "\fBDSTEIN\fP " .ti -1c .RI "subroutine \fBsstein\fP (n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifail, info)" .br .RI "\fBSSTEIN\fP " .ti -1c .RI "subroutine \fBzstein\fP (n, d, e, m, w, iblock, isplit, z, ldz, work, iwork, ifail, info)" .br .RI "\fBZSTEIN\fP " .in -1c .SH "Detailed Description" .PP .SH "Function Documentation" .PP .SS "subroutine cstein (integer n, real, dimension( * ) d, real, dimension( * ) e, integer m, real, dimension( * ) w, integer, dimension( * ) iblock, integer, dimension( * ) isplit, complex, dimension( ldz, * ) z, integer ldz, real, dimension( * ) work, integer, dimension( * ) iwork, integer, dimension( * ) ifail, integer info)" .PP \fBCSTEIN\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> CSTEIN computes the eigenvectors of a real symmetric tridiagonal !> matrix T corresponding to specified eigenvalues, using inverse !> iteration\&. !> !> The maximum number of iterations allowed for each eigenvector is !> specified by an internal parameter MAXITS (currently set to 5)\&. !> !> Although the eigenvectors are real, they are stored in a complex !> array, which may be passed to CUNMTR or CUPMTR for back !> transformation to the eigenvectors of a complex Hermitian matrix !> which was reduced to tridiagonal form\&. !> !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIN\fP .PP .nf !> N is INTEGER !> The order of the matrix\&. N >= 0\&. !> .fi .PP .br \fID\fP .PP .nf !> D is REAL array, dimension (N) !> The n diagonal elements of the tridiagonal matrix T\&. !> .fi .PP .br \fIE\fP .PP .nf !> E is REAL array, dimension (N-1) !> The (n-1) subdiagonal elements of the tridiagonal matrix !> T, stored in elements 1 to N-1\&. !> .fi .PP .br \fIM\fP .PP .nf !> M is INTEGER !> The number of eigenvectors to be found\&. 0 <= M <= N\&. !> .fi .PP .br \fIW\fP .PP .nf !> W is REAL array, dimension (N) !> The first M elements of W contain the eigenvalues for !> which eigenvectors are to be computed\&. The eigenvalues !> should be grouped by split-off block and ordered from !> smallest to largest within the block\&. ( The output array !> W from SSTEBZ with ORDER = 'B' is expected here\&. ) !> .fi .PP .br \fIIBLOCK\fP .PP .nf !> IBLOCK is INTEGER array, dimension (N) !> The submatrix indices associated with the corresponding !> eigenvalues in W; IBLOCK(i)=1 if eigenvalue W(i) belongs to !> the first submatrix from the top, =2 if W(i) belongs to !> the second submatrix, etc\&. ( The output array IBLOCK !> from SSTEBZ is expected here\&. ) !> .fi .PP .br \fIISPLIT\fP .PP .nf !> ISPLIT is INTEGER array, dimension (N) !> The splitting points, at which T breaks up into submatrices\&. !> The first submatrix consists of rows/columns 1 to !> ISPLIT( 1 ), the second of rows/columns ISPLIT( 1 )+1 !> through ISPLIT( 2 ), etc\&. !> ( The output array ISPLIT from SSTEBZ is expected here\&. ) !> .fi .PP .br \fIZ\fP .PP .nf !> Z is COMPLEX array, dimension (LDZ, M) !> The computed eigenvectors\&. The eigenvector associated !> with the eigenvalue W(i) is stored in the i-th column of !> Z\&. Any vector which fails to converge is set to its current !> iterate after MAXITS iterations\&. !> The imaginary parts of the eigenvectors are set to zero\&. !> .fi .PP .br \fILDZ\fP .PP .nf !> LDZ is INTEGER !> The leading dimension of the array Z\&. LDZ >= max(1,N)\&. !> .fi .PP .br \fIWORK\fP .PP .nf !> WORK is REAL array, dimension (5*N) !> .fi .PP .br \fIIWORK\fP .PP .nf !> IWORK is INTEGER array, dimension (N) !> .fi .PP .br \fIIFAIL\fP .PP .nf !> IFAIL is INTEGER array, dimension (M) !> On normal exit, all elements of IFAIL are zero\&. !> If one or more eigenvectors fail to converge after !> MAXITS iterations, then their indices are stored in !> array IFAIL\&. !> .fi .PP .br \fIINFO\fP .PP .nf !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> > 0: if INFO = i, then i eigenvectors failed to converge !> in MAXITS iterations\&. Their indices are stored in !> array IFAIL\&. !> .fi .PP .RE .PP \fBInternal Parameters:\fP .RS 4 .PP .nf !> MAXITS INTEGER, default = 5 !> The maximum number of iterations performed\&. !> !> EXTRA INTEGER, default = 2 !> The number of iterations performed after norm growth !> criterion is satisfied, should be at least 1\&. !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .PP Definition at line \fB180\fP of file \fBcstein\&.f\fP\&. .SS "subroutine dstein (integer n, double precision, dimension( * ) d, double precision, dimension( * ) e, integer m, double precision, dimension( * ) w, integer, dimension( * ) iblock, integer, dimension( * ) isplit, double precision, dimension( ldz, * ) z, integer ldz, double precision, dimension( * ) work, integer, dimension( * ) iwork, integer, dimension( * ) ifail, integer info)" .PP \fBDSTEIN\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> DSTEIN computes the eigenvectors of a real symmetric tridiagonal !> matrix T corresponding to specified eigenvalues, using inverse !> iteration\&. !> !> The maximum number of iterations allowed for each eigenvector is !> specified by an internal parameter MAXITS (currently set to 5)\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIN\fP .PP .nf !> N is INTEGER !> The order of the matrix\&. N >= 0\&. !> .fi .PP .br \fID\fP .PP .nf !> D is DOUBLE PRECISION array, dimension (N) !> The n diagonal elements of the tridiagonal matrix T\&. !> .fi .PP .br \fIE\fP .PP .nf !> E is DOUBLE PRECISION array, dimension (N-1) !> The (n-1) subdiagonal elements of the tridiagonal matrix !> T, in elements 1 to N-1\&. !> .fi .PP .br \fIM\fP .PP .nf !> M is INTEGER !> The number of eigenvectors to be found\&. 0 <= M <= N\&. !> .fi .PP .br \fIW\fP .PP .nf !> W is DOUBLE PRECISION array, dimension (N) !> The first M elements of W contain the eigenvalues for !> which eigenvectors are to be computed\&. The eigenvalues !> should be grouped by split-off block and ordered from !> smallest to largest within the block\&. ( The output array !> W from DSTEBZ with ORDER = 'B' is expected here\&. ) !> .fi .PP .br \fIIBLOCK\fP .PP .nf !> IBLOCK is INTEGER array, dimension (N) !> The submatrix indices associated with the corresponding !> eigenvalues in W; IBLOCK(i)=1 if eigenvalue W(i) belongs to !> the first submatrix from the top, =2 if W(i) belongs to !> the second submatrix, etc\&. ( The output array IBLOCK !> from DSTEBZ is expected here\&. ) !> .fi .PP .br \fIISPLIT\fP .PP .nf !> ISPLIT is INTEGER array, dimension (N) !> The splitting points, at which T breaks up into submatrices\&. !> The first submatrix consists of rows/columns 1 to !> ISPLIT( 1 ), the second of rows/columns ISPLIT( 1 )+1 !> through ISPLIT( 2 ), etc\&. !> ( The output array ISPLIT from DSTEBZ is expected here\&. ) !> .fi .PP .br \fIZ\fP .PP .nf !> Z is DOUBLE PRECISION array, dimension (LDZ, M) !> The computed eigenvectors\&. The eigenvector associated !> with the eigenvalue W(i) is stored in the i-th column of !> Z\&. Any vector which fails to converge is set to its current !> iterate after MAXITS iterations\&. !> .fi .PP .br \fILDZ\fP .PP .nf !> LDZ is INTEGER !> The leading dimension of the array Z\&. LDZ >= max(1,N)\&. !> .fi .PP .br \fIWORK\fP .PP .nf !> WORK is DOUBLE PRECISION array, dimension (5*N) !> .fi .PP .br \fIIWORK\fP .PP .nf !> IWORK is INTEGER array, dimension (N) !> .fi .PP .br \fIIFAIL\fP .PP .nf !> IFAIL is INTEGER array, dimension (M) !> On normal exit, all elements of IFAIL are zero\&. !> If one or more eigenvectors fail to converge after !> MAXITS iterations, then their indices are stored in !> array IFAIL\&. !> .fi .PP .br \fIINFO\fP .PP .nf !> INFO is INTEGER !> = 0: successful exit\&. !> < 0: if INFO = -i, the i-th argument had an illegal value !> > 0: if INFO = i, then i eigenvectors failed to converge !> in MAXITS iterations\&. Their indices are stored in !> array IFAIL\&. !> .fi .PP .RE .PP \fBInternal Parameters:\fP .RS 4 .PP .nf !> MAXITS INTEGER, default = 5 !> The maximum number of iterations performed\&. !> !> EXTRA INTEGER, default = 2 !> The number of iterations performed after norm growth !> criterion is satisfied, should be at least 1\&. !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .PP Definition at line \fB172\fP of file \fBdstein\&.f\fP\&. .SS "subroutine sstein (integer n, real, dimension( * ) d, real, dimension( * ) e, integer m, real, dimension( * ) w, integer, dimension( * ) iblock, integer, dimension( * ) isplit, real, dimension( ldz, * ) z, integer ldz, real, dimension( * ) work, integer, dimension( * ) iwork, integer, dimension( * ) ifail, integer info)" .PP \fBSSTEIN\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> SSTEIN computes the eigenvectors of a real symmetric tridiagonal !> matrix T corresponding to specified eigenvalues, using inverse !> iteration\&. !> !> The maximum number of iterations allowed for each eigenvector is !> specified by an internal parameter MAXITS (currently set to 5)\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIN\fP .PP .nf !> N is INTEGER !> The order of the matrix\&. N >= 0\&. !> .fi .PP .br \fID\fP .PP .nf !> D is REAL array, dimension (N) !> The n diagonal elements of the tridiagonal matrix T\&. !> .fi .PP .br \fIE\fP .PP .nf !> E is REAL array, dimension (N-1) !> The (n-1) subdiagonal elements of the tridiagonal matrix !> T, in elements 1 to N-1\&. !> .fi .PP .br \fIM\fP .PP .nf !> M is INTEGER !> The number of eigenvectors to be found\&. 0 <= M <= N\&. !> .fi .PP .br \fIW\fP .PP .nf !> W is REAL array, dimension (N) !> The first M elements of W contain the eigenvalues for !> which eigenvectors are to be computed\&. The eigenvalues !> should be grouped by split-off block and ordered from !> smallest to largest within the block\&. ( The output array !> W from SSTEBZ with ORDER = 'B' is expected here\&. ) !> .fi .PP .br \fIIBLOCK\fP .PP .nf !> IBLOCK is INTEGER array, dimension (N) !> The submatrix indices associated with the corresponding !> eigenvalues in W; IBLOCK(i)=1 if eigenvalue W(i) belongs to !> the first submatrix from the top, =2 if W(i) belongs to !> the second submatrix, etc\&. ( The output array IBLOCK !> from SSTEBZ is expected here\&. ) !> .fi .PP .br \fIISPLIT\fP .PP .nf !> ISPLIT is INTEGER array, dimension (N) !> The splitting points, at which T breaks up into submatrices\&. !> The first submatrix consists of rows/columns 1 to !> ISPLIT( 1 ), the second of rows/columns ISPLIT( 1 )+1 !> through ISPLIT( 2 ), etc\&. !> ( The output array ISPLIT from SSTEBZ is expected here\&. ) !> .fi .PP .br \fIZ\fP .PP .nf !> Z is REAL array, dimension (LDZ, M) !> The computed eigenvectors\&. The eigenvector associated !> with the eigenvalue W(i) is stored in the i-th column of !> Z\&. Any vector which fails to converge is set to its current !> iterate after MAXITS iterations\&. !> .fi .PP .br \fILDZ\fP .PP .nf !> LDZ is INTEGER !> The leading dimension of the array Z\&. LDZ >= max(1,N)\&. !> .fi .PP .br \fIWORK\fP .PP .nf !> WORK is REAL array, dimension (5*N) !> .fi .PP .br \fIIWORK\fP .PP .nf !> IWORK is INTEGER array, dimension (N) !> .fi .PP .br \fIIFAIL\fP .PP .nf !> IFAIL is INTEGER array, dimension (M) !> On normal exit, all elements of IFAIL are zero\&. !> If one or more eigenvectors fail to converge after !> MAXITS iterations, then their indices are stored in !> array IFAIL\&. !> .fi .PP .br \fIINFO\fP .PP .nf !> INFO is INTEGER !> = 0: successful exit\&. !> < 0: if INFO = -i, the i-th argument had an illegal value !> > 0: if INFO = i, then i eigenvectors failed to converge !> in MAXITS iterations\&. Their indices are stored in !> array IFAIL\&. !> .fi .PP .RE .PP \fBInternal Parameters:\fP .RS 4 .PP .nf !> MAXITS INTEGER, default = 5 !> The maximum number of iterations performed\&. !> !> EXTRA INTEGER, default = 2 !> The number of iterations performed after norm growth !> criterion is satisfied, should be at least 1\&. !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .PP Definition at line \fB172\fP of file \fBsstein\&.f\fP\&. .SS "subroutine zstein (integer n, double precision, dimension( * ) d, double precision, dimension( * ) e, integer m, double precision, dimension( * ) w, integer, dimension( * ) iblock, integer, dimension( * ) isplit, complex*16, dimension( ldz, * ) z, integer ldz, double precision, dimension( * ) work, integer, dimension( * ) iwork, integer, dimension( * ) ifail, integer info)" .PP \fBZSTEIN\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> ZSTEIN computes the eigenvectors of a real symmetric tridiagonal !> matrix T corresponding to specified eigenvalues, using inverse !> iteration\&. !> !> The maximum number of iterations allowed for each eigenvector is !> specified by an internal parameter MAXITS (currently set to 5)\&. !> !> Although the eigenvectors are real, they are stored in a complex !> array, which may be passed to ZUNMTR or ZUPMTR for back !> transformation to the eigenvectors of a complex Hermitian matrix !> which was reduced to tridiagonal form\&. !> !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIN\fP .PP .nf !> N is INTEGER !> The order of the matrix\&. N >= 0\&. !> .fi .PP .br \fID\fP .PP .nf !> D is DOUBLE PRECISION array, dimension (N) !> The n diagonal elements of the tridiagonal matrix T\&. !> .fi .PP .br \fIE\fP .PP .nf !> E is DOUBLE PRECISION array, dimension (N-1) !> The (n-1) subdiagonal elements of the tridiagonal matrix !> T, stored in elements 1 to N-1\&. !> .fi .PP .br \fIM\fP .PP .nf !> M is INTEGER !> The number of eigenvectors to be found\&. 0 <= M <= N\&. !> .fi .PP .br \fIW\fP .PP .nf !> W is DOUBLE PRECISION array, dimension (N) !> The first M elements of W contain the eigenvalues for !> which eigenvectors are to be computed\&. The eigenvalues !> should be grouped by split-off block and ordered from !> smallest to largest within the block\&. ( The output array !> W from DSTEBZ with ORDER = 'B' is expected here\&. ) !> .fi .PP .br \fIIBLOCK\fP .PP .nf !> IBLOCK is INTEGER array, dimension (N) !> The submatrix indices associated with the corresponding !> eigenvalues in W; IBLOCK(i)=1 if eigenvalue W(i) belongs to !> the first submatrix from the top, =2 if W(i) belongs to !> the second submatrix, etc\&. ( The output array IBLOCK !> from DSTEBZ is expected here\&. ) !> .fi .PP .br \fIISPLIT\fP .PP .nf !> ISPLIT is INTEGER array, dimension (N) !> The splitting points, at which T breaks up into submatrices\&. !> The first submatrix consists of rows/columns 1 to !> ISPLIT( 1 ), the second of rows/columns ISPLIT( 1 )+1 !> through ISPLIT( 2 ), etc\&. !> ( The output array ISPLIT from DSTEBZ is expected here\&. ) !> .fi .PP .br \fIZ\fP .PP .nf !> Z is COMPLEX*16 array, dimension (LDZ, M) !> The computed eigenvectors\&. The eigenvector associated !> with the eigenvalue W(i) is stored in the i-th column of !> Z\&. Any vector which fails to converge is set to its current !> iterate after MAXITS iterations\&. !> The imaginary parts of the eigenvectors are set to zero\&. !> .fi .PP .br \fILDZ\fP .PP .nf !> LDZ is INTEGER !> The leading dimension of the array Z\&. LDZ >= max(1,N)\&. !> .fi .PP .br \fIWORK\fP .PP .nf !> WORK is DOUBLE PRECISION array, dimension (5*N) !> .fi .PP .br \fIIWORK\fP .PP .nf !> IWORK is INTEGER array, dimension (N) !> .fi .PP .br \fIIFAIL\fP .PP .nf !> IFAIL is INTEGER array, dimension (M) !> On normal exit, all elements of IFAIL are zero\&. !> If one or more eigenvectors fail to converge after !> MAXITS iterations, then their indices are stored in !> array IFAIL\&. !> .fi .PP .br \fIINFO\fP .PP .nf !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> > 0: if INFO = i, then i eigenvectors failed to converge !> in MAXITS iterations\&. Their indices are stored in !> array IFAIL\&. !> .fi .PP .RE .PP \fBInternal Parameters:\fP .RS 4 .PP .nf !> MAXITS INTEGER, default = 5 !> The maximum number of iterations performed\&. !> !> EXTRA INTEGER, default = 2 !> The number of iterations performed after norm growth !> criterion is satisfied, should be at least 1\&. !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .PP Definition at line \fB180\fP of file \fBzstein\&.f\fP\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.