Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for zhbgvx (redhat section l)

ZHBGVX(l)					)					ZHBGVX(l)

NAME
       ZHBGVX - compute all the eigenvalues, and optionally, the eigenvectors of a complex gener-
       alized Hermitian-definite banded eigenproblem, of the form A*x=(lambda)*B*x

SYNOPSIS
       SUBROUTINE ZHBGVX( JOBZ, RANGE, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, Q, LDQ, VL,  VU,  IL,
			  IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO )

	   CHARACTER	  JOBZ, RANGE, UPLO

	   INTEGER	  IL, INFO, IU, KA, KB, LDAB, LDBB, LDQ, LDZ, M, N

	   DOUBLE	  PRECISION ABSTOL, VL, VU

	   INTEGER	  IFAIL( * ), IWORK( * )

	   DOUBLE	  PRECISION RWORK( * ), W( * )

	   COMPLEX*16	  AB( LDAB, * ), BB( LDBB, * ), Q( LDQ, * ), WORK( * ), Z( LDZ, * )

PURPOSE
       ZHBGVX  computes all the eigenvalues, and optionally, the eigenvectors of a complex gener-
       alized Hermitian-definite banded eigenproblem, of the form A*x=(lambda)*B*x. Here A and	B
       are  assumed to be Hermitian and banded, and B is also positive definite.  Eigenvalues and
       eigenvectors can be selected by specifying either all eigenvalues, a range of values or	a
       range of indices for the desired eigenvalues.

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

       RANGE   (input) CHARACTER*1
	       = 'A': all eigenvalues will be found;
	       = 'V': all eigenvalues in the half-open interval (VL,VU] will be found; = 'I': the
	       IL-th through IU-th eigenvalues will be found.

       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.

       KA      (input) INTEGER
	       The number of superdiagonals of the matrix A if UPLO = 'U', or the number of  sub-
	       diagonals if UPLO = 'L'. KA >= 0.

       KB      (input) INTEGER
	       The  number of superdiagonals of the matrix B if UPLO = 'U', or the number of sub-
	       diagonals if UPLO = 'L'. KB >= 0.

       AB      (input/output) COMPLEX*16 array, dimension (LDAB, N)
	       On entry, the upper or lower triangle of the Hermitian band matrix  A,  stored  in
	       the first ka+1 rows of the array.  The j-th column of A is stored in the j-th col-
	       umn of the array AB as follows:	if  UPLO  =  'U',  AB(ka+1+i-j,j)  =  A(i,j)  for
	       max(1,j-ka)<=i<=j; if UPLO = 'L', AB(1+i-j,j)	= A(i,j) for j<=i<=min(n,j+ka).

	       On exit, the contents of AB are destroyed.

       LDAB    (input) INTEGER
	       The leading dimension of the array AB.  LDAB >= KA+1.

       BB      (input/output) COMPLEX*16 array, dimension (LDBB, N)
	       On  entry,  the	upper or lower triangle of the Hermitian band matrix B, stored in
	       the first kb+1 rows of the array.  The j-th column of B is stored in the j-th col-
	       umn  of	the  array  BB	as  follows:  if  UPLO = 'U', BB(kb+1+i-j,j) = B(i,j) for
	       max(1,j-kb)<=i<=j; if UPLO = 'L', BB(1+i-j,j)	= B(i,j) for j<=i<=min(n,j+kb).

	       On exit, the factor S from  the	split  Cholesky  factorization	B  =  S**H*S,  as
	       returned by ZPBSTF.

       LDBB    (input) INTEGER
	       The leading dimension of the array BB.  LDBB >= KB+1.

       Q       (output) COMPLEX*16 array, dimension (LDQ, N)
	       If  JOBZ  =  'V', the n-by-n matrix used in the reduction of A*x = (lambda)*B*x to
	       standard form, i.e. C*x = (lambda)*x, and consequently C to tridiagonal form.   If
	       JOBZ = 'N', the array Q is not referenced.

       LDQ     (input) INTEGER
	       The leading dimension of the array Q.  If JOBZ = 'N', LDQ >= 1. If JOBZ = 'V', LDQ
	       >= max(1,N).

       VL      (input) DOUBLE PRECISION
	       VU      (input) DOUBLE PRECISION If RANGE='V', the lower and upper bounds  of  the
	       interval  to  be searched for eigenvalues. VL < VU.  Not referenced if RANGE = 'A'
	       or 'I'.

       IL      (input) INTEGER
	       IU      (input) INTEGER If RANGE='I', the indices  (in  ascending  order)  of  the
	       smallest and largest eigenvalues to be returned.  1 <= IL <= IU <= N, if N > 0; IL
	       = 1 and IU = 0 if N = 0.  Not referenced if RANGE = 'A' or 'V'.

       ABSTOL  (input) DOUBLE PRECISION
	       The absolute error tolerance for the eigenvalues.  An  approximate  eigenvalue  is
	       accepted  as  converged when it is determined to lie in an interval [a,b] of width
	       less than or equal to

	       ABSTOL + EPS *	max( |a|,|b| ) ,

	       where EPS is the machine precision.  If ABSTOL is less than or equal to zero, then
	       EPS*|T|	 will  be  used  in its place, where |T| is the 1-norm of the tridiagonal
	       matrix obtained by reducing AP to tridiagonal form.

	       Eigenvalues will be computed most accurately when  ABSTOL  is  set  to  twice  the
	       underflow threshold 2*DLAMCH('S'), not zero.  If this routine returns with INFO>0,
	       indicating that	some  eigenvectors  did  not  converge,  try  setting  ABSTOL  to
	       2*DLAMCH('S').

       M       (output) INTEGER
	       The  total  number of eigenvalues found.  0 <= M <= N.  If RANGE = 'A', M = N, and
	       if RANGE = 'I', M = IU-IL+1.

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

       Z       (output) COMPLEX*16 array, dimension (LDZ, N)
	       If JOBZ = 'V', then if INFO = 0, Z contains the matrix Z of eigenvectors, with the
	       i-th  column  of  Z holding the eigenvector associated with W(i). The eigenvectors
	       are normalized so that Z**H*B*Z = I.  If JOBZ = 'N', then Z is not referenced.

       LDZ     (input) INTEGER
	       The leading dimension of the array Z.  LDZ >= 1, and if JOBZ = 'V', LDZ >= N.

       WORK    (workspace) COMPLEX*16 array, dimension (N)

       RWORK   (workspace) DOUBLE PRECISION array, dimension (7*N)

       IWORK   (workspace) INTEGER array, dimension (5*N)

       IFAIL   (output) INTEGER array, dimension (N)
	       If JOBZ = 'V', then if INFO = 0, the first M elements of IFAIL are zero.  If  INFO
	       >  0, then IFAIL contains the indices of the eigenvectors that failed to converge.
	       If JOBZ = 'N', then IFAIL is not referenced.

       INFO    (output) INTEGER
	       = 0:  successful exit
	       < 0:  if INFO = -i, the i-th argument had an illegal value
	       > 0:  if INFO = i, and i is:
	       <= N:  then i eigenvectors failed to converge.  Their indices are stored in  array
	       IFAIL.  > N:   if INFO = N + i, for 1 <= i <= N, then ZPBSTF
	       returned  INFO  = i: B is not positive definite.  The factorization of B could not
	       be completed and no eigenvalues or eigenvectors were computed.

FURTHER DETAILS
       Based on contributions by
	  Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA

LAPACK version 3.0			   15 June 2000 				ZHBGVX(l)


All times are GMT -4. The time now is 08:53 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password