larfb_gett#

Functions

void slarfb_gett(
    const char*          ident,
    const INT            m,
    const INT            n,
    const INT            k,
    const f32*  restrict T,
    const INT            ldt,
          f32*  restrict A,
    const INT            lda,
          f32*  restrict B,
    const INT            ldb,
          f32*  restrict work,
    const INT            ldwork
);
void slarfb_gett(const char *ident, const INT m, const INT n, const INT k, const f32 *restrict T, const INT ldt, f32 *restrict A, const INT lda, f32 *restrict B, const INT ldb, f32 *restrict work, const INT ldwork)#

SLARFB_GETT applies a real Householder block reflector H from the left to a real (K+M)-by-N “triangular-pentagonal” matrix composed of two block matrices: an upper trapezoidal K-by-N matrix A stored in the array A, and a rectangular M-by-(N-K) matrix B, stored in the array B.

The block reflector H is stored in a compact WY-representation, where the elementary reflectors are in the arrays A, B and T.

Parameters

in
ident

If ident = ‘I’ or ‘i’, then V1 is an identity matrix and not stored. Otherwise, V1 is unit lower-triangular and stored in the left K-by-K block of the input matrix A.

in
m

The number of rows of the matrix B. m >= 0.

in
n

The number of columns of the matrices A and B. n >= 0.

in
k

The number of rows of the matrix A. K is also order of the matrix T. 0 <= k <= n.

in
T

Double precision array, dimension (ldt, k). The upper-triangular K-by-K matrix T.

in
ldt

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

inout
A

Double precision array, dimension (lda, n). On entry: upper-trapezoidal part contains A, columns below the diagonal contain columns of V1 (ones not stored). On exit: A is overwritten by H*A.

in
lda

The leading dimension of the array A. lda >= max(1, k).

inout
B

Double precision array, dimension (ldb, n). On entry: right M-by-(N-K) block contains B, left M-by-K block contains V2. On exit: B is overwritten by H*B.

in
ldb

The leading dimension of the array B. ldb >= max(1, m).

out
work

Double precision array, dimension (ldwork, max(k, n-k)).

in
ldwork

The leading dimension of the array work. ldwork >= max(1, k).

Functions

void dlarfb_gett(
    const char*          ident,
    const INT            m,
    const INT            n,
    const INT            k,
    const f64*  restrict T,
    const INT            ldt,
          f64*  restrict A,
    const INT            lda,
          f64*  restrict B,
    const INT            ldb,
          f64*  restrict work,
    const INT            ldwork
);
void dlarfb_gett(const char *ident, const INT m, const INT n, const INT k, const f64 *restrict T, const INT ldt, f64 *restrict A, const INT lda, f64 *restrict B, const INT ldb, f64 *restrict work, const INT ldwork)#

DLARFB_GETT applies a real Householder block reflector H from the left to a real (K+M)-by-N “triangular-pentagonal” matrix composed of two block matrices: an upper trapezoidal K-by-N matrix A stored in the array A, and a rectangular M-by-(N-K) matrix B, stored in the array B.

The block reflector H is stored in a compact WY-representation, where the elementary reflectors are in the arrays A, B and T.

Parameters

in
ident

If ident = ‘I’ or ‘i’, then V1 is an identity matrix and not stored. Otherwise, V1 is unit lower-triangular and stored in the left K-by-K block of the input matrix A.

in
m

The number of rows of the matrix B. m >= 0.

in
n

The number of columns of the matrices A and B. n >= 0.

in
k

The number of rows of the matrix A. K is also order of the matrix T. 0 <= k <= n.

in
T

Double precision array, dimension (ldt, k). The upper-triangular K-by-K matrix T.

in
ldt

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

inout
A

Double precision array, dimension (lda, n). On entry: upper-trapezoidal part contains A, columns below the diagonal contain columns of V1 (ones not stored). On exit: A is overwritten by H*A.

in
lda

The leading dimension of the array A. lda >= max(1, k).

inout
B

Double precision array, dimension (ldb, n). On entry: right M-by-(N-K) block contains B, left M-by-K block contains V2. On exit: B is overwritten by H*B.

in
ldb

The leading dimension of the array B. ldb >= max(1, m).

out
work

Double precision array, dimension (ldwork, max(k, n-k)).

in
ldwork

The leading dimension of the array work. ldwork >= max(1, k).

