.TH "heev" 3 "Tue Jan 28 2025 00:54:31" "Version 3.12.0" "LAPACK" \" -*- nroff -*-
.ad l
.nh
.SH NAME
heev \- {he,sy}ev: eig, QR iteration
.SH SYNOPSIS
.br
.PP
.SS "Functions"

.in +1c
.ti -1c
.RI "subroutine \fBcheev\fP (jobz, uplo, n, a, lda, w, work, lwork, rwork, info)"
.br
.RI "\fB CHEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices\fP "
.ti -1c
.RI "subroutine \fBdsyev\fP (jobz, uplo, n, a, lda, w, work, lwork, info)"
.br
.RI "\fB DSYEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices\fP "
.ti -1c
.RI "subroutine \fBssyev\fP (jobz, uplo, n, a, lda, w, work, lwork, info)"
.br
.RI "\fB SSYEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices\fP "
.ti -1c
.RI "subroutine \fBzheev\fP (jobz, uplo, n, a, lda, w, work, lwork, rwork, info)"
.br
.RI "\fB ZHEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices\fP "
.in -1c
.SH "Detailed Description"
.PP 

.SH "Function Documentation"
.PP 
.SS "subroutine cheev (character jobz, character uplo, integer n, complex, dimension( lda, * ) a, integer lda, real, dimension( * ) w, complex, dimension( * ) work, integer lwork, real, dimension( * ) rwork, integer info)"

.PP
\fB CHEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices\fP  
.PP
\fBPurpose:\fP
.RS 4

.PP
.nf
 CHEEV computes all eigenvalues and, optionally, eigenvectors of a
 complex Hermitian matrix A\&.
.fi
.PP
 
.RE
.PP
\fBParameters\fP
.RS 4
\fIJOBZ\fP 
.PP
.nf
          JOBZ is CHARACTER*1
          = 'N':  Compute eigenvalues only;
          = 'V':  Compute eigenvalues and eigenvectors\&.
.fi
.PP
.br
\fIUPLO\fP 
.PP
.nf
          UPLO is CHARACTER*1
          = 'U':  Upper triangle of A is stored;
          = 'L':  Lower triangle of A is stored\&.
.fi
.PP
.br
\fIN\fP 
.PP
.nf
          N is INTEGER
          The order of the matrix A\&.  N >= 0\&.
.fi
.PP
.br
\fIA\fP 
.PP
.nf
          A is COMPLEX array, dimension (LDA, N)
          On entry, the Hermitian matrix A\&.  If UPLO = 'U', the
          leading N-by-N upper triangular part of A contains the
          upper triangular part of the matrix A\&.  If UPLO = 'L',
          the leading N-by-N lower triangular part of A contains
          the lower triangular part of the matrix A\&.
          On exit, if JOBZ = 'V', then if INFO = 0, A contains the
          orthonormal eigenvectors of the matrix A\&.
          If JOBZ = 'N', then on exit the lower triangle (if UPLO='L')
          or the upper triangle (if UPLO='U') of A, including the
          diagonal, is destroyed\&.
.fi
.PP
.br
\fILDA\fP 
.PP
.nf
          LDA is INTEGER
          The leading dimension of the array A\&.  LDA >= max(1,N)\&.
.fi
.PP
.br
\fIW\fP 
.PP
.nf
          W is REAL array, dimension (N)
          If INFO = 0, the eigenvalues in ascending order\&.
.fi
.PP
.br
\fIWORK\fP 
.PP
.nf
          WORK is COMPLEX 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 length of the array WORK\&.  LWORK >= max(1,2*N-1)\&.
          For optimal efficiency, LWORK >= (NB+1)*N,
          where NB is the blocksize for CHETRD returned by ILAENV\&.

          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
\fIRWORK\fP 
.PP
.nf
          RWORK is REAL array, dimension (max(1, 3*N-2))
.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, the algorithm failed to converge; i
                off-diagonal elements of an intermediate tridiagonal
                form did not converge to zero\&.
.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

