Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for ssbgvd (redhat section l)

SSBGVD(l)					)					SSBGVD(l)

NAME
       SSBGVD  - compute all the eigenvalues, and optionally, the eigenvectors of a real general-
       ized symmetric-definite banded eigenproblem, of the form A*x=(lambda)*B*x

SYNOPSIS
       SUBROUTINE SSBGVD( JOBZ, UPLO, N, KA, KB, AB, LDAB, BB, LDBB,  W,  Z,  LDZ,  WORK,  LWORK,
			  IWORK, LIWORK, INFO )

	   CHARACTER	  JOBZ, UPLO

	   INTEGER	  INFO, KA, KB, LDAB, LDBB, LDZ, LIWORK, LWORK, N

	   INTEGER	  IWORK( * )

	   REAL 	  AB( LDAB, * ), BB( LDBB, * ), W( * ), WORK( * ), Z( LDZ, * )

PURPOSE
       SSBGVD  computes  all the eigenvalues, and optionally, the eigenvectors of a real general-
       ized symmetric-definite banded eigenproblem, of the form A*x=(lambda)*B*x. Here	A  and	B
       are  assumed to be symmetric and banded, 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  arith-
       metic.  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
       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.

       KA      (input) INTEGER
	       The number of superdiagonals of the matrix A if UPLO = 'U', or the number of  sub-
	       diagonals if UPLO = 'L'.  KA >= 0.

       KB      (input) INTEGER
	       The  number of superdiagonals of the matrix B if UPLO = 'U', or the number of sub-
	       diagonals if UPLO = 'L'.  KB >= 0.

       AB      (input/output) REAL array, dimension (LDAB, N)
	       On entry, the upper or lower triangle of the symmetric band matrix  A,  stored  in
	       the first ka+1 rows of the array.  The j-th column of A is stored in the j-th col-
	       umn of the array AB as follows:	if  UPLO  =  'U',  AB(ka+1+i-j,j)  =  A(i,j)  for
	       max(1,j-ka)<=i<=j; if UPLO = 'L', AB(1+i-j,j)	= A(i,j) for j<=i<=min(n,j+ka).

	       On exit, the contents of AB are destroyed.

       LDAB    (input) INTEGER
	       The leading dimension of the array AB.  LDAB >= KA+1.

       BB      (input/output) REAL array, dimension (LDBB, N)
	       On  entry,  the	upper or lower triangle of the symmetric band matrix B, stored in
	       the first kb+1 rows of the array.  The j-th column of B is stored in the j-th col-
	       umn  of	the  array  BB	as  follows:  if  UPLO = 'U', BB(ka+1+i-j,j) = B(i,j) for
	       max(1,j-kb)<=i<=j; if UPLO = 'L', BB(1+i-j,j)	= B(i,j) for j<=i<=min(n,j+kb).

	       On exit, the factor S from  the	split  Cholesky  factorization	B  =  S**T*S,  as
	       returned by SPBSTF.

       LDBB    (input) INTEGER
	       The leading dimension of the array BB.  LDBB >= KB+1.

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

       Z       (output) REAL array, dimension (LDZ, N)
	       If JOBZ = 'V', then if INFO = 0, Z contains the matrix Z of eigenvectors, with the
	       i-th column of Z holding the eigenvector associated with W(i).	The  eigenvectors
	       are normalized so Z**T*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/output) REAL array, dimension (LWORK)
	       On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

       LWORK   (input) INTEGER
	       The dimension of the array WORK.  If N <= 1,		  LWORK >= 1.  If JOBZ	=
	       'N' and N > 1, LWORK >= 3*N.  If JOBZ = 'V' and N > 1, LWORK >= 1 + 5*N + 2*N**2.

	       If  LWORK = -1, then a workspace query is assumed; the routine only calculates the
	       optimal size of the WORK array, returns this value as the first entry of the  WORK
	       array, and no error message related to LWORK is issued by XERBLA.

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

       LIWORK  (input) INTEGER
	       The dimension of the 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
	       optimal	size  of  the  IWORK  array, returns this value as the first entry of the
	       IWORK array, and no error message related to LIWORK is issued by XERBLA.

       INFO    (output) INTEGER
	       = 0:  successful exit
	       < 0:  if INFO = -i, the i-th argument had an illegal value
	       > 0:  if INFO = i, and i is:
	       <= N:  the algorithm failed to converge: i off-diagonal elements of an  intermedi-
	       ate  tridiagonal form did not converge to zero; > N:   if INFO = N + i, for 1 <= i
	       <= N, then SPBSTF
	       returned INFO = i: B is not positive definite.  The factorization of B  could  not
	       be completed and no eigenvalues or eigenvectors were computed.

FURTHER DETAILS
       Based on contributions by
	  Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA

LAPACK version 3.0			   15 June 2000 				SSBGVD(l)


All times are GMT -4. The time now is 01:07 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password