*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> complib/dspevd (3)              
Title
Content
Arch
Section
 

Contents


DSPEVD(3F)							    DSPEVD(3F)


NAME    [Toc]    [Back]

     DSPEVD - compute all the eigenvalues and, optionally, eigenvectors	of a
     real symmetric matrix A in	packed storage

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	DSPEVD(	JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, IWORK,
			LIWORK,	INFO )

	 CHARACTER	JOBZ, UPLO

	 INTEGER	INFO, LDZ, LIWORK, LWORK, N

	 INTEGER	IWORK( * )

	 DOUBLE		PRECISION AP( *	), W( *	), WORK( * ), Z( LDZ, *	)

PURPOSE    [Toc]    [Back]

     DSPEVD computes all the eigenvalues and, optionally, eigenvectors of a
     real symmetric matrix A in	packed storage.	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.

ARGUMENTS    [Toc]    [Back]

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

     UPLO    (input) CHARACTER*1
	     = 'U':  Upper triangle of A is stored;
	     = 'L':  Lower triangle of A is stored.

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

     AP	     (input/output) DOUBLE PRECISION array, dimension (N*(N+1)/2)
	     On	entry, the upper or lower triangle of the symmetric 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, AP is overwritten	by values generated during the
	     reduction to tridiagonal form.  If	UPLO = 'U', the	diagonal and
	     first superdiagonal of the	tridiagonal matrix T overwrite the
	     corresponding elements of A, and if UPLO =	'L', the diagonal and



									Page 1






DSPEVD(3F)							    DSPEVD(3F)



	     first subdiagonal of T overwrite the corresponding	elements of A.

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

     Z	     (output) DOUBLE PRECISION array, dimension	(LDZ, N)
	     If	JOBZ = 'V', then if INFO = 0, Z	contains the orthonormal
	     eigenvectors of the matrix	A, with	the i-th column	of Z holding
	     the eigenvector associated	with W(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)	DOUBLE PRECISION array,
	     dimension (LWORK) On exit,	if LWORK > 0, WORK(1) returns the
	     optimal LWORK.

     LWORK   (input) INTEGER
	     The dimension of the array	WORK.  If N <= 1,		LWORK
	     must be at	least 1.  If JOBZ = 'N'	and N >	1, LWORK must be at
	     least 2*N.	 If JOBZ = 'V' and N > 1, LWORK	must be	at least ( 1 +
	     5*N + 2*N*lg N + 2*N**2 ),	where lg( N ) =	smallest integer k
	     such that 2**k >= N.

     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 must be at least 1.	 If JOBZ  = 'V'	and N >	1, LIWORK must
	     be	at least 2 + 5*N.

     INFO    (output) INTEGER
	     = 0:  successful exit
	     < 0:  if INFO = -i, the i-th argument had an illegal value.
	     > 0:  if INFO = i,	the algorithm failed to	converge; i offdiagonal
 elements of an intermediate tridiagonal form did not
	     converge to zero.
DSPEVD(3F)							    DSPEVD(3F)


NAME    [Toc]    [Back]

     DSPEVD - compute all the eigenvalues and, optionally, eigenvectors	of a
     real symmetric matrix A in	packed storage

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	DSPEVD(	JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK, IWORK,
			LIWORK,	INFO )

	 CHARACTER	JOBZ, UPLO

	 INTEGER	INFO, LDZ, LIWORK, LWORK, N

	 INTEGER	IWORK( * )

	 DOUBLE		PRECISION AP( *	), W( *	), WORK( * ), Z( LDZ, *	)

PURPOSE    [Toc]    [Back]

     DSPEVD computes all the eigenvalues and, optionally, eigenvectors of a
     real symmetric matrix A in	packed storage.	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.

ARGUMENTS    [Toc]    [Back]

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

     UPLO    (input) CHARACTER*1
	     = 'U':  Upper triangle of A is stored;
	     = 'L':  Lower triangle of A is stored.

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

     AP	     (input/output) DOUBLE PRECISION array, dimension (N*(N+1)/2)
	     On	entry, the upper or lower triangle of the symmetric 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, AP is overwritten	by values generated during the
	     reduction to tridiagonal form.  If	UPLO = 'U', the	diagonal and
	     first superdiagonal of the	tridiagonal matrix T overwrite the
	     corresponding elements of A, and if UPLO =	'L', the diagonal and



									Page 1






DSPEVD(3F)							    DSPEVD(3F)



	     first subdiagonal of T overwrite the corresponding	elements of A.

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

     Z	     (output) DOUBLE PRECISION array, dimension	(LDZ, N)
	     If	JOBZ = 'V', then if INFO = 0, Z	contains the orthonormal
	     eigenvectors of the matrix	A, with	the i-th column	of Z holding
	     the eigenvector associated	with W(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)	DOUBLE PRECISION array,
	     dimension (LWORK) On exit,	if LWORK > 0, WORK(1) returns the
	     optimal LWORK.

     LWORK   (input) INTEGER
	     The dimension of the array	WORK.  If N <= 1,		LWORK
	     must be at	least 1.  If JOBZ = 'N'	and N >	1, LWORK must be at
	     least 2*N.	 If JOBZ = 'V' and N > 1, LWORK	must be	at least ( 1 +
	     5*N + 2*N*lg N + 2*N**2 ),	where lg( N ) =	smallest integer k
	     such that 2**k >= N.

     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 must be at least 1.	 If JOBZ  = 'V'	and N >	1, LIWORK must
	     be	at least 2 + 5*N.

     INFO    (output) INTEGER
	     = 0:  successful exit
	     < 0:  if INFO = -i, the i-th argument had an illegal value.
	     > 0:  if INFO = i,	the algorithm failed to	converge; i offdiagonal
 elements of an intermediate tridiagonal form did not
	     converge to zero.


									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
dspevx IRIX compute selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage
sspevx IRIX compute selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage
zhpevd IRIX compute all the eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A in packed storage
zhpev IRIX compute all the eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix in packed storage
chpev IRIX compute all the eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix in packed storage
chpevd IRIX compute all the eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A in packed storage
chpevx IRIX compute selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A in packed storage
zhpevx IRIX compute selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A in packed storage
dsyev IRIX compute all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A
ssyev IRIX compute all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service