The OpenNET Project / Index page

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

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

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

dlabrd (3)
  • >> dlabrd (3) ( Solaris man: Библиотечные вызовы )
  • 
    NAME
         dlabrd - reduce the first NB rows and columns of a real gen-
         eral m by n matrix A to upper or lower bidiagonal form by an
         orthogonal transformation Q'  *  A  *  P,  and  returns  the
         matrices  X  and Y which are needed to apply the transforma-
         tion to the unreduced part of A
    
    SYNOPSIS
         SUBROUTINE DLABRD( M, N, NB, A, LDA, D, E,  TAUQ,  TAUP,  X,
                   LDX, Y, LDY )
    
         INTEGER LDA, LDX, LDY, M, N, NB
    
         DOUBLE PRECISION A( LDA, * ), D( * ), E( *  ),  TAUP(  *  ),
                   TAUQ( * ), X( LDX, * ), Y( LDY, * )
    
    
    
         #include <sunperf.h>
    
         void dlabrd(int m, int n, int nb, double *da, int lda,  dou-
                   ble  *d,  double  *e,  double *tauq, double *taup,
                   double *dx, int ldx, double *dy, int *ldy) ;
    
    PURPOSE
         DLABRD reduces the first NB rows and columns of a real  gen-
         eral m by n matrix A to upper or lower bidiagonal form by an
         orthogonal transformation Q'  *  A  *  P,  and  returns  the
         matrices  X  and Y which are needed to apply the transforma-
         tion to the unreduced part of A.
    
         If m >= n, A is reduced to upper bidiagonal form; if m <  n,
         to lower bidiagonal form.
    
         This is an auxiliary routine called by DGEBRD
    
    
    ARGUMENTS
         M         (input) INTEGER
                   The number of rows in the matrix A.
    
         N         (input) INTEGER
                   The number of columns in the matrix A.
    
         NB        (input) INTEGER
                   The number of leading rows and columns of A to  be
                   reduced.
    
         A         (input/output) DOUBLE PRECISION  array,  dimension
                   (LDA,N)
                   On entry, the m by n general matrix to be reduced.
                   On  exit,  the  first  NB  rows and columns of the
                   matrix are overwritten; the rest of the  array  is
                   unchanged.   If  m >= n, elements on and below the
                   diagonal in the first NB columns, with  the  array
                   TAUQ,  represent the orthogonal matrix Q as a pro-
                   duct of elementary reflectors; and elements  above
                   the  diagonal in the first NB rows, with the array
                   TAUP, represent the orthogonal matrix P as a  pro-
                   duct of elementary reflectors.  If m < n, elements
                   below the diagonal in the first NB  columns,  with
                   the  array TAUQ, represent the orthogonal matrix Q
                   as a product of elementary  reflectors,  and  ele-
                   ments  on  and  above the diagonal in the first NB
                   rows, with the array TAUP, represent the  orthogo-
                   nal  matrix  P  as a product of elementary reflec-
                   tors.   See  Further  Details.   LDA       (input)
                   INTEGER The leading dimension of the array A.  LDA
                   >= max(1,M).
    
         D         (output) DOUBLE PRECISION array, dimension (NB)
                   The diagonal elements of the  first  NB  rows  and
                   columns of the reduced matrix.  D(i) = A(i,i).
    
         E         (output) DOUBLE PRECISION array, dimension (NB)
                   The off-diagonal elements of the first NB rows and
                   columns of the reduced matrix.
    
         TAUQ      (output) DOUBLE PRECISION array dimension (NB)
                   The scalar factors of  the  elementary  reflectors
                   which  represent  the  orthogonal  matrix  Q.  See
                   Further Details.  TAUP    (output)  DOUBLE  PRECI-
                   SION  array,  dimension (NB) The scalar factors of
                   the  elementary  reflectors  which  represent  the
                   orthogonal  matrix  P.  See  Further  Details.   X
                   (output)   DOUBLE   PRECISION   array,   dimension
                   (LDX,NB)  The  m-by-nb matrix X required to update
                   the unreduced part of A.
    
         LDX       (input) INTEGER
                   The leading dimension of the array X. LDX >= M.
    
         Y         (output)   DOUBLE   PRECISION   array,   dimension
                   (LDY,NB)
                   The n-by-nb matrix Y required to update the  unre-
                   duced part of A.
    
         LDY       (output) INTEGER
                   The leading dimension of the array Y. LDY >= N.
    
    FURTHER DETAILS
         The matrices Q and P are represented as products of  elemen-
         tary reflectors:
    
            Q = H(1) H(2) . . . H(nb)  and  P = G(1) G(2) . . . G(nb)
    
         Each H(i) and G(i) has the form:
    
            H(i) = I - tauq * v * v'  and G(i) = I - taup * u * u'
    
         where tauq and taup are real scalars, and v and u  are  real
         vectors.
    
         If m >= n, v(1:i-1) = 0, v(i) = 1, and v(i:m) is  stored  on
         exit  in  A(i:m,i);  u(1:i) = 0, u(i+1) = 1, and u(i+1:n) is
         stored on exit in A(i,i+1:n); tauq is stored in TAUQ(i)  and
         taup in TAUP(i).
    
         If m < n, v(1:i) = 0, v(i+1) = 1, and v(i+1:m) is stored  on
         exit  in  A(i+2:m,i);  u(1:i-1) = 0, u(i) = 1, and u(i:n) is
         stored on exit in A(i,i+1:n); tauq is stored in TAUQ(i)  and
         taup in TAUP(i).
    
         The elements of the vectors v and u together form the  m-by-
         nb matrix V and the nb-by-n matrix U' which are needed, with
         X and Y, to apply the transformation to the  unreduced  part
         of  the  matrix, using a block update of the form:  A := A -
         V*Y' - X*U'.
    
         The contents of A on exit are illustrated by  the  following
         examples with nb = 2:
    
         m = 6 and n = 5 (m > n):          m = 5 and n = 6 (m < n):
    
           (  1   1   u1  u1  u1 )           (  1   u1  u1  u1  u1  u1 )
           (  v1  1   1   u2  u2 )           (  1   1   u2  u2  u2  u2 )
           (  v1  v2  a   a   a  )           (  v1  1   a   a   a   a  )
           (  v1  v2  a   a   a  )           (  v1  v2  a   a   a   a  )
           (  v1  v2  a   a   a  )           (  v1  v2  a   a   a   a  )
           (  v1  v2  a   a   a  )
    
         where a denotes an element of the original matrix  which  is
         unchanged,  vi  denotes  an  element  of the vector defining
         H(i), and ui an element of the vector defining G(i).
    
    
    
    


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




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

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