zlarft (l) - Linux Manuals
zlarft: forms the triangular factor T of a complex block reflector H of order n, which is defined as a product of k elementary reflectors
NAME
ZLARFT - forms the triangular factor T of a complex block reflector H of order n, which is defined as a product of k elementary reflectorsSYNOPSIS
- SUBROUTINE ZLARFT(
- DIRECT, STOREV, N, K, V, LDV, TAU, T, LDT )
- CHARACTER DIRECT, STOREV
- INTEGER K, LDT, LDV, N
- COMPLEX*16 T( LDT, * ), TAU( * ), V( LDV, * )
PURPOSE
ZLARFT forms the triangular factor T of a complex block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = aqFaq, H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = aqBaq, H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = aqCaq, the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, andH
If STOREV = aqRaq, the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and
H
ARGUMENTS
- DIRECT (input) CHARACTER*1
-
Specifies the order in which the elementary reflectors are
multiplied to form the block reflector:
= aqFaq: H = H(1) H(2) . . . H(k) (Forward)
= aqBaq: H = H(k) . . . H(2) H(1) (Backward) - STOREV (input) CHARACTER*1
-
Specifies how the vectors which define the elementary
reflectors are stored (see also Further Details):
= aqRaq: 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) COMPLEX*16 array, dimension
- (LDV,K) if STOREV = aqCaq (LDV,N) if STOREV = aqRaq The matrix V. See further details.
- LDV (input) INTEGER
- The leading dimension of the array V. If STOREV = aqCaq, LDV >= max(1,N); if STOREV = aqRaq, LDV >= K.
- TAU (input) COMPLEX*16 array, dimension (K)
- TAU(i) must contain the scalar factor of the elementary reflector H(i).
- T (output) COMPLEX*16 array, dimension (LDT,K)
- The k by k triangular factor T of the block reflector. If DIRECT = aqFaq, T is upper triangular; if DIRECT = aqBaq, 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 = aqFaq and STOREV = aqCaq: DIRECT = aqFaq and STOREV = aqRaq:
DIRECT = aqBaq and STOREV = aqCaq: DIRECT = aqBaq and STOREV = aqRaq: