chpgvd.f man page on DragonFly

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

chpgvd.f(3)			    LAPACK			   chpgvd.f(3)

NAME
       chpgvd.f -

SYNOPSIS
   Functions/Subroutines
       subroutine chpgvd (ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK,
	   LWORK, RWORK, LRWORK, IWORK, LIWORK, INFO)
	   CHPGST

Function/Subroutine Documentation
   subroutine chpgvd (integerITYPE, characterJOBZ, characterUPLO, integerN,
       complex, dimension( * )AP, complex, dimension( * )BP, real, dimension(
       * )W, complex, dimension( ldz, * )Z, integerLDZ, complex, dimension( *
       )WORK, integerLWORK, real, dimension( * )RWORK, integerLRWORK, integer,
       dimension( * )IWORK, integerLIWORK, integerINFO)
       CHPGST

       Purpose:

	    CHPGVD 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.
	    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.

       Parameters:
	   ITYPE

		     ITYPE is 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

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

	   UPLO

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

	   N

		     N is INTEGER
		     The order of the matrices A and B.	 N >= 0.

	   AP

		     AP is 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, the contents of AP are destroyed.

	   BP

		     BP is COMPLEX 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)*(2*n-j)/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

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

	   Z

		     Z is COMPLEX 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

		     LDZ is INTEGER
		     The leading dimension of the array Z.  LDZ >= 1, and if
		     JOBZ = 'V', LDZ >= max(1,N).

	   WORK

		     WORK is COMPLEX array, dimension (MAX(1,LWORK))
		     On exit, if INFO = 0, WORK(1) returns the required LWORK.

	   LWORK

		     LWORK is INTEGER
		     The dimension of array WORK.
		     If N <= 1,		      LWORK >= 1.
		     If JOBZ = 'N' and N > 1, LWORK >= N.
		     If JOBZ = 'V' and N > 1, LWORK >= 2*N.

		     If LWORK = -1, then a workspace query is assumed; the routine
		     only calculates the required sizes of the WORK, RWORK and
		     IWORK arrays, returns these values as the first entries of
		     the WORK, RWORK and IWORK arrays, and no error message
		     related to LWORK or LRWORK or LIWORK is issued by XERBLA.

	   RWORK

		     RWORK is REAL array, dimension (MAX(1,LRWORK))
		     On exit, if INFO = 0, RWORK(1) returns the required LRWORK.

	   LRWORK

		     LRWORK is INTEGER
		     The dimension of array RWORK.
		     If N <= 1,		      LRWORK >= 1.
		     If JOBZ = 'N' and N > 1, LRWORK >= N.
		     If JOBZ = 'V' and N > 1, LRWORK >= 1 + 5*N + 2*N**2.

		     If LRWORK = -1, then a workspace query is assumed; the
		     routine only calculates the required sizes of the WORK, RWORK
		     and IWORK arrays, returns these values as the first entries
		     of the WORK, RWORK and IWORK arrays, and no error message
		     related to LWORK or LRWORK or LIWORK is issued by XERBLA.

	   IWORK

		     IWORK is INTEGER array, dimension (MAX(1,LIWORK))
		     On exit, if INFO = 0, IWORK(1) returns the required LIWORK.

	   LIWORK

		     LIWORK is INTEGER
		     The dimension of array IWORK.
		     If JOBZ  = 'N' or N <= 1, LIWORK >= 1.
		     If JOBZ  = 'V' and N > 1, LIWORK >= 3 + 5*N.

		     If LIWORK = -1, then a workspace query is assumed; the
		     routine only calculates the required sizes of the WORK, RWORK
		     and IWORK arrays, returns these values as the first entries
		     of the WORK, RWORK and IWORK arrays, and no error message
		     related to LWORK or LRWORK or LIWORK is issued by XERBLA.

	   INFO

		     INFO is INTEGER
		     = 0:  successful exit
		     < 0:  if INFO = -i, the i-th argument had an illegal value
		     > 0:  CPPTRF or CHPEVD returned an error code:
			<= N:  if INFO = i, CHPEVD 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.

       Author:
	   Univ. of Tennessee

	   Univ. of California Berkeley

	   Univ. of Colorado Denver

	   NAG Ltd.

       Date:
	   November 2011

       Contributors:
	   Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA

       Definition at line 231 of file chpgvd.f.

Author
       Generated automatically by Doxygen for LAPACK from the source code.

Version 3.4.2			Sat Nov 16 2013			   chpgvd.f(3)
[top]

List of man pages available for DragonFly

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