The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

zlatrd (3)
  • >> zlatrd (3) ( Solaris man: Библиотечные вызовы )
  • 
    NAME
         zlatrd - reduce NB rows and columns of a  complex  Hermitian
         matrix A to Hermitian tridiagonal form by a unitary similar-
         ity 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, * )
    
    
    
         #include <sunperf.h>
    
         void zlatrd(char uplo, int n, int nb, doublecomplex *za, int
                   lda,  double *e, doublecomplex *tau, doublecomplex
                   *w, int ldw) ;
    
    PURPOSE
         ZLATRD reduces NB rows and columns of  a  complex  Hermitian
         matrix A to Hermitian tridiagonal form by a unitary similar-
         ity 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 triangular part of A con-
                   tains 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 tri-
                   angular 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 diago-
                   nal 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 diago-
                   nal 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 superdiag-
                   onal  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 TAU(i).
    
         The elements of the vectors  v  together  form  the  n-by-nb
         matrix  V  which is needed, with W, to apply the transforma-
         tion 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).
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру