·  Home
+   man pages
 -> Linux -> FreeBSD -> OpenBSD -> NetBSD -> Tru64 Unix -> HP-UX 11i -> IRIX
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

man pages->IRIX man pages -> complib/zhpgv (3)
 Title
 Content
 Arch
 Section All Sections 1 - General Commands 2 - System Calls 3 - Subroutines 4 - Special Files 5 - File Formats 6 - Games 7 - Macros and Conventions 8 - Maintenance Commands 9 - Kernel Interface n - New Commands

### Contents

```
ZHPGV(3F)							     ZHPGV(3F)

```

### NAME[Toc][Back]

```     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[Toc][Back]

```     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[Toc][Back]

```     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[Toc][Back]

```     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 matrices A and B.	 N >= 0.

AP	     (input/output) 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 + (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, the contents of AP are destroyed.

Page 1

ZHPGV(3F)							     ZHPGV(3F)

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 + (j1)*j/2)
= B(i,j) for 1<=i<=j; if UPLO = 'L', BP(i + (j-1)*(2*nj)/2)
= B(i,j) for	j<=i<=n.

On	exit, the triangular factor U or L from	the Cholesky
factorization 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
eigenvectors.  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
elements 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 computed.
ZHPGV(3F)							     ZHPGV(3F)

```

### NAME[Toc][Back]

```     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[Toc][Back]

```     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[Toc][Back]

```     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[Toc][Back]

```     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 matrices A and B.	 N >= 0.

AP	     (input/output) 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 + (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, the contents of AP are destroyed.

Page 1

ZHPGV(3F)							     ZHPGV(3F)

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 + (j1)*j/2)
= B(i,j) for 1<=i<=j; if UPLO = 'L', BP(i + (j-1)*(2*nj)/2)
= B(i,j) for	j<=i<=n.

On	exit, the triangular factor U or L from	the Cholesky
factorization 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
eigenvectors.  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
elements 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 computed.

PPPPaaaaggggeeee 2222```
[ Back ]
Similar pages