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

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

Contents


ZLATRD(3F)							    ZLATRD(3F)


NAME    [Toc]    [Back]

     ZLATRD - reduce NB	rows and columns of a complex Hermitian	matrix A to
     Hermitian tridiagonal 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    [Toc]    [Back]

     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    [Toc]    [Back]

     ZLATRD reduces NB rows and	columns	of a complex Hermitian matrix A	to
     Hermitian tridiagonal 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    [Toc]    [Back]

     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 nby-n
 upper	triangular 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



									Page 1






ZLATRD(3F)							    ZLATRD(3F)



	     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	elementary 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 columns of the	reduced	matrix;	if UPLO	= 'L', E(1:nb)
	     contains the subdiagonal elements 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)	COMPLEX*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



									Page 2






ZLATRD(3F)							    ZLATRD(3F)



     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).
ZLATRD(3F)							    ZLATRD(3F)


NAME    [Toc]    [Back]

     ZLATRD - reduce NB	rows and columns of a complex Hermitian	matrix A to
     Hermitian tridiagonal 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    [Toc]    [Back]

     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    [Toc]    [Back]

     ZLATRD reduces NB rows and	columns	of a complex Hermitian matrix A	to
     Hermitian tridiagonal 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    [Toc]    [Back]

     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 nby-n
 upper	triangular 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



									Page 1






ZLATRD(3F)							    ZLATRD(3F)



	     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	elementary 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 columns of the	reduced	matrix;	if UPLO	= 'L', E(1:nb)
	     contains the subdiagonal elements 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)	COMPLEX*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



									Page 2






ZLATRD(3F)							    ZLATRD(3F)



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


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
chptrd IRIX reduce a complex Hermitian matrix A stored in packed form to real symmetric tridiagonal form T by a unitary si
zhptrd IRIX reduce a complex Hermitian matrix A stored in packed form to real symmetric tridiagonal form T by a unitary si
chetd2 IRIX reduce a complex Hermitian matrix A to real symmetric tridiagonal form T by a unitary similarity transformatio
chetrd IRIX reduce a complex Hermitian matrix A to real symmetric tridiagonal form T by a unitary similarity transformatio
zhetd2 IRIX reduce a complex Hermitian matrix A to real symmetric tridiagonal form T by a unitary similarity transformatio
zhetrd IRIX reduce a complex Hermitian matrix A to real symmetric tridiagonal form T by a unitary similarity transformatio
chbtrd IRIX reduce a complex Hermitian band matrix A to real symmetric tridiagonal form T by a unitary similarity transfor
zhbtrd IRIX reduce a complex Hermitian band matrix A to real symmetric tridiagonal form T by a unitary similarity transfor
dlatrd IRIX reduce NB rows and columns of a real symmetric matrix A to symmetric tridiagonal form by an orthogonal similar
slatrd IRIX reduce NB rows and columns of a real symmetric matrix A to symmetric tridiagonal form by an orthogonal similar
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service