*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> complib/chpevd (3)              
Title
Content
Arch
Section
 

Contents


CHPEVD(3F)							    CHPEVD(3F)


NAME    [Toc]    [Back]

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

SYNOPSIS    [Toc]    [Back]

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

	 CHARACTER	JOBZ, UPLO

	 INTEGER	INFO, LDZ, LIWORK, LRWORK, LWORK, N

	 INTEGER	IWORK( * )

	 REAL		RWORK( * ), W( * )

	 COMPLEX	AP( * ), WORK( * ), Z( LDZ, * )

PURPOSE    [Toc]    [Back]

     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 digits,
     but we know of none.

ARGUMENTS    [Toc]    [Back]

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

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

     N	     (input) INTEGER
	     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 + (j1)*j/2)
 = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*nj)/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



									Page 1






CHPEVD(3F)							    CHPEVD(3F)



	     first superdiagonal of the	tridiagonal matrix T overwrite the
	     corresponding elements of A, and if UPLO =	'L', the diagonal 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 holding
	     the eigenvector associated	with W(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 >= max(1,N).

     WORK    (workspace/output)	COMPLEX	array, dimension (LWORK)
	     On	exit, if LWORK > 0, WORK(1) returns the	optimal	LWORK.

     LWORK   (input) INTEGER
	     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.

     RWORK   (workspace/output)	REAL array,
	     dimension (LRWORK)	On exit, if LRWORK > 0,	RWORK(1) returns the
	     optimal LRWORK.

     LRWORK  (input) INTEGER
	     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 +
	     4*N + 2*N*lg N + 3*N**2 , where lg( N ) = smallest	integer	k such
	     that 2**k >= N.

     IWORK   (workspace/output)	INTEGER	array, dimension (LIWORK)
	     On	exit, if LIWORK	> 0, IWORK(1) returns the optimal LIWORK.

     LIWORK  (input) INTEGER
	     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 2 + 5*N.

     INFO    (output) INTEGER
	     = 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 offdiagonal
 elements of an intermediate tridiagonal form did not
	     converge to zero.
CHPEVD(3F)							    CHPEVD(3F)


NAME    [Toc]    [Back]

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

SYNOPSIS    [Toc]    [Back]

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

	 CHARACTER	JOBZ, UPLO

	 INTEGER	INFO, LDZ, LIWORK, LRWORK, LWORK, N

	 INTEGER	IWORK( * )

	 REAL		RWORK( * ), W( * )

	 COMPLEX	AP( * ), WORK( * ), Z( LDZ, * )

PURPOSE    [Toc]    [Back]

     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 digits,
     but we know of none.

ARGUMENTS    [Toc]    [Back]

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

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

     N	     (input) INTEGER
	     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 + (j1)*j/2)
 = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*nj)/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



									Page 1






CHPEVD(3F)							    CHPEVD(3F)



	     first superdiagonal of the	tridiagonal matrix T overwrite the
	     corresponding elements of A, and if UPLO =	'L', the diagonal 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 holding
	     the eigenvector associated	with W(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 >= max(1,N).

     WORK    (workspace/output)	COMPLEX	array, dimension (LWORK)
	     On	exit, if LWORK > 0, WORK(1) returns the	optimal	LWORK.

     LWORK   (input) INTEGER
	     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.

     RWORK   (workspace/output)	REAL array,
	     dimension (LRWORK)	On exit, if LRWORK > 0,	RWORK(1) returns the
	     optimal LRWORK.

     LRWORK  (input) INTEGER
	     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 +
	     4*N + 2*N*lg N + 3*N**2 , where lg( N ) = smallest	integer	k such
	     that 2**k >= N.

     IWORK   (workspace/output)	INTEGER	array, dimension (LIWORK)
	     On	exit, if LIWORK	> 0, IWORK(1) returns the optimal LIWORK.

     LIWORK  (input) INTEGER
	     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 2 + 5*N.

     INFO    (output) INTEGER
	     = 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 offdiagonal
 elements of an intermediate tridiagonal form did not
	     converge to zero.


									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
chpev IRIX compute all the eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix in packed storage
zhpev IRIX compute all the eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix in packed storage
zhpevx IRIX compute selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A in packed storage
chpevx IRIX compute selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A in packed storage
sspevd IRIX compute all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage
sspev IRIX compute all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage
dspev IRIX compute all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage
dspevd IRIX compute all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage
dspevx IRIX compute selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage
sspevx IRIX compute selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service