Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

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

CHETRD(l)					)					CHETRD(l)

NAME
       CHETRD  -  reduce  a  complex Hermitian matrix A to real symmetric tridiagonal form T by a
       unitary similarity transformation

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

	   CHARACTER	  UPLO

	   INTEGER	  INFO, LDA, LWORK, N

	   REAL 	  D( * ), E( * )

	   COMPLEX	  A( LDA, * ), TAU( * ), WORK( * )

PURPOSE
       CHETRD reduces a complex Hermitian matrix A to real symmetric tridiagonal form T by a uni-
       tary similarity transformation: Q**H * 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) COMPLEX array, dimension (LDA,N)
	       On  entry, the Hermitian 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 unitary 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 unitary
	       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) REAL array, dimension (N)
	       The diagonal elements of the tridiagonal matrix T: D(i) = A(i,i).

       E       (output) REAL 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) COMPLEX array, dimension (N-1)
	       The scalar factors of the elementary reflectors (see Further Details).

       WORK    (workspace/output) COMPLEX 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 complex scalar, and v is a complex 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 complex scalar, and v is a complex 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 				CHETRD(l)


All times are GMT -4. The time now is 08:51 AM.

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