larft_lvl2#
Functions
-
void clarft_lvl2(const char *direct, const char *storev, const INT n, const INT k, const c64 *restrict V, const INT ldv, const c64 *restrict tau, c64 *restrict T, const INT ldt)#
CLARFT_LVL2 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 = ‘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**H
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**H * T * V
Parameters
indirect‘F’: Forward; ‘B’: Backward.
instorev‘C’: Columnwise; ‘R’: Rowwise.
innThe order of the block reflector H. n >= 0.
inkThe order of T (number of reflectors). k >= 1.
inVThe matrix V containing reflector vectors. Dimension (ldv, k) if storev=’C’, (ldv, n) if storev=’R’.
inldvLeading dimension of V.
intauArray of dimension k. Scalar factors of reflectors.
outTThe k-by-k triangular factor T. Dimension (ldt, k).
inldtLeading dimension of T. ldt >= k.
void clarft_lvl2(
const char* direct,
const char* storev,
const INT n,
const INT k,
const c64* restrict V,
const INT ldv,
const c64* restrict tau,
c64* restrict T,
const INT ldt
);
Functions
-
void zlarft_lvl2(const char *direct, const char *storev, const INT n, const INT k, const c128 *restrict V, const INT ldv, const c128 *restrict tau, c128 *restrict T, const INT ldt)#
ZLARFT_LVL2 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 = ‘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**H
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**H * T * V
Parameters
indirect‘F’: Forward; ‘B’: Backward.
instorev‘C’: Columnwise; ‘R’: Rowwise.
innThe order of the block reflector H. n >= 0.
inkThe order of T (number of reflectors). k >= 1.
inVThe matrix V containing reflector vectors. Dimension (ldv, k) if storev=’C’, (ldv, n) if storev=’R’.
inldvLeading dimension of V.
intauArray of dimension k. Scalar factors of reflectors.
outTThe k-by-k triangular factor T. Dimension (ldt, k).
inldtLeading dimension of T. ldt >= k.
void zlarft_lvl2(
const char* direct,
const char* storev,
const INT n,
const INT k,
const c128* restrict V,
const INT ldv,
const c128* restrict tau,
c128* restrict T,
const INT ldt
);