chbevd man page on OpenIndiana

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

chbevd(3P)		    Sun Performance Library		    chbevd(3P)

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

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

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

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

       CHARACTER * 1 JOBZ, UPLO
       COMPLEX AB(LDAB,*), Z(LDZ,*), WORK(*)
       INTEGER*8 N, KD, LDAB, LDZ, LWORK, LRWORK, LIWORK, INFO
       INTEGER*8 IWORK(*)
       REAL 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, DIMENSION(:) :: WORK
       COMPLEX, DIMENSION(:,:) :: AB, Z
       INTEGER :: N, KD, LDAB, LDZ, LWORK, LRWORK, LIWORK, INFO
       INTEGER, DIMENSION(:) :: IWORK
       REAL, 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, DIMENSION(:) :: WORK
       COMPLEX, DIMENSION(:,:) :: AB, Z
       INTEGER(8) :: N, KD, LDAB, LDZ, LWORK, LRWORK, LIWORK, INFO
       INTEGER(8), DIMENSION(:) :: IWORK
       REAL, DIMENSION(:) :: W, RWORK

   C INTERFACE
       #include <sunperf.h>

       void chbevd(char jobz, char uplo, int n, int kd, complex *ab, int ldab,
		 float *w, complex *z, int ldz, int *info);

       void chbevd_64(char jobz, char uplo, long n, long kd, complex *ab, long
		 ldab, float *w, complex *z, long ldz, long *info);

PURPOSE
       chbevd 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			    chbevd(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