·  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/zhegv (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

```
ZHEGV(3F)							     ZHEGV(3F)

```

### NAME[Toc][Back]

```     ZHEGV - 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	ZHEGV( ITYPE, JOBZ, UPLO, N, A,	LDA, B,	LDB, W,	WORK, LWORK,
RWORK, INFO )

CHARACTER     JOBZ, UPLO

INTEGER       INFO, ITYPE, LDA, LDB, LWORK, N

DOUBLE	       PRECISION RWORK(	* ), W(	* )

COMPLEX*16    A( LDA, * ), B( LDB, * ), WORK( * )
```

### PURPOSE[Toc][Back]

```     ZHEGV 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 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.

A	     (input/output) COMPLEX*16 array, dimension	(LDA, N)
On	entry, the Hermitian matrix A.	If UPLO	= 'U', the leading Nby-N
upper	triangular part	of A contains the upper	triangular
part of the matrix	A.  If UPLO = 'L', the leading N-by-N lower
triangular	part of	A contains the lower triangular	part of	the
matrix A.

On	exit, if JOBZ =	'V', then if INFO = 0, A contains the matrix Z
of	eigenvectors.  The eigenvectors	are normalized as follows:  if

Page 1

ZHEGV(3F)							     ZHEGV(3F)

ITYPE = 1 or 2, Z**H*B*Z =	I; if ITYPE = 3, Z**H*inv(B)*Z = I.
If	JOBZ = 'N', then on exit the upper triangle (if	UPLO='U') or
the lower triangle	(if UPLO='L') of A, including the diagonal, is
destroyed.

LDA     (input) INTEGER
The leading dimension of the array	A.  LDA	>= max(1,N).

B	     (input/output) COMPLEX*16 array, dimension	(LDB, N)
On	entry, the Hermitian matrix B.	If UPLO	= 'U', the leading Nby-N
upper	triangular part	of B contains the upper	triangular
part of the matrix	B.  If UPLO = 'L', the leading N-by-N lower
triangular	part of	B contains the lower triangular	part of	the
matrix B.

On	exit, if INFO <= N, the	part of	B containing the matrix	is
overwritten by the	triangular factor U or L from the Cholesky
factorization B = U**H*U or B = L*L**H.

LDB     (input) INTEGER
The leading dimension of the array	B.  LDB	>= max(1,N).

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

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

LWORK   (input) INTEGER
The length	of the array WORK.  LWORK >= max(1,2*N-1).  For
optimal efficiency, LWORK >= (NB+1)*N, where NB is	the blocksize
for ZHETRD	returned by ILAENV.

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:  ZPOTRF or ZHEEV returned an error code:
<=	N:  if INFO = i, ZHEEV failed to converge; i off-diagonal
elements of an intermediate tridiagonal form did not converge to
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.
ZHEGV(3F)							     ZHEGV(3F)

```

### NAME[Toc][Back]

```     ZHEGV - 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	ZHEGV( ITYPE, JOBZ, UPLO, N, A,	LDA, B,	LDB, W,	WORK, LWORK,
RWORK, INFO )

CHARACTER     JOBZ, UPLO

INTEGER       INFO, ITYPE, LDA, LDB, LWORK, N

DOUBLE	       PRECISION RWORK(	* ), W(	* )

COMPLEX*16    A( LDA, * ), B( LDB, * ), WORK( * )
```

### PURPOSE[Toc][Back]

```     ZHEGV 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 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.

A	     (input/output) COMPLEX*16 array, dimension	(LDA, N)
On	entry, the Hermitian matrix A.	If UPLO	= 'U', the leading Nby-N
upper	triangular part	of A contains the upper	triangular
part of the matrix	A.  If UPLO = 'L', the leading N-by-N lower
triangular	part of	A contains the lower triangular	part of	the
matrix A.

On	exit, if JOBZ =	'V', then if INFO = 0, A contains the matrix Z
of	eigenvectors.  The eigenvectors	are normalized as follows:  if

Page 1

ZHEGV(3F)							     ZHEGV(3F)

ITYPE = 1 or 2, Z**H*B*Z =	I; if ITYPE = 3, Z**H*inv(B)*Z = I.
If	JOBZ = 'N', then on exit the upper triangle (if	UPLO='U') or
the lower triangle	(if UPLO='L') of A, including the diagonal, is
destroyed.

LDA     (input) INTEGER
The leading dimension of the array	A.  LDA	>= max(1,N).

B	     (input/output) COMPLEX*16 array, dimension	(LDB, N)
On	entry, the Hermitian matrix B.	If UPLO	= 'U', the leading Nby-N
upper	triangular part	of B contains the upper	triangular
part of the matrix	B.  If UPLO = 'L', the leading N-by-N lower
triangular	part of	B contains the lower triangular	part of	the
matrix B.

On	exit, if INFO <= N, the	part of	B containing the matrix	is
overwritten by the	triangular factor U or L from the Cholesky
factorization B = U**H*U or B = L*L**H.

LDB     (input) INTEGER
The leading dimension of the array	B.  LDB	>= max(1,N).

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

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

LWORK   (input) INTEGER
The length	of the array WORK.  LWORK >= max(1,2*N-1).  For
optimal efficiency, LWORK >= (NB+1)*N, where NB is	the blocksize
for ZHETRD	returned by ILAENV.

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:  ZPOTRF or ZHEEV returned an error code:
<=	N:  if INFO = i, ZHEEV failed to converge; i off-diagonal
elements of an intermediate tridiagonal form did not converge to
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