DPTEQR(l)		LAPACK routine (version	1.1)		    DPTEQR(l)

NAME
  DPTEQR - compute all eigenvalues and,	optionally, eigenvectors of a sym-
  metric positive definite tridiagonal matrix by first factoring the matrix
  using	DPTTRF,	and then calling DBDSQR	to compute the singular	values of the
  bidiagonal factor

SYNOPSIS

  SUBROUTINE DPTEQR( COMPZ, N, D, E, Z,	LDZ, WORK, INFO	)

      CHARACTER	     COMPZ

      INTEGER	     INFO, LDZ,	N

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

PURPOSE
  DPTEQR computes all eigenvalues and, optionally, eigenvectors	of a sym-
  metric positive definite tridiagonal matrix by first factoring the matrix
  using	DPTTRF,	and then calling DBDSQR	to compute the singular	values of the
  bidiagonal factor.

  This routine computes	the eigenvalues	of the positive	definite tridiagonal
  matrix to high relative accuracy.  This means	that if	the eigenvalues	range
  over many orders of magnitude	in size, then the small	eigenvalues and
  corresponding	eigenvectors will be computed more accurately than, for	exam-
  ple, with the	standard QR method.

  The eigenvectors of a	full or	band symmetric matrix can also be found	if
  DSYTRD or DSPTRD or DSBTRD has been used to reduce this matrix to tridiago-
  nal form. (The reduction to tridiagonal form,	however, may preclude the
  possibility of obtaining high	relative accuracy in the small eigenvalues of
  the original matrix, if these	eigenvalues range over many orders of magni-
  tude.)

ARGUMENTS

  COMPZ	  (input) CHARACTER*1
	  = 'N':  Compute eigenvalues only.
	  = 'V':  Compute eigenvectors of original symmetric matrix also.
	  Array	Z contains the orthogonal matrix used to reduce	the original
	  matrix to tridiagonal	form.  = 'I':  Compute eigenvectors of tridi-
	  agonal matrix	also.

  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.	On
	  normal exit, D contains the eigenvalues, in descending order.

  E	  (input/output) DOUBLE	PRECISION array, dimension (N-1)
	  On entry, the	(n-1) subdiagonal elements of the tridiagonal matrix.
	  On exit, E has been destroyed.

  Z	  (input/output) DOUBLE	PRECISION array, dimension (LDZ, N)
	  On entry, if COMPZ = 'V', the	orthogonal matrix used in the reduc-
	  tion to tridiagonal form.  On	exit, if COMPZ = 'V', the orthonormal
	  eigenvectors of the original symmetric matrix; if COMPZ = 'I', the
	  orthonormal eigenvectors of the tridiagonal matrix.  If INFO > 0 on
	  exit,	Z contains the eigenvectors associated with only the stored
	  eigenvalues.	If  COMPZ = 'N', then Z	is not referenced.

  LDZ	  (input) INTEGER
	  The leading dimension	of the array Z.	 LDZ >=	1, and if COMPZ	= 'V'
	  or 'I', LDZ >= max(1,N).

  WORK	  (workspace) DOUBLE PRECISION array, dimension	(max(1,4*N-4))
	  If  COMPZ = 'N', then	WORK is	not referenced.

  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 Cholesky factorization	of
	  the matrix could not be performed because the	i-th principal minor
	  was not positive definite.  >	N   the	SVD algorithm failed to	con-
	  verge; if INFO = N+i,	i off-diagonal elements	of the bidiagonal
	  factor did not converge to zero.


Back to the listing of computational routines for eigenvalue problems