.TH "SRC/sstedc.f" 3 "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME SRC/sstedc.f .SH SYNOPSIS .br .PP .SS "Functions/Subroutines" .in +1c .ti -1c .RI "subroutine \fBsstedc\fP (compz, n, d, e, z, ldz, work, lwork, iwork, liwork, info)" .br .RI "\fBSSTEDC\fP " .in -1c .SH "Function/Subroutine Documentation" .PP .SS "subroutine sstedc (character compz, integer n, real, dimension( * ) d, real, dimension( * ) e, real, dimension( ldz, * ) z, integer ldz, real, dimension( * ) work, integer lwork, integer, dimension( * ) iwork, integer liwork, integer info)" .PP \fBSSTEDC\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> SSTEDC computes all eigenvalues and, optionally, eigenvectors of a !> symmetric tridiagonal matrix using the divide and conquer method\&. !> The eigenvectors of a full or band real symmetric matrix can also be !> found if SSYTRD or SSPTRD or SSBTRD has been used to reduce this !> matrix to tridiagonal form\&. !> !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fICOMPZ\fP .PP .nf !> COMPZ is CHARACTER*1 !> = 'N': Compute eigenvalues only\&. !> = 'I': Compute eigenvectors of tridiagonal matrix also\&. !> = 'V': Compute eigenvectors of original dense symmetric !> matrix also\&. On entry, Z contains the orthogonal !> matrix used to reduce the original matrix to !> tridiagonal form\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> The dimension of the symmetric tridiagonal matrix\&. N >= 0\&. !> .fi .PP .br \fID\fP .PP .nf !> D is REAL array, dimension (N) !> On entry, the diagonal elements of the tridiagonal matrix\&. !> On exit, if INFO = 0, the eigenvalues in ascending order\&. !> .fi .PP .br \fIE\fP .PP .nf !> E is REAL array, dimension (N-1) !> On entry, the subdiagonal elements of the tridiagonal matrix\&. !> On exit, E has been destroyed\&. !> .fi .PP .br \fIZ\fP .PP .nf !> Z is REAL array, dimension (LDZ,N) !> On entry, if COMPZ = 'V', then Z contains the orthogonal !> matrix used in the reduction to tridiagonal form\&. !> On exit, if INFO = 0, then if COMPZ = 'V', Z contains the !> orthonormal eigenvectors of the original symmetric matrix, !> and if COMPZ = 'I', Z contains the orthonormal eigenvectors !> of the symmetric tridiagonal matrix\&. !> If COMPZ = 'N', then Z is not referenced\&. !> .fi .PP .br \fILDZ\fP .PP .nf !> LDZ is INTEGER !> The leading dimension of the array Z\&. LDZ >= 1\&. !> If eigenvectors are desired, then LDZ >= max(1,N)\&. !> .fi .PP .br \fIWORK\fP .PP .nf !> WORK is REAL array, dimension (MAX(1,LWORK)) !> On exit, if INFO = 0, WORK(1) returns the optimal LWORK\&. !> .fi .PP .br \fILWORK\fP .PP .nf !> LWORK is INTEGER !> The dimension of the array WORK\&. !> If COMPZ = 'N' or N <= 1 then LWORK must be at least 1\&. !> If COMPZ = 'V' and N > 1 then LWORK must be at least !> ( 1 + 3*N + 2*N*lg N + 4*N**2 ), !> where lg( N ) = smallest integer k such !> that 2**k >= N\&. !> If COMPZ = 'I' and N > 1 then LWORK must be at least !> ( 1 + 4*N + N**2 )\&. !> Note that for COMPZ = 'I' or 'V', then if N is less than or !> equal to the minimum divide size, usually 25, then LWORK need !> only be max(1,2*(N-1))\&. !> !> If LWORK = -1, then a workspace query is assumed; the routine !> only calculates the optimal size of the WORK array, returns !> this value as the first entry of the WORK array, and no error !> message related to LWORK is issued by XERBLA\&. !> .fi .PP .br \fIIWORK\fP .PP .nf !> IWORK is INTEGER array, dimension (MAX(1,LIWORK)) !> On exit, if INFO = 0, IWORK(1) returns the optimal LIWORK\&. !> .fi .PP .br \fILIWORK\fP .PP .nf !> LIWORK is INTEGER !> The dimension of the array IWORK\&. !> If COMPZ = 'N' or N <= 1 then LIWORK must be at least 1\&. !> If COMPZ = 'V' and N > 1 then LIWORK must be at least !> ( 6 + 6*N + 5*N*lg N )\&. !> If COMPZ = 'I' and N > 1 then LIWORK must be at least !> ( 3 + 5*N )\&. !> Note that for COMPZ = 'I' or 'V', then if N is less than or !> equal to the minimum divide size, usually 25, then LIWORK !> need only be 1\&. !> !> If LIWORK = -1, then a workspace query is assumed; the !> routine only calculates the optimal size of the IWORK array, !> returns this value as the first entry of the IWORK array, and !> no error message related to LIWORK is issued by XERBLA\&. !> .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: The algorithm failed to compute an eigenvalue while !> working on the submatrix lying in rows and columns !> INFO/(N+1) through mod(INFO,N+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 \fBContributors:\fP .RS 4 Jeff Rutter, Computer Science Division, University of California at Berkeley, USA .br Modified by Francoise Tisseur, University of Tennessee .RE .PP .PP Definition at line \fB180\fP of file \fBsstedc\&.f\fP\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.