CLATRD man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



CLATRD(3F)							    CLATRD(3F)

NAME
     CLATRD - 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
     SUBROUTINE CLATRD( UPLO, N, NB, A, LDA, E, TAU, W, LDW )

	 CHARACTER	UPLO

	 INTEGER	LDA, LDW, N, NB

	 REAL		E( * )

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

PURPOSE
     CLATRD 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', CLATRD reduces the last NB rows and columns of a matrix,
     of which the upper triangle is supplied;
     if UPLO = 'L', CLATRD reduces the first NB rows and columns of a matrix,
     of which the lower triangle is supplied.

     This is an auxiliary routine called by CHETRD.

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 array, dimension (LDA,N)
	     On entry, the Hermitian matrix A.	If UPLO = 'U', the leading n-
	     by-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

CLATRD(3F)							    CLATRD(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) REAL 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 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 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

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

									Page 3

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net