Functions

void clarfb_gett(
    const char*          ident,
    const INT            m,
    const INT            n,
    const INT            k,
    const c64*  restrict T,
    const INT            ldt,
          c64*  restrict A,
    const INT            lda,
          c64*  restrict B,
    const INT            ldb,
          c64*  restrict work,
    const INT            ldwork
);
void clarfb_gett(const char *ident, const INT m, const INT n, const INT k, const c64 *restrict T, const INT ldt, c64 *restrict A, const INT lda, c64 *restrict B, const INT ldb, c64 *restrict work, const INT ldwork)#

CLARFB_GETT applies a complex Householder block reflector H from the left to a complex (K+M)-by-N “triangular-pentagonal” matrix composed of two block matrices: an upper trapezoidal K-by-N matrix A stored in the array A, and a rectangular M-by-(N-K) matrix B, stored in the array B.

The block reflector H is stored in a compact WY-representation, where the elementary reflectors are in the arrays A, B and T.

Parameters

in
ident

If ident = ‘I’ or ‘i’, then V1 is an identity matrix and not stored. Otherwise, V1 is unit lower-triangular and stored in the left K-by-K block of the input matrix A.

in
m

The number of rows of the matrix B. m >= 0.

in
n

The number of columns of the matrices A and B. n >= 0.

in
k

The number of rows of the matrix A. K is also order of the matrix T. 0 <= k <= n.

in
T

Complex array, dimension (ldt, k). The upper-triangular K-by-K matrix T.

in
ldt

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

inout
A

Complex array, dimension (lda, n). On entry: upper-trapezoidal part contains A, columns below the diagonal contain columns of V1 (ones not stored). On exit: A is overwritten by H*A.

in
lda

The leading dimension of the array A. lda >= max(1, k).

inout
B

Complex array, dimension (ldb, n). On entry: right M-by-(N-K) block contains B, left M-by-K block contains V2. On exit: B is overwritten by H*B.

in
ldb

The leading dimension of the array B. ldb >= max(1, m).

out
work

Complex array, dimension (ldwork, max(k, n-k)).

in
ldwork

The leading dimension of the array work. ldwork >= max(1, k).

Functions

void zlarfb_gett(
    const char*          ident,
    const INT            m,
    const INT            n,
    const INT            k,
    const c128* restrict T,
    const INT            ldt,
          c128* restrict A,
    const INT            lda,
          c128* restrict B,
    const INT            ldb,
          c128* restrict work,
    const INT            ldwork
);
void zlarfb_gett(const char *ident, const INT m, const INT n, const INT k, const c128 *restrict T, const INT ldt, c128 *restrict A, const INT lda, c128 *restrict B, const INT ldb, c128 *restrict work, const INT ldwork)#

ZLARFB_GETT applies a complex Householder block reflector H from the left to a complex (K+M)-by-N “triangular-pentagonal” matrix composed of two block matrices: an upper trapezoidal K-by-N matrix A stored in the array A, and a rectangular M-by-(N-K) matrix B, stored in the array B.

The block reflector H is stored in a compact WY-representation, where the elementary reflectors are in the arrays A, B and T.

Parameters

in
ident

If ident = ‘I’ or ‘i’, then V1 is an identity matrix and not stored. Otherwise, V1 is unit lower-triangular and stored in the left K-by-K block of the input matrix A.

in
m

The number of rows of the matrix B. m >= 0.

in
n

The number of columns of the matrices A and B. n >= 0.

in
k

The number of rows of the matrix A. K is also order of the matrix T. 0 <= k <= n.

in
T

Complex array, dimension (ldt, k). The upper-triangular K-by-K matrix T.

in
ldt

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

inout
A

Complex array, dimension (lda, n). On entry: upper-trapezoidal part contains A, columns below the diagonal contain columns of V1 (ones not stored). On exit: A is overwritten by H*A.

in
lda

The leading dimension of the array A. lda >= max(1, k).

inout
B

Complex array, dimension (ldb, n). On entry: right M-by-(N-K) block contains B, left M-by-K block contains V2. On exit: B is overwritten by H*B.

in
ldb

The leading dimension of the array B. ldb >= max(1, m).

out
work

Complex array, dimension (ldwork, max(k, n-k)).

in
ldwork

The leading dimension of the array work. ldwork >= max(1, k).