chpevd man page on OpenIndiana

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

chpevd(3P)		    Sun Performance Library		    chpevd(3P)

NAME
       chpevd - compute all the eigenvalues and, optionally, eigenvectors of a
       complex Hermitian matrix A in packed storage

SYNOPSIS
       SUBROUTINE CHPEVD(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, RWORK,
	     LRWORK, IWORK, LIWORK, INFO)

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

       SUBROUTINE CHPEVD_64(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK,
	     RWORK, LRWORK, IWORK, LIWORK, INFO)

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

   F95 INTERFACE
       SUBROUTINE HPEVD(JOBZ, UPLO, [N], AP, W, Z, [LDZ], [WORK], [LWORK],
	      [RWORK], [LRWORK], [IWORK], [LIWORK], [INFO])

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

       SUBROUTINE HPEVD_64(JOBZ, UPLO, [N], AP, W, Z, [LDZ], [WORK], [LWORK],
	      [RWORK], [LRWORK], [IWORK], [LIWORK], [INFO])

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

   C INTERFACE
       #include <sunperf.h>

       void chpevd(char jobz, char uplo, int n, complex *ap, float *w, complex
		 *z, int ldz, int *info);

       void  chpevd_64(char  jobz,  char  uplo, long n, complex *ap, float *w,
		 complex *z, long ldz, long *info);

PURPOSE
       chpevd computes all the eigenvalues and, optionally, eigenvectors of  a
       complex	Hermitian  matrix  A  in  packed storage.  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.

       AP (input/output) COMPLEX array, dimension (N*(N+1)/2)
		 On entry, the upper or lower triangle of the Hermitian matrix
		 A, packed columnwise in a linear array.  The j-th column of A
		 is  stored  in the array AP as follows: if UPLO = 'U', AP(i +
		 (j-1)*j/2) = A(i,j) for  1<=i<=j;  if	UPLO  =	 'L',  AP(i  +
		 (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.

		 On  exit,  AP	is  overwritten by values generated during the
		 reduction to tridiagonal form.	 If UPLO = 'U',	 the  diagonal
		 and first superdiagonal of the tridiagonal matrix T overwrite
		 the corresponding elements of A, and if UPLO = 'L', the diag‐
		 onal  and  first subdiagonal of T overwrite the corresponding
		 elements of A.

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

       Z (output) COMPLEX array, dimension (LDZ, N)
		 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) COMPLEX array, dimension (LWORK)
		 On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

       LWORK (input)
		 The dimension of 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.

		 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)
		 REAL array, 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) INTEGER array, dimension (LIWORK)
		 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			    chpevd(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