.SS "subroutine dsyev (character jobz, character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) w, double precision, dimension( * ) work, integer lwork, integer info)"

.PP
\fB DSYEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices\fP  
.PP
\fBPurpose:\fP
.RS 4

.PP
.nf
 DSYEV computes all eigenvalues and, optionally, eigenvectors of a
 real symmetric matrix A\&.
.fi
.PP
 
.RE
.PP
\fBParameters\fP
.RS 4
\fIJOBZ\fP 
.PP
.nf
          JOBZ is CHARACTER*1
          = 'N':  Compute eigenvalues only;
          = 'V':  Compute eigenvalues and eigenvectors\&.
.fi
.PP
.br
\fIUPLO\fP 
.PP
.nf
          UPLO is CHARACTER*1
          = 'U':  Upper triangle of A is stored;
          = 'L':  Lower triangle of A is stored\&.
.fi
.PP
.br
\fIN\fP 
.PP
.nf
          N is INTEGER
          The order of the matrix A\&.  N >= 0\&.
.fi
.PP
.br
\fIA\fP 
.PP
.nf
          A is DOUBLE PRECISION array, dimension (LDA, N)
          On entry, the symmetric matrix A\&.  If UPLO = 'U', the
          leading N-by-N upper triangular part of A contains the
          upper triangular part of the matrix A\&.  If UPLO = 'L',
          the leading N-by-N lower triangular part of A contains
          the lower triangular part of the matrix A\&.
          On exit, if JOBZ = 'V', then if INFO = 0, A contains the
          orthonormal eigenvectors of the matrix A\&.
          If JOBZ = 'N', then on exit the lower triangle (if UPLO='L')
          or the upper triangle (if UPLO='U') of A, including the
          diagonal, is destroyed\&.
.fi
.PP
.br
\fILDA\fP 
.PP
.nf
          LDA is INTEGER
          The leading dimension of the array A\&.  LDA >= max(1,N)\&.
.fi
.PP
.br
\fIW\fP 
.PP
.nf
          W is DOUBLE PRECISION array, dimension (N)
          If INFO = 0, the eigenvalues in ascending order\&.
.fi
.PP
.br
\fIWORK\fP 
.PP
.nf
          WORK is DOUBLE PRECISION 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 length of the array WORK\&.  LWORK >= max(1,3*N-1)\&.
          For optimal efficiency, LWORK >= (NB+2)*N,
          where NB is the blocksize for DSYTRD returned by ILAENV\&.

          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
\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, the algorithm failed to converge; i
                off-diagonal elements of an intermediate tridiagonal
                form did not converge to zero\&.
.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

.SS "subroutine ssyev (character jobz, character uplo, integer n, real, dimension( lda, * ) a, integer lda, real, dimension( * ) w, real, dimension( * ) work, integer lwork, integer info)"

.PP
\fB SSYEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for SY matrices\fP  
.PP
\fBPurpose:\fP
.RS 4

.PP
.nf
 SSYEV computes all eigenvalues and, optionally, eigenvectors of a
 real symmetric matrix A\&.
.fi
.PP
 
.RE
.PP
\fBParameters\fP
.RS 4
\fIJOBZ\fP 
.PP
.nf
          JOBZ is CHARACTER*1
          = 'N':  Compute eigenvalues only;
          = 'V':  Compute eigenvalues and eigenvectors\&.
.fi
.PP
.br
\fIUPLO\fP 
.PP
.nf
          UPLO is CHARACTER*1
          = 'U':  Upper triangle of A is stored;
          = 'L':  Lower triangle of A is stored\&.
.fi
.PP
.br
\fIN\fP 
.PP
.nf
          N is INTEGER
          The order of the matrix A\&.  N >= 0\&.
