larzt#

Functions

void slarzt(
    const char*          direct,
    const char*          storev,
    const INT            n,
    const INT            k,
    const f32*  restrict V,
    const INT            ldv,
    const f32*  restrict tau,
          f32*  restrict T,
    const INT            ldt
);
void slarzt(const char *direct, const char *storev, const INT n, const INT k, const f32 *restrict V, const INT ldv, const f32 *restrict tau, f32 *restrict T, const INT ldt)#

SLARZT forms the triangular factor T of a real 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**T

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 * T * V

Currently, only STOREV = ‘R’ and DIRECT = ‘B’ are supported.

Parameters

in
direct

Specifies the order in which the elementary reflectors are multiplied to form the block reflector: = ‘F’: H = H(1) H(2) … H(k) (Forward, not supported yet) = ‘B’: H = H(k) … H(2) H(1) (Backward)

in
storev

Specifies how the vectors which define the elementary reflectors are stored: = ‘C’: columnwise (not supported yet) = ‘R’: rowwise

in
n

The order of the block reflector H. n >= 0.

in
k

The order of the triangular factor T (= the number of elementary reflectors). k >= 1.

inout
V

Double precision array, dimension (ldv, n). The matrix V. See Further Details in LAPACK documentation.

in
ldv

The leading dimension of the array V. ldv >= k.

in
tau

Double precision array, dimension (k). tau[i] must contain the scalar factor of the elementary reflector H(i).

out
T

Double precision array, dimension (ldt, k). The k by k triangular factor T of the block reflector. T is lower triangular (since only DIRECT = ‘B’ is supported). The rest of the array is not used.

in
ldt

The leading dimension of the array T. ldt >= k.

Functions

void dlarzt(
    const char*          direct,
    const char*          storev,
    const INT            n,
    const INT            k,
    const f64*  restrict V,
    const INT            ldv,
    const f64*  restrict tau,
          f64*  restrict T,
    const INT            ldt
);
void dlarzt(const char *direct, const char *storev, const INT n, const INT k, const f64 *restrict V, const INT ldv, const f64 *restrict tau, f64 *restrict T, const INT ldt)#

DLARZT forms the triangular factor T of a real 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**T

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 * T * V

Currently, only STOREV = ‘R’ and DIRECT = ‘B’ are supported.

Parameters

in
direct

Specifies the order in which the elementary reflectors are multiplied to form the block reflector: = ‘F’: H = H(1) H(2) … H(k) (Forward, not supported yet) = ‘B’: H = H(k) … H(2) H(1) (Backward)

in
storev

Specifies how the vectors which define the elementary reflectors are stored: = ‘C’: columnwise (not supported yet) = ‘R’: rowwise

in
n

The order of the block reflector H. n >= 0.

in
k

The order of the triangular factor T (= the number of elementary reflectors). k >= 1.

inout
V

Double precision array, dimension (ldv, n). The matrix V. See Further Details in LAPACK documentation.

in
ldv

The leading dimension of the array V. ldv >= k.

in
tau

Double precision array, dimension (k). tau[i] must contain the scalar factor of the elementary reflector H(i).

out
T

Double precision array, dimension (ldt, k). The k by k triangular factor T of the block reflector. T is lower triangular (since only DIRECT = ‘B’ is supported). The rest of the array is not used.

in
ldt

The leading dimension of the array T. ldt >= k.

Functions

void clarzt(
    const char*          direct,
    const char*          storev,
    const INT            n,
    const INT            k,
          c64*  restrict V,
    const INT            ldv,
    const c64*  restrict tau,
          c64*  restrict T,
    const INT            ldt
);
void clarzt(const char *direct, const char *storev, const INT n, const INT k, c64 *restrict V, const INT ldv, const c64 *restrict tau, c64 *restrict T, const INT ldt)#

CLARZT 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

Currently, only STOREV = ‘R’ and DIRECT = ‘B’ are supported.

Parameters

in
direct

Specifies the order in which the elementary reflectors are multiplied to form the block reflector: = ‘F’: H = H(1) H(2) … H(k) (Forward, not supported yet) = ‘B’: H = H(k) … H(2) H(1) (Backward)

in
storev

Specifies how the vectors which define the elementary reflectors are stored: = ‘C’: columnwise (not supported yet) = ‘R’: rowwise

in
n

The order of the block reflector H. n >= 0.

in
k

The order of the triangular factor T (= the number of elementary reflectors). k >= 1.

inout
V

Single complex array, dimension (ldv, n). The matrix V. See Further Details in LAPACK documentation.

in
ldv

The leading dimension of the array V. ldv >= k.

in
tau

Single complex array, dimension (k). tau[i] must contain the scalar factor of the elementary reflector H(i).

out
T

Single complex array, dimension (ldt, k). The k by k triangular factor T of the block reflector. T is lower triangular (since only DIRECT = ‘B’ is supported). The rest of the array is not used.

in
ldt

The leading dimension of the array T. ldt >= k.

Functions

void zlarzt(
    const char*          direct,
    const char*          storev,
    const INT            n,
    const INT            k,
          c128* restrict V,
    const INT            ldv,
    const c128* restrict tau,
          c128* restrict T,
    const INT            ldt
);
void zlarzt(const char *direct, const char *storev, const INT n, const INT k, c128 *restrict V, const INT ldv, const c128 *restrict tau, c128 *restrict T, const INT ldt)#

ZLARZT 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

Currently, only STOREV = ‘R’ and DIRECT = ‘B’ are supported.

Parameters

in
direct

Specifies the order in which the elementary reflectors are multiplied to form the block reflector: = ‘F’: H = H(1) H(2) … H(k) (Forward, not supported yet) = ‘B’: H = H(k) … H(2) H(1) (Backward)

in
storev

Specifies how the vectors which define the elementary reflectors are stored: = ‘C’: columnwise (not supported yet) = ‘R’: rowwise

in
n

The order of the block reflector H. n >= 0.

in
k

The order of the triangular factor T (= the number of elementary reflectors). k >= 1.

inout
V

Double complex array, dimension (ldv, n). The matrix V. See Further Details in LAPACK documentation.

in
ldv

The leading dimension of the array V. ldv >= k.

in
tau

Double complex array, dimension (k). tau[i] must contain the scalar factor of the elementary reflector H(i).

out
T

Double complex array, dimension (ldt, k). The k by k triangular factor T of the block reflector. T is lower triangular (since only DIRECT = ‘B’ is supported). The rest of the array is not used.

in
ldt

The leading dimension of the array T. ldt >= k.