1ZLARFT(1)           LAPACK auxiliary routine (version 3.2)           ZLARFT(1)
2
3
4

NAME

6       ZLARFT  -  forms the triangular factor T of a complex block reflector H
7       of order n, which is defined as a product of k elementary reflectors
8

SYNOPSIS

10       SUBROUTINE ZLARFT( DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT )
11
12           CHARACTER      DIRECT, STOREV
13
14           INTEGER        K, LDT, LDV, N
15
16           COMPLEX*16     T( LDT, * ), TAU( * ), V( LDV, * )
17

PURPOSE

19       ZLARFT forms the triangular factor T of a complex block reflector H  of
20       order  n, which is defined as a product of k elementary reflectors.  If
21       DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is  upper  triangular;  If
22       DIRECT  =  'B', H = H(k) . . . H(2) H(1) and T is lower triangular.  If
23       STOREV = 'C', the vector which defines the elementary reflector H(i) is
24       stored in the i-th column of the array V, and
25          H  =  I - V * T * V'
26       If STOREV = 'R', the vector which defines the elementary reflector H(i)
27       is stored in the i-th row of the array V, and
28          H  =  I - V' * T * V
29

ARGUMENTS

31       DIRECT  (input) CHARACTER*1
32               Specifies the order in which the elementary reflectors are mul‐
33               tiplied to form the block reflector:
34               = 'F': H = H(1) H(2) . . . H(k) (Forward)
35               = 'B': H = H(k) . . . H(2) H(1) (Backward)
36
37       STOREV  (input) CHARACTER*1
38               Specifies  how  the vectors which define the elementary reflec‐
39               tors are stored (see also Further Details):
40               = 'R': rowwise
41
42       N       (input) INTEGER
43               The order of the block reflector H. N >= 0.
44
45       K       (input) INTEGER
46               The order of the triangular factor T (= the number  of  elemen‐
47               tary reflectors). K >= 1.
48
49       V       (input/output) COMPLEX*16 array, dimension
50               (LDV,K)  if  STOREV = 'C' (LDV,N) if STOREV = 'R' The matrix V.
51               See further details.
52
53       LDV     (input) INTEGER
54               The leading dimension of the array V.  If STOREV = 'C', LDV  >=
55               max(1,N); if STOREV = 'R', LDV >= K.
56
57       TAU     (input) COMPLEX*16 array, dimension (K)
58               TAU(i) must contain the scalar factor of the elementary reflec‐
59               tor H(i).
60
61       T       (output) COMPLEX*16 array, dimension (LDT,K)
62               The k by k triangular factor T  of  the  block  reflector.   If
63               DIRECT  =  'F',  T  is  upper triangular; if DIRECT = 'B', T is
64               lower triangular. The rest of the array is not used.
65
66       LDT     (input) INTEGER
67               The leading dimension of the array T. LDT >= K.
68

FURTHER DETAILS

70       The shape of the matrix V and the storage of the vectors  which  define
71       the  H(i) is best illustrated by the following example with n = 5 and k
72       = 3. The elements equal to 1 are not stored;  the  corresponding  array
73       elements  are  modified  but restored on exit. The rest of the array is
74       not used.
75       DIRECT = 'F' and STOREV = 'C':         DIRECT = 'F' and STOREV = 'R':
76                    V = (  1       )                 V = (  1 v1 v1 v1 v1 )
77                        ( v1  1    )                     (     1 v2 v2 v2 )
78                        ( v1 v2  1 )                     (        1 v3 v3 )
79                        ( v1 v2 v3 )
80                        ( v1 v2 v3 )
81       DIRECT = 'B' and STOREV = 'C':         DIRECT = 'B' and STOREV = 'R':
82                    V = ( v1 v2 v3 )                 V = ( v1 v1  1       )
83                        ( v1 v2 v3 )                     ( v2 v2 v2  1    )
84                        (  1 v2 v3 )                     ( v3 v3 v3 v3  1 )
85                        (     1 v3 )
86                        (        1 )
87
88
89
90 LAPACK auxiliary routine (versionNo3v.e2m)ber 2008                       ZLARFT(1)
Impressum