ZHPGV(l)	     LAPACK driver routine (version 1.1)	     ZHPGV(l)

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

SYNOPSIS

  SUBROUTINE ZHPGV( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z,	LDZ, WORK, RWORK,
		    INFO )

      CHARACTER	    JOBZ, UPLO

      INTEGER	    INFO, ITYPE, LDZ, N

      DOUBLE	    PRECISION RWORK( * ), W( * )

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

PURPOSE
  ZHPGV	computes all the eigenvalues and, optionally, the eigenvectors of a
  complex generalized Hermitian-definite eigenproblem, of the form
  A*x=(lambda)*B*x,  A*Bx=(lambda)*x,  or B*A*x=(lambda)*x.  Here A and	B are
  assumed to be	Hermitian, stored in packed format, and	B is also positive
  definite.

ARGUMENTS

  ITYPE	  (input) INTEGER
	  Specifies the	problem	type to	be solved:
	  = 1:	A*x = (lambda)*B*x
	  = 2:	A*B*x =	(lambda)*x
	  = 3:	B*A*x =	(lambda)*x

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

  UPLO	  (input) CHARACTER*1
	  = 'U':  Upper	triangles of A and B are stored;
	  = 'L':  Lower	triangles of A and B are stored.

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

  AP	  (input/workspace) COMPLEX*16 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)*(2n-j)/2) =
	  A(i,j) for j<=i<=n.

	  On exit, the contents	of AP are destroyed.

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

	  On exit, the triangular factor U or L	from the Cholesky factoriza-
	  tion B = U**H*U or B = L*L**H, in the	same storage format as B.

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

  Z	  (output) COMPLEX*16 array, dimension (LDZ, N)
	  If JOBZ = 'V', then if INFO =	0, Z contains the matrix Z of eigen-
	  vectors.  The	eigenvectors are normalized as follows:	if ITYPE = 1
	  or 2,	Z**H*B*Z = I; if ITYPE = 3, Z**H*inv(B)*Z = 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) COMPLEX*16 array,	dimension (max(1, 2*N-1))

  RWORK	  (workspace) DOUBLE PRECISION array, dimension	(max(1,	3*N-2))

  INFO	  (output) INTEGER
	  = 0:	successful exit
	  < 0:	if INFO	= -i, the i-th argument	had an illegal value
	  > 0:	ZPPTRF or ZHPEV	returned an error code:
	  <= N:	 if INFO = i, ZHPEV failed to converge;	i off-diagonal ele-
	  ments	of an intermediate tridiagonal form did	not convergeto zero;
	  > N:	 if INFO = N + i, for 1	<= i <=	n, then	the leading minor of
	  order	i of B is not positive definite.  The factorization of B
	  could	not be completed and no	eigenvalues or eigenvectors were com-
	  puted.


Back to the listing of simple driver routines