chbgvx man page on OpenIndiana

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

chbgvx(3P)		    Sun Performance Library		    chbgvx(3P)

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

SYNOPSIS
       SUBROUTINE CHBGVX(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 * 1 JOBZ, RANGE, UPLO
       COMPLEX AB(LDAB,*), BB(LDBB,*), Q(LDQ,*), Z(LDZ,*), WORK(*)
       INTEGER N, KA, KB, LDAB, LDBB, LDQ, IL, IU, M, LDZ, INFO
       INTEGER IWORK(*), IFAIL(*)
       REAL VL, VU, ABSTOL
       REAL W(*), RWORK(*)

       SUBROUTINE CHBGVX_64(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 * 1 JOBZ, RANGE, UPLO
       COMPLEX AB(LDAB,*), BB(LDBB,*), Q(LDQ,*), Z(LDZ,*), WORK(*)
       INTEGER*8 N, KA, KB, LDAB, LDBB, LDQ, IL, IU, M, LDZ, INFO
       INTEGER*8 IWORK(*), IFAIL(*)
       REAL VL, VU, ABSTOL
       REAL W(*), RWORK(*)

   F95 INTERFACE
       SUBROUTINE HBGVX(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(LEN=1) :: JOBZ, RANGE, UPLO
       COMPLEX, DIMENSION(:) :: WORK
       COMPLEX, DIMENSION(:,:) :: AB, BB, Q, Z
       INTEGER :: N, KA, KB, LDAB, LDBB, LDQ, IL, IU, M, LDZ, INFO
       INTEGER, DIMENSION(:) :: IWORK, IFAIL
       REAL :: VL, VU, ABSTOL
       REAL, DIMENSION(:) :: W, RWORK

       SUBROUTINE HBGVX_64(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(LEN=1) :: JOBZ, RANGE, UPLO
       COMPLEX, DIMENSION(:) :: WORK
       COMPLEX, DIMENSION(:,:) :: AB, BB, Q, Z
       INTEGER(8) :: N, KA, KB, LDAB, LDBB, LDQ, IL, IU, M, LDZ, INFO
       INTEGER(8), DIMENSION(:) :: IWORK, IFAIL
       REAL :: VL, VU, ABSTOL
       REAL, DIMENSION(:) :: W, RWORK

   C INTERFACE
       #include <sunperf.h>

       void  chbgvx(char  jobz,	 char range, char uplo, int n, int ka, int kb,
		 complex *ab, int ldab, complex *bb, int ldbb, complex *q, int
		 ldq,  float  vl,  float vu, int il, int iu, float abstol, int
		 *m, float *w, complex *z, int ldz, int *ifail, int *info);

       void chbgvx_64(char jobz, char range, char uplo, long n, long ka,  long
		 kb,  complex  *ab, long ldab, complex *bb, long ldbb, complex
		 *q, long ldq, float vl, float vu, long	 il,  long  iu,	 float
		 abstol, long *m, float *w, complex *z, long ldz, long *ifail,
		 long *info);

PURPOSE
       chbgvx computes all the eigenvalues, and optionally,  the  eigenvectors
       of a complex generalized 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)
		 = 'N':	 Compute eigenvalues only;
		 = 'V':	 Compute eigenvalues and eigenvectors.

       RANGE (input)
		 = '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)
		 = 'U':	 Upper triangles of A and B are stored;
		 = 'L':	 Lower triangles of A and B are stored.

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

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

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

       AB (input/output)
		 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 column 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)
		 The leading dimension of the array AB.	 LDAB >= KA+1.

       BB (input/output)
		 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 column 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 CPBSTF.

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

       Q (output)
		 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)
		 The  leading dimension of the array Q.	 If JOBZ = 'N', LDQ >=
		 1. If JOBZ = 'V', LDQ >= max(1,N).

       VL (input)
		 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'.

       VU (input)
		 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)
		 If RANGE='I', the indices (in ascending order) of the	small‐
		 est 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'.

       IU (input)
		 If  RANGE='I', the indices (in ascending order) of the small‐
		 est 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)
		 The absolute error tolerance for the eigenvalues.  An approx‐
		 imate	eigenvalue  is accepted as converged when it is deter‐
		 mined 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*SLAMCH('S'), not zero.
		 If this routine returns with  INFO>0,	indicating  that  some
		 eigenvectors	did   not  converge,  try  setting  ABSTOL  to
		 2*SLAMCH('S').

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

       W (output)
		 If INFO = 0, the eigenvalues in ascending order.

       Z (output)
		 If  JOBZ  = 'V', then if INFO = 0, Z contains the matrix Z of
		 eigenvectors, with the i-th column of Z holding the eigenvec‐
		 tor  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)
		 The leading dimension of the array Z.	LDZ >= 1, and if  JOBZ
		 = 'V', LDZ >= N.

       WORK (workspace)
		 dimension(N)

       RWORK (workspace)
		 dimension(7*N)

       IWORK (workspace)
		 dimension(5*N)

       IFAIL (output)
		 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)
		 = 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 CPBSTF
		 returned INFO = i: B is not positive definite.	  The  factor‐
		 ization  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

				  6 Mar 2009			    chbgvx(3P)
[top]

List of man pages available for OpenIndiana

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