dsygvd man page on Scientific

Man page or keyword search:  
man Server   26626 pages
apropos Keyword Search (all sections)
Output format
Scientific logo
[printable version]

DSYGVD(1)	      LAPACK driver routine (version 3.2)	     DSYGVD(1)

NAME
       DSYGVD - computes all the eigenvalues, and optionally, the eigenvectors
       of a real generalized  symmetric-definite  eigenproblem,	 of  the  form
       A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x

SYNOPSIS
       SUBROUTINE DSYGVD( ITYPE,  JOBZ,	 UPLO,	N,  A,	LDA,  B, LDB, W, WORK,
			  LWORK, IWORK, LIWORK, INFO )

	   CHARACTER	  JOBZ, UPLO

	   INTEGER	  INFO, ITYPE, LDA, LDB, LIWORK, LWORK, N

	   INTEGER	  IWORK( * )

	   DOUBLE	  PRECISION A( LDA, * ), B( LDB, * ), W( * ), WORK(  *
			  )

PURPOSE
       DSYGVD  computes	 all the eigenvalues, and optionally, the eigenvectors
       of a real generalized  symmetric-definite  eigenproblem,	 of  the  form
       A*x=(lambda)*B*x,  A*Bx=(lambda)*x,  or B*A*x=(lambda)*x.  Here A and B
       are assumed to be symmetric and B is also positive definite.  If eigen‐
       vectors	are  desired,  it  uses	 a  divide and conquer algorithm.  The
       divide and conquer algorithm makes very mild assumptions about floating
       point  arithmetic.  It  will  work  on  machines	 with a guard digit in
       add/subtract, or on those binary machines without  guard	 digits	 which
       subtract	 like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could
       conceivably fail on hexadecimal or decimal machines without guard  dig‐
       its, but we know of none.

ARGUMENTS
       ITYPE   (input) INTEGER
	       Specifies the problem type to be solved:
	       = 1:  A*x = (lambda)*B*x
	       = 2:  A*B*x = (lambda)*x
	       = 3:  B*A*x = (lambda)*x

       JOBZ    (input) CHARACTER*1
	       = 'N':  Compute eigenvalues only;
	       = 'V':  Compute eigenvalues and eigenvectors.

       UPLO    (input) CHARACTER*1
	       = 'U':  Upper triangles of A and B are stored;
	       = 'L':  Lower triangles of A and B are stored.

       N       (input) INTEGER
	       The order of the matrices A and B.  N >= 0.

       A       (input/output) 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 matrix Z of eigenvectors.  The eigenvectors are  normalized
	       as  follows:  if	 ITYPE	=  1 or 2, Z**T*B*Z = I; if ITYPE = 3,
	       Z**T*inv(B)*Z = I.  If JOBZ = 'N', then on exit the upper  tri‐
	       angle  (if  UPLO='U') or the lower triangle (if UPLO='L') of A,
	       including the diagonal, is destroyed.

       LDA     (input) INTEGER
	       The leading dimension of the array A.  LDA >= max(1,N).

       B       (input/output) DOUBLE PRECISION array, dimension (LDB, N)
	       On entry, the symmetric matrix B.  If UPLO = 'U',  the  leading
	       N-by-N upper triangular part of B contains the upper triangular
	       part of the matrix B.  If UPLO = 'L', the leading N-by-N	 lower
	       triangular  part of B contains the lower triangular part of the
	       matrix B.  On exit, if INFO <= N, the part of B containing  the
	       matrix  is overwritten by the triangular factor U or L from the
	       Cholesky factorization B = U**T*U or B = L*L**T.

       LDB     (input) INTEGER
	       The leading dimension of the array B.  LDB >= max(1,N).

       W       (output) DOUBLE PRECISION array, dimension (N)
	       If INFO = 0, the eigenvalues in ascending order.

       WORK	 (workspace/output)   DOUBLE   PRECISION   array,    dimension
       (MAX(1,LWORK))
	       On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

       LWORK   (input) INTEGER
	       The    dimension	  of   the   array   WORK.    If   N   <=   1,
	       LWORK >= 1.  If JOBZ = 'N' and N > 1, LWORK >= 2*N+1.  If  JOBZ
	       =  'V'  and  N  > 1, LWORK >= 1 + 6*N + 2*N**2.	If LWORK = -1,
	       then a workspace query is assumed; the routine only  calculates
	       the  optimal  sizes of the WORK and IWORK arrays, returns these
	       values as the first entries of the WORK and IWORK  arrays,  and
	       no  error  message  related  to	LWORK  or  LIWORK is issued by
	       XERBLA.

       IWORK   (workspace/output) INTEGER array, dimension (MAX(1,LIWORK))
	       On exit, if INFO = 0, IWORK(1) returns the optimal LIWORK.

       LIWORK  (input) INTEGER
	       The   dimension	 of   the   array   IWORK.    If   N   <=   1,
	       LIWORK  >=  1.  If JOBZ	= 'N' and N > 1, LIWORK >= 1.  If JOBZ
	       = 'V' and N > 1, LIWORK >= 3 + 5*N.  If LIWORK  =  -1,  then  a
	       workspace  query	 is  assumed;  the routine only calculates the
	       optimal sizes of the WORK and IWORK arrays, returns these  val‐
	       ues  as	the first entries of the WORK and IWORK arrays, and no
	       error message related to LWORK or LIWORK is issued by XERBLA.

       INFO    (output) INTEGER
	       = 0:  successful exit
	       < 0:  if INFO = -i, the i-th argument had an illegal value
	       > 0:  DPOTRF or DSYEVD returned an error code:
	       <= N:  if INFO = i and JOBZ = 'N', then the algorithm failed to
	       converge;  i off-diagonal elements of an intermediate tridiago‐
	       nal form did not converge to zero; if INFO = i and JOBZ =  'V',
	       then  the algorithm failed to compute an eigenvalue while work‐
	       ing on the submatrix  lying  in	rows  and  columns  INFO/(N+1)
	       through mod(INFO,N+1); > N:   if INFO = N + i, for 1 <= i <= N,
	       then the leading minor of order i of B is  not  positive	 defi‐
	       nite.  The factorization of B could not be completed and no ei‐
	       genvalues or eigenvectors were computed.

FURTHER DETAILS
       Based on contributions by
	  Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA	 Modi‐
       fied  so	 that no backsubstitution is performed if DSYEVD fails to con‐
       verge (NEIG in old code could be greater than N causing out  of	bounds
       reference  to A - reported by Ralf Meyer).  Also corrected the descrip‐
       tion of INFO and the test on ITYPE. Sven, 16 Feb 05.

 LAPACK driver routine (version 3November 2008			     DSYGVD(1)
[top]

List of man pages available for Scientific

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net