👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

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

ZLATRD(l)					)					ZLATRD(l)

NAME
       ZLATRD - reduce NB rows and columns of a complex Hermitian matrix A to Hermitian tridiago-
       nal form by a unitary similarity transformation Q' * A * Q, and returns the matrices V and
       W which are needed to apply the transformation to the unreduced part of A

SYNOPSIS
       SUBROUTINE ZLATRD( UPLO, N, NB, A, LDA, E, TAU, W, LDW )

	   CHARACTER	  UPLO

	   INTEGER	  LDA, LDW, N, NB

	   DOUBLE	  PRECISION E( * )

	   COMPLEX*16	  A( LDA, * ), TAU( * ), W( LDW, * )

PURPOSE
       ZLATRD  reduces NB rows and columns of a complex Hermitian matrix A to Hermitian tridiago-
       nal form by a unitary similarity transformation Q' * A * Q, and returns the matrices V and
       W which are needed to apply the transformation to the unreduced part of A.  If UPLO = 'U',
       ZLATRD reduces the last NB rows and columns of a matrix, of which the  upper  triangle  is
       supplied;
       if  UPLO  =  'L',  ZLATRD  reduces the first NB rows and columns of a matrix, of which the
       lower triangle is supplied.

       This is an auxiliary routine called by ZHETRD.

ARGUMENTS
       UPLO    (input) CHARACTER
	       Specifies whether the upper or lower triangular part of the Hermitian matrix A  is
	       stored:
	       = 'U': Upper triangular
	       = 'L': Lower triangular

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

       NB      (input) INTEGER
	       The number of rows and columns to be reduced.

       A       (input/output) COMPLEX*16 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 last NB columns have been reduced to tridiagonal  form,	with  the
	       diagonal  elements  overwriting the diagonal elements of A; the elements above the
	       diagonal with the array TAU, represent the unitary matrix Q as a product  of  ele-
	       mentary	reflectors;  if  UPLO  =  'L',	the first NB columns have been reduced to
	       tridiagonal form, with the diagonal elements overwriting the diagonal elements  of
	       A;  the	elements  below  the  diagonal 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).

       E       (output) DOUBLE PRECISION array, dimension (N-1)
	       If UPLO = 'U', E(n-nb:n-1) contains the superdiagonal elements of the last NB col-
	       umns of the reduced matrix; if UPLO = 'L', E(1:nb) contains the	subdiagonal  ele-
	       ments of the first NB columns of the reduced matrix.

       TAU     (output) COMPLEX*16 array, dimension (N-1)
	       The scalar factors of the elementary reflectors, stored in TAU(n-nb:n-1) if UPLO =
	       'U', and in TAU(1:nb) if UPLO = 'L'.  See Further Details.  W	   (output)  COM-
	       PLEX*16	array,	dimension  (LDW,NB)  The  n-by-nb matrix W required to update the
	       unreduced part of A.

       LDW     (input) INTEGER
	       The leading dimension of the array W. LDW >= max(1,N).

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

	  Q = H(n) H(n-1) . . . H(n-nb+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:n) = 0 and v(i-1)  =  1;
       v(1:i-1) is stored on exit in A(1:i-1,i), and tau in TAU(i-1).

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

	  Q = H(1) H(2) . . . H(nb).

       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+1:n) is stored on exit in A(i+1:n,i), and tau in TAU(i).

       The elements of the vectors v together form the n-by-nb matrix V which is needed, with  W,
       to apply the transformation to the unreduced part of the matrix, using a Hermitian rank-2k
       update of the form: A := A - V*W' - W*V'.

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

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

	 (  a	a   a	v4  v5 )	      (  d		    )
	 (	a   a	v4  v5 )	      (  1   d		    )
	 (	    a	1   v5 )	      (  v1  1	 a	    )
	 (		d   1  )	      (  v1  v2  a   a	    )
	 (		    d  )	      (  v1  v2  a   a	 a  )

       where d denotes a diagonal element of the reduced matrix, a  denotes  an  element  of  the
       original matrix that is unchanged, and vi denotes an element of the vector defining H(i).

LAPACK version 3.0			   15 June 2000 				ZLATRD(l)


All times are GMT -4. The time now is 09:24 PM.

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





Not a Forum Member?
Forgot Password?