ssygvd man page on Scientific

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

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

NAME
       SSYGVD - 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 SSYGVD( 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( * )

	   REAL		  A( LDA, * ), B( LDB, * ), W( * ), WORK( * )

PURPOSE
       SSYGVD 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) 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  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) REAL 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) REAL array, dimension (N)
	       If INFO = 0, the eigenvalues in ascending order.

       WORK    (workspace/output) REAL 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:  SPOTRF or SSYEVD 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 SSYEVD 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			     SSYGVD(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