Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

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

DSYTRD(l)					)					DSYTRD(l)

NAME
       DSYTRD  -  reduce  a  real  symmetric  matrix A to real symmetric tridiagonal form T by an
       orthogonal similarity transformation

SYNOPSIS
       SUBROUTINE DSYTRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO )

	   CHARACTER	  UPLO

	   INTEGER	  INFO, LDA, LWORK, N

	   DOUBLE	  PRECISION A( LDA, * ), D( * ), E( * ), TAU( * ), WORK( * )

PURPOSE
       DSYTRD reduces a real symmetric matrix A to  real  symmetric  tridiagonal  form	T  by  an
       orthogonal similarity transformation: Q**T * A * Q = T.

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

       A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
	       On  entry, the symmetric matrix A.  If UPLO = 'U', the leading N-by-N upper trian-
	       gular part of A contains the upper triangular  part  of	the  matrix  A,  and  the
	       strictly lower triangular part of A is not referenced.  If UPLO = 'L', the leading
	       N-by-N lower triangular part of A contains the lower triangular part of the matrix
	       A,  and	the  strictly  upper triangular part of A is not referenced.  On exit, if
	       UPLO = 'U', the diagonal and first superdiagonal of A are overwritten by the  cor-
	       responding  elements of the tridiagonal matrix T, and the elements above the first
	       superdiagonal, with the array TAU, represent the orthogonal matrix Q as a  product
	       of  elementary  reflectors; if UPLO = 'L', the diagonal and first subdiagonal of A
	       are over- written by the corresponding elements of the tridiagonal matrix  T,  and
	       the  elements  below  the  first  subdiagonal,  with  the array TAU, represent the
	       orthogonal matrix Q as a product of elementary reflectors.  See	Further  Details.
	       LDA     (input) INTEGER The leading dimension of the array A.  LDA >= max(1,N).

       D       (output) DOUBLE PRECISION array, dimension (N)
	       The diagonal elements of the tridiagonal matrix T: D(i) = A(i,i).

       E       (output) DOUBLE PRECISION array, dimension (N-1)
	       The  off-diagonal  elements of the tridiagonal matrix T: E(i) = A(i,i+1) if UPLO =
	       'U', E(i) = A(i+1,i) if UPLO = 'L'.

       TAU     (output) DOUBLE PRECISION array, dimension (N-1)
	       The scalar factors of the elementary reflectors (see Further Details).

       WORK    (workspace/output) DOUBLE PRECISION array, dimension (LWORK)
	       On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

       LWORK   (input) INTEGER
	       The dimension of the array WORK.  LWORK >= 1.  For optimum  performance	LWORK  >=
	       N*NB, where NB is the optimal blocksize.

	       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.

       INFO    (output) INTEGER
	       = 0:  successful exit
	       < 0:  if INFO = -i, the i-th argument had an illegal value

FURTHER DETAILS
       If UPLO = 'U', the matrix Q is represented as a product of elementary reflectors

	  Q = H(n-1) . . . H(2) H(1).

       Each H(i) has the form

	  H(i) = I - tau * v * v'

       where tau is a real scalar, and v is a real vector with
       v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in
       A(1:i-1,i+1), and tau in TAU(i).

       If UPLO = 'L', the matrix Q is represented as a product of elementary reflectors

	  Q = H(1) H(2) . . . H(n-1).

       Each H(i) has the form

	  H(i) = I - tau * v * v'

       where tau is a real scalar, and v is a real vector with
       v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), and tau in TAU(i).

       The contents of A on exit are illustrated by the following examples with n = 5:

       if UPLO = 'U':			    if UPLO = 'L':

	 (  d	e   v2	v3  v4 )	      (  d		    )
	 (	d   e	v3  v4 )	      (  e   d		    )
	 (	    d	e   v4 )	      (  v1  e	 d	    )
	 (		d   e  )	      (  v1  v2  e   d	    )
	 (		    d  )	      (  v1  v2  v3  e	 d  )

       where d and e denote diagonal and off-diagonal elements of T, and vi denotes an element of
       the vector defining H(i).

LAPACK version 3.0			   15 June 2000 				DSYTRD(l)


All times are GMT -4. The time now is 04:43 PM.

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