The OpenNET Project / Index page

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

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

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

zunmbr (3)
  • >> zunmbr (3) ( Solaris man: Библиотечные вызовы )
  • 
    NAME
         zunmbr - VECT = 'Q', ZUNMBR overwrites the  general  complex
         M-by-N matrix C with  SIDE = 'L' SIDE = 'R' TRANS = 'N'
    
    SYNOPSIS
         SUBROUTINE ZUNMBR( VECT, SIDE, TRANS, M, N, K, A, LDA,  TAU,
                   C, LDC, WORK, LWORK, INFO )
    
         CHARACTER SIDE, TRANS, VECT
    
         INTEGER INFO, K, LDA, LDC, LWORK, M, N
    
         COMPLEX*16 A( LDA, * ), C( LDC, * ), TAU( * ), WORK( LWORK )
    
    
    
         #include <sunperf.h>
    
         void zunmbr(char vect, char side, char trans, int m, int  n,
                   int  k,  doublecomplex *za, int lda, doublecomplex
                   *tau, doublecomplex *zc, int ldc, int *info) ;
    
    PURPOSE
         If VECT = 'Q', ZUNMBR overwrites the general complex  M-by-N
         matrix C with
                         SIDE = 'L'      SIDE  =  'R'  TRANS  =  'N':
         Q  *  C           C * Q TRANS = 'C':      Q**H * C       C *
         Q**H
    
         If VECT = 'P', ZUNMBR overwrites the general complex  M-by-N
         matrix C with
                         SIDE = 'L'     SIDE = 'R'
         TRANS = 'N':      P * C          C * P
         TRANS = 'C':      P**H * C       C * P**H
    
         Here Q and P**H  are  the  unitary  matrices  determined  by
         ZGEBRD  when reducing a complex matrix A to bidiagonal form:
         A = Q * B * P**H. Q and P**H are defined as products of ele-
         mentary reflectors H(i) and G(i) respectively.
    
         Let nq = m if SIDE = 'L' and nq = n if SIDE = 'R'.  Thus  nq
         is  the  order  of  the  unitary  matrix  Q  or P**H that is
         applied.
    
         If VECT = 'Q', A is assumed to have been an NQ-by-K  matrix:
         if nq >= k, Q = H(1) H(2) . . . H(k);
         if nq < k, Q = H(1) H(2) . . . H(nq-1).
    
         If VECT = 'P', A is assumed to have been a  K-by-NQ  matrix:
         if k < nq, P = G(1) G(2) . . . G(k);
         if k >= nq, P = G(1) G(2) . . . G(nq-1).
    
    ARGUMENTS
         VECT      (input) CHARACTER*1
                   = 'Q': apply Q or Q**H;
                   = 'P': apply P or P**H.
    
         SIDE      (input) CHARACTER*1
                   = 'L': apply Q, Q**H, P or P**H from the Left;
                   = 'R': apply Q, Q**H, P or P**H from the Right.
    
         TRANS     (input) CHARACTER*1
                   = 'N':  No transpose, apply Q or P;
                   = 'C':  Conjugate transpose, apply Q**H or P**H.
    
         M         (input) INTEGER
                   The number of rows of the matrix C. M >= 0.
    
         N         (input) INTEGER
                   The number of columns of the matrix C. N >= 0.
    
         K         (input) INTEGER
                   If VECT = 'Q', the number of columns in the origi-
                   nal  matrix reduced by ZGEBRD.  If VECT = 'P', the
                   number of rows in the original matrix  reduced  by
                   ZGEBRD.  K >= 0.
    
         A         (input) COMPLEX*16 array, dimension
                   (LDA,min(nq,K)) if VECT = 'Q'  (LDA,nq)         if
                   VECT = 'P' The vectors which define the elementary
                   reflectors H(i) and G(i), whose products determine
                   the matrices Q and P, as returned by ZGEBRD.
    
         LDA       (input) INTEGER
                   The leading dimension of the array A.  If  VECT  =
                   'Q',  LDA  >=  max(1,nq);  if  VECT  = 'P', LDA >=
                   max(1,min(nq,K)).
    
         TAU       (input) COMPLEX*16 array, dimension (min(nq,K))
                   TAU(i) must contain the scalar factor of the  ele-
                   mentary  reflector H(i) or G(i) which determines Q
                   or P, as returned by ZGEBRD in the array  argument
                   TAUQ or TAUP.
    
         C         (input/output) COMPLEX*16 array, dimension (LDC,N)
                   On entry, the M-by-N matrix  C.   On  exit,  C  is
                   overwritten  by  Q*C or Q**H*C or C*Q**H or C*Q or
                   P*C or P**H*C or C*P or C*P**H.
    
         LDC       (input) INTEGER
                   The leading dimension  of  the  array  C.  LDC  >=
                   max(1,M).
    
         WORK      (workspace/output)  COMPLEX*16  array,   dimension
                   (LWORK)
                   On exit, if INFO = 0, WORK(1) returns the  optimal
                   LWORK.
    
         LWORK     (input) INTEGER
                   The dimension of the array WORK.  If SIDE  =  'L',
                   LWORK  >=  max(1,N);  if  SIDE  =  'R',  LWORK  >=
                   max(1,M).  For optimum performance LWORK  >=  N*NB
                   if  SIDE  =  'L', and LWORK >= M*NB if SIDE = 'R',
                   where NB is the optimal blocksize.
    
         INFO      (output) INTEGER
                   = 0:  successful exit
                   < 0:  if INFO = -i, the i-th argument had an ille-
                   gal value
    
    
    
    


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




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

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