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

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

Contents


DSTEVD(3F)							    DSTEVD(3F)


NAME    [Toc]    [Back]

     DSTEVD - compute all eigenvalues and, optionally, eigenvectors of a real
     symmetric tridiagonal matrix

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	DSTEVD(	JOBZ, N, D, E, Z, LDZ, WORK, LWORK, IWORK, LIWORK,
			INFO )

	 CHARACTER	JOBZ

	 INTEGER	INFO, LDZ, LIWORK, LWORK, N

	 INTEGER	IWORK( * )

	 DOUBLE		PRECISION D( * ), E( * ), WORK(	* ), Z(	LDZ, * )

PURPOSE    [Toc]    [Back]

     DSTEVD computes all eigenvalues and, optionally, eigenvectors of a	real
     symmetric tridiagonal matrix. 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.

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

     D	     (input/output) DOUBLE PRECISION array, dimension (N)
	     On	entry, the n diagonal elements of the tridiagonal matrix A.
	     On	exit, if INFO =	0, the eigenvalues in ascending	order.

     E	     (input/output) DOUBLE PRECISION array, dimension (N)
	     On	entry, the (n-1) subdiagonal elements of the tridiagonal
	     matrix A, stored in elements 1 to N-1 of E; E(N) need not be set,
	     but is used by the	routine.  On exit, the contents	of E are
	     destroyed.

     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 D(i).  If JOBZ = 'N', then	Z is
	     not referenced.



									Page 1






DSTEVD(3F)							    DSTEVD(3F)



     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 JOBZ	= 'N' or N <= 1	then
	     LWORK must	be at least 1.	If JOBZ	 = 'V' and N > 1 then LWORK
	     must be at	least (	1 + 3*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 then
	     LIWORK must be at least 1.	 If JOBZ  = 'V'	and N >	1 then 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 E did	not converge to	zero.
DSTEVD(3F)							    DSTEVD(3F)


NAME    [Toc]    [Back]

     DSTEVD - compute all eigenvalues and, optionally, eigenvectors of a real
     symmetric tridiagonal matrix

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	DSTEVD(	JOBZ, N, D, E, Z, LDZ, WORK, LWORK, IWORK, LIWORK,
			INFO )

	 CHARACTER	JOBZ

	 INTEGER	INFO, LDZ, LIWORK, LWORK, N

	 INTEGER	IWORK( * )

	 DOUBLE		PRECISION D( * ), E( * ), WORK(	* ), Z(	LDZ, * )

PURPOSE    [Toc]    [Back]

     DSTEVD computes all eigenvalues and, optionally, eigenvectors of a	real
     symmetric tridiagonal matrix. 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.

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

     D	     (input/output) DOUBLE PRECISION array, dimension (N)
	     On	entry, the n diagonal elements of the tridiagonal matrix A.
	     On	exit, if INFO =	0, the eigenvalues in ascending	order.

     E	     (input/output) DOUBLE PRECISION array, dimension (N)
	     On	entry, the (n-1) subdiagonal elements of the tridiagonal
	     matrix A, stored in elements 1 to N-1 of E; E(N) need not be set,
	     but is used by the	routine.  On exit, the contents	of E are
	     destroyed.

     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 D(i).  If JOBZ = 'N', then	Z is
	     not referenced.



									Page 1






DSTEVD(3F)							    DSTEVD(3F)



     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 JOBZ	= 'N' or N <= 1	then
	     LWORK must	be at least 1.	If JOBZ	 = 'V' and N > 1 then LWORK
	     must be at	least (	1 + 3*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 then
	     LIWORK must be at least 1.	 If JOBZ  = 'V'	and N >	1 then 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 E did	not converge to	zero.


									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
dstev IRIX compute all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A
sstev IRIX compute all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A
sstevx IRIX compute selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A
dstevx IRIX compute selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A
dsteqr IRIX compute all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL
ssteqr IRIX compute all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL
dstedc IRIX compute all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the divide and c
cstedc IRIX compute all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the divide and c
sstedc IRIX compute all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the divide and c
zsteqr IRIX compute all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service