The OpenNET Project / Index page

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

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

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

dlarft (3)
  • >> dlarft (3) ( Solaris man: Библиотечные вызовы )
  • 
    NAME
         dlarft - form the  triangular  factor  T  of  a  real  block
         reflector  H  of order n, which is defined as a product of k
         elementary reflectors
    
    SYNOPSIS
         SUBROUTINE DLARFT( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT
                   )
    
         CHARACTER DIRECT, STOREV
    
         INTEGER K, LDT, LDV, N
    
         DOUBLE PRECISION T( LDT, * ), TAU( * ), V( LDV, * )
    
    
    
         #include <sunperf.h>
    
         void dlarft(char direct, char storev, int n, int  k,  double
                   *v, int ldv, double *tau, double *t, int ldt) ;
    
    PURPOSE
         DLARFT forms the triangular factor T of a real block reflec-
         tor H of order n, which is defined as a product of k elemen-
         tary reflectors.
    
         If DIRECT = 'F', H = H(1) H(2) . . . H(k)  and  T  is  upper
         triangular;
    
         If DIRECT = 'B', H = H(k) . . . H(2) H(1)  and  T  is  lower
         triangular.
    
         If STOREV = 'C', the vector  which  defines  the  elementary
         reflector  H(i) is stored in the i-th column of the array V,
         and
    
            H  =  I - V * T * V'
    
         If STOREV = 'R', the vector  which  defines  the  elementary
         reflector H(i) is stored in the i-th row of the array V, and
    
            H  =  I - V' * T * V
    
    
    ARGUMENTS
         DIRECT    (input) CHARACTER*1
                   Specifies  the  order  in  which  the   elementary
                   reflectors   are  multiplied  to  form  the  block
                   reflector:
                   = 'F': H = H(1) H(2) . . . H(k) (Forward)
                   = 'B': H = H(k) . . . H(2) H(1) (Backward)
    
         STOREV    (input) CHARACTER*1
                   Specifies how the vectors which define the elemen-
                   tary  reflectors  are  stored  (see  also  Further
                   Details):
                   = 'R': rowwise
    
         N         (input) INTEGER
                   The order of the block reflector H. N >= 0.
    
         K         (input) INTEGER
                   The order of the triangular factor T (= the number
                   of elementary reflectors). K >= 1.
    
         V         (input/output) DOUBLE PRECISION array, dimension
                   (LDV,K) if STOREV = 'C' (LDV,N) if  STOREV  =  'R'
                   The matrix V. See further details.
    
         LDV       (input) INTEGER
                   The leading dimension of the array V.  If STOREV =
                   'C', LDV >= max(1,N); if STOREV = 'R', LDV >= K.
    
         TAU       (input) DOUBLE PRECISION array, dimension (K)
                   TAU(i) must contain the scalar factor of the  ele-
                   mentary reflector H(i).
    
         T         (output) DOUBLE PRECISION array, dimension (LDT,K)
                   The k by  k  triangular  factor  T  of  the  block
                   reflector.   If  DIRECT = 'F', T is upper triangu-
                   lar; if DIRECT = 'B', T is lower  triangular.  The
                   rest of the array is not used.
    
         LDT       (input) INTEGER
                   The leading dimension of the array T. LDT >= K.
    
    FURTHER DETAILS
         The shape of the matrix V and the  storage  of  the  vectors
         which  define  the H(i) is best illustrated by the following
         example with n = 5 and k = 3. The elements equal  to  1  are
         not  stored;  the  corresponding array elements are modified
         but restored on exit. The rest of the array is not used.
    
         DIRECT = 'F' and STOREV = 'C':         DIRECT = 'F' and STOREV = 'R':
    
                      V = (  1       )                 V = (  1 v1 v1 v1 v1 )
                          ( v1  1    )                     (     1 v2 v2 v2 )
                          ( v1 v2  1 )                     (        1 v3 v3 )
                          ( v1 v2 v3 )
                          ( v1 v2 v3 )
    
         DIRECT = 'B' and STOREV = 'C':         DIRECT = 'B' and STOREV = 'R':
    
                      V = ( v1 v2 v3 )                 V = ( v1 v1  1       )
                          ( v1 v2 v3 )                     ( v2 v2 v2  1    )
                          (  1 v2 v3 )                     ( v3 v3 v3 v3  1 )
                          (     1 v3 )
                          (        1 )
    
    
    
    


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




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

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