The OpenNET Project / Index page

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

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

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

cgebd2 (3)
  • >> cgebd2 (3) ( Solaris man: Библиотечные вызовы )
  • 
    NAME
         cgebd2 - reduce a complex general m by n matrix A  to  upper
         or lower real bidiagonal form B by a unitary transformation
    
    SYNOPSIS
         SUBROUTINE CGEBD2( M, N, A, LDA, D,  E,  TAUQ,  TAUP,  WORK,
                   INFO )
    
         INTEGER INFO, LDA, M, N
    
         REAL D( * ), E( * )
    
         COMPLEX A( LDA, * ), TAUP( * ), TAUQ( * ), WORK( * )
    
    
    
         #include <sunperf.h>
    
         void cgebd2(int m, int n, complex *ca, int  lda,  float  *d,
                   float *e, complex *tauq, complex *taup, int *info)
                   ;
    
    PURPOSE
         CGEBD2 reduces a complex general m by n matrix A to upper or
         lower real bidiagonal form B by a unitary transformation: Q'
         * A * P = B.
    
         If m >= n, B is upper bidiagonal; if m < n, B is lower bidi-
         agonal.
    
    
    ARGUMENTS
         M         (input) INTEGER
                   The number of rows in the matrix A.  M >= 0.
    
         N         (input) INTEGER
                   The number of columns in the matrix A.  N >= 0.
    
         A         (input/output) COMPLEX array, dimension (LDA,N)
                   On entry, the m by n general matrix to be reduced.
                   On  exit,  if  m  >= n, the diagonal and the first
                   superdiagonal are overwritten with the upper bidi-
                   agonal  matrix B; the elements below the diagonal,
                   with the array TAUQ, represent the unitary  matrix
                   Q  as  a product of elementary reflectors, and the
                   elements above the first superdiagonal,  with  the
                   array  TAUP,  represent  the unitary matrix P as a
                   product of elementary reflectors; if m  <  n,  the
                   diagonal and the first subdiagonal are overwritten
                   with the lower bidiagonal matrix B;  the  elements
                   below  the first subdiagonal, with the array TAUQ,
                   represent the unitary matrix Q  as  a  product  of
                   elementary  reflectors, and the elements above the
                   diagonal, with the array TAUP, represent the  uni-
                   tary  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) REAL array, dimension (min(M,N))
                   The diagonal elements of the bidiagonal matrix  B:
                   D(i) = A(i,i).
    
         E         (output) REAL array, dimension (min(M,N)-1)
                   The off-diagonal elements of the bidiagonal matrix
                   B:   if m >= n, E(i) = A(i,i+1) for i = 1,2,...,n-
                   1; if m < n, E(i) = A(i+1,i) for i = 1,2,...,m-1.
    
         TAUQ      (output) COMPLEX array dimension (min(M,N))
                   The scalar factors of  the  elementary  reflectors
                   which  represent the unitary matrix Q. See Further
                   Details.  TAUP    (output) COMPLEX  array,  dimen-
                   sion  (min(M,N)) The scalar factors of the elemen-
                   tary reflectors which represent the unitary matrix
                   P.  See Further Details.  WORK    (workspace) COM-
                   PLEX array, dimension (max(M,N))
    
         INFO      (output) INTEGER
                   = 0: successful exit
                   < 0: if INFO = -i, the i-th argument had an  ille-
                   gal value.
    
    FURTHER DETAILS
         The matrices Q and P are represented as products of  elemen-
         tary reflectors:
    
         If m >= n,
    
            Q = H(1) H(2) . . . H(n)  and  P = G(1) G(2) . . . G(n-1)
    
         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 complex scalars, and  v  and  u  are
         complex  vectors;  v(1:i-1)  =  0, v(i) = 1, and v(i+1:m) is
         stored on exit in A(i+1:m,i); u(1:i) = 0, u(i+1)  =  1,  and
         u(i+2:n)  is stored on exit in A(i,i+2:n); tauq is stored in
         TAUQ(i) and taup in TAUP(i).
    
         If m < n,
    
            Q = H(1) H(2) . . . H(m-1)  and  P = G(1) G(2) . . . G(m)
    
         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 complex scalars, v and u are complex
         vectors;  v(1:i)  = 0, v(i+1) = 1, and v(i+2:m) is stored on
         exit in A(i+2:m,i); u(1:i-1) = 0, u(i) = 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).
    
         The contents of A on exit are illustrated by  the  following
         examples:
    
         m = 6 and n = 5 (m > n):          m = 5 and n = 6 (m < n):
    
           (  d   e   u1  u1  u1 )           (  d   u1  u1  u1  u1  u1 )
           (  v1  d   e   u2  u2 )           (  e   d   u2  u2  u2  u2 )
           (  v1  v2  d   e   u3 )           (  v1  e   d   u3  u3  u3 )
           (  v1  v2  v3  d   e  )           (  v1  v2  e   d   u4  u4 )
           (  v1  v2  v3  v4  d  )           (  v1  v2  v3  e   d   u5 )
           (  v1  v2  v3  v4  v5 )
    
         where d and e denote diagonal and off-diagonal  elements  of
         B, 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
    Добавить, Поддержать, Вебмастеру