zhbevd man page on OpenIndiana

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

zhbevd(3P)		    Sun Performance Library		    zhbevd(3P)

NAME
       zhbevd - compute all the eigenvalues and, optionally, eigenvectors of a
       complex Hermitian band matrix A

SYNOPSIS
       SUBROUTINE ZHBEVD(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK,
	     LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)

       CHARACTER * 1 JOBZ, UPLO
       DOUBLE COMPLEX AB(LDAB,*), Z(LDZ,*), WORK(*)
       INTEGER N, KD, LDAB, LDZ, LWORK, LRWORK, LIWORK, INFO
       INTEGER IWORK(*)
       DOUBLE PRECISION W(*), RWORK(*)

       SUBROUTINE ZHBEVD_64(JOBZ, UPLO, N, KD, AB, LDAB, W, Z, LDZ, WORK,
	     LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)

       CHARACTER * 1 JOBZ, UPLO
       DOUBLE COMPLEX AB(LDAB,*), Z(LDZ,*), WORK(*)
       INTEGER*8 N, KD, LDAB, LDZ, LWORK, LRWORK, LIWORK, INFO
       INTEGER*8 IWORK(*)
       DOUBLE PRECISION W(*), RWORK(*)

   F95 INTERFACE
       SUBROUTINE HBEVD(JOBZ, UPLO, [N], KD, AB, [LDAB], W, Z, [LDZ], [WORK],
	      [LWORK], [RWORK], [LRWORK], [IWORK], [LIWORK], [INFO])

       CHARACTER(LEN=1) :: JOBZ, UPLO
       COMPLEX(8), DIMENSION(:) :: WORK
       COMPLEX(8), DIMENSION(:,:) :: AB, Z
       INTEGER :: N, KD, LDAB, LDZ, LWORK, LRWORK, LIWORK, INFO
       INTEGER, DIMENSION(:) :: IWORK
       REAL(8), DIMENSION(:) :: W, RWORK

       SUBROUTINE HBEVD_64(JOBZ, UPLO, [N], KD, AB, [LDAB], W, Z, [LDZ],
	      [WORK], [LWORK], [RWORK], [LRWORK], [IWORK], [LIWORK], [INFO])

       CHARACTER(LEN=1) :: JOBZ, UPLO
       COMPLEX(8), DIMENSION(:) :: WORK
       COMPLEX(8), DIMENSION(:,:) :: AB, Z
       INTEGER(8) :: N, KD, LDAB, LDZ, LWORK, LRWORK, LIWORK, INFO
       INTEGER(8), DIMENSION(:) :: IWORK
       REAL(8), DIMENSION(:) :: W, RWORK

   C INTERFACE
       #include <sunperf.h>

       void zhbevd(char jobz, char uplo, int n, int kd, doublecomplex *ab, int
		 ldab, double *w, doublecomplex *z, int ldz, int *info);

       void  zhbevd_64(char  jobz,  char  uplo, long n, long kd, doublecomplex
		 *ab, long ldab, double *w, doublecomplex *z, long  ldz,  long
		 *info);

PURPOSE
       zhbevd  computes all the eigenvalues and, optionally, eigenvectors of a
       complex Hermitian band matrix A.	 If eigenvectors 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
       JOBZ (input)
		 = 'N':	 Compute eigenvalues only;
		 = 'V':	 Compute eigenvalues and eigenvectors.

       UPLO (input)
		 = 'U':	 Upper triangle of A is stored;
		 = 'L':	 Lower triangle of A is stored.

       N (input) The order of the matrix A.  N >= 0.

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

       AB (input/output)
		 On  entry,  the upper or lower triangle of the Hermitian band
		 matrix A, stored in the first KD+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(kd+1+i-j,j)	=  A(i,j)  for
		 max(1,j-kd)<=i<=j; if UPLO = 'L', AB(1+i-j,j)	  = A(i,j) for
		 j<=i<=min(n,j+kd).

		 On exit, AB is overwritten by	values	generated  during  the
		 reduction  to	tridiagonal  form.   If	 UPLO = 'U', the first
		 superdiagonal and the diagonal of the	tridiagonal  matrix  T
		 are  returned	in  rows KD and KD+1 of AB, and if UPLO = 'L',
		 the diagonal and first subdiagonal of T are returned  in  the
		 first two rows of AB.

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

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

       Z (output)
		 If  JOBZ  = 'V', then if INFO = 0, Z contains the orthonormal
		 eigenvectors of the matrix A, with the i-th column of Z hold‐
		 ing  the  eigenvector	associated  with W(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 >= max(1,N).

       WORK (workspace)
		 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

       LWORK (input)
		 The   dimension   of	the   array   WORK.    If   N	<=  1,
		 LWORK must be at least 1.  If JOBZ = 'N' and  N  >  1,	 LWORK
		 must  be  at least N.	If JOBZ = 'V' and N > 1, LWORK must be
		 at least 2*N**2.

		 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.

       RWORK (workspace)
		 dimension (LRWORK) On exit, if INFO = 0, RWORK(1) returns the
		 optimal LRWORK.

       LRWORK (input)
		 The   dimension   of	array	RWORK.	   If	 N    <=    1,
		 LRWORK	 must  be at least 1.  If JOBZ = 'N' and N > 1, LRWORK
		 must be at least N.  If JOBZ = 'V' and N > 1, LRWORK must  be
		 at least 1 + 5*N + 2*N**2.

		 If  LRWORK  = -1, then a workspace query is assumed; the rou‐
		 tine only calculates the optimal size	of  the	 RWORK	array,
		 returns this value as the first entry of the RWORK array, and
		 no error message related to LRWORK is issued by XERBLA.

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

       LIWORK (input)
		 The dimension of array IWORK.	If JOBZ	 =  'N'	 or  N	<=  1,
		 LIWORK	 must  be at least 1.  If JOBZ = 'V' and N > 1, LIWORK
		 must be at least 3 + 5*N .

		 If LIWORK = -1, then a workspace query is assumed;  the  rou‐
		 tine  only  calculates	 the  optimal size of the IWORK array,
		 returns this value as the first entry of the IWORK array, and
		 no error message related to LIWORK is issued by XERBLA.

       INFO (output)
		 = 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.

				  6 Mar 2009			    zhbevd(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