.fi
.PP
.br
\fIA\fP 
.PP
.nf
          A is REAL array, dimension (LDA, N)
          On entry, the symmetric matrix A\&.  If UPLO = 'U', the
          leading N-by-N upper triangular part of A contains the
          upper triangular part of the matrix A\&.  If UPLO = 'L',
          the leading N-by-N lower triangular part of A contains
          the lower triangular part of the matrix A\&.
          On exit, if JOBZ = 'V', then if INFO = 0, A contains the
          orthonormal eigenvectors of the matrix A\&.
          If JOBZ = 'N', then on exit the lower triangle (if UPLO='L')
          or the upper triangle (if UPLO='U') of A, including the
          diagonal, is destroyed\&.
.fi
.PP
.br
\fILDA\fP 
.PP
.nf
          LDA is INTEGER
          The leading dimension of the array A\&.  LDA >= max(1,N)\&.
.fi
.PP
.br
\fIW\fP 
.PP
.nf
          W is REAL array, dimension (N)
          If INFO = 0, the eigenvalues in ascending order\&.
.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 length of the array WORK\&.  LWORK >= max(1,3*N-1)\&.
          For optimal efficiency, LWORK >= (NB+2)*N,
          where NB is the blocksize for SSYTRD returned by ILAENV\&.

          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
\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, the algorithm failed to converge; i
                off-diagonal elements of an intermediate tridiagonal
                form did not converge to zero\&.
.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

.SS "subroutine zheev (character jobz, character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, double precision, dimension( * ) w, complex*16, dimension( * ) work, integer lwork, double precision, dimension( * ) rwork, integer info)"

.PP
\fB ZHEEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for HE matrices\fP  
.PP
\fBPurpose:\fP
.RS 4

.PP
.nf
 ZHEEV computes all eigenvalues and, optionally, eigenvectors of a
 complex Hermitian matrix A\&.
.fi
.PP
 
.RE
.PP
\fBParameters\fP
.RS 4
\fIJOBZ\fP 
.PP
.nf
          JOBZ is CHARACTER*1
          = 'N':  Compute eigenvalues only;
          = 'V':  Compute eigenvalues and eigenvectors\&.
.fi
.PP
.br
\fIUPLO\fP 
.PP
.nf
          UPLO is CHARACTER*1
          = 'U':  Upper triangle of A is stored;
          = 'L':  Lower triangle of A is stored\&.
.fi
.PP
.br
\fIN\fP 
.PP
.nf
          N is INTEGER
          The order of the matrix A\&.  N >= 0\&.
.fi
.PP
.br
\fIA\fP 
.PP
.nf
          A is COMPLEX*16 array, dimension (LDA, N)
          On entry, the Hermitian matrix A\&.  If UPLO = 'U', the
          leading N-by-N upper triangular part of A contains the
          upper triangular part of the matrix A\&.  If UPLO = 'L',
          the leading N-by-N lower triangular part of A contains
          the lower triangular part of the matrix A\&.
          On exit, if JOBZ = 'V', then if INFO = 0, A contains the
          orthonormal eigenvectors of the matrix A\&.
          If JOBZ = 'N', then on exit the lower triangle (if UPLO='L')
          or the upper triangle (if UPLO='U') of A, including the
          diagonal, is destroyed\&.
.fi
.PP
.br
\fILDA\fP 
.PP
.nf
          LDA is INTEGER
          The leading dimension of the array A\&.  LDA >= max(1,N)\&.
.fi
.PP
.br
\fIW\fP 
.PP
.nf
          W is DOUBLE PRECISION array, dimension (N)
          If INFO = 0, the eigenvalues in ascending order\&.
.fi
.PP
.br
\fIWORK\fP 
.PP
.nf
          WORK is COMPLEX*16 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 length of the array WORK\&.  LWORK >= max(1,2*N-1)\&.
          For optimal efficiency, LWORK >= (NB+1)*N,
          where NB is the blocksize for ZHETRD returned by ILAENV\&.

          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
\fIRWORK\fP 
.PP
.nf
          RWORK is DOUBLE PRECISION array, dimension (max(1, 3*N-2))
.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, the algorithm failed to converge; i
                off-diagonal elements of an intermediate tridiagonal
                form did not converge to zero\&.
.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

.SH "Author"
.PP 
Generated automatically by Doxygen for LAPACK from the source code\&.