tplqt#

Functions

void stplqt(
    const INT           m,
    const INT           n,
    const INT           l,
    const INT           mb,
          f32* restrict A,
    const INT           lda,
          f32* restrict B,
    const INT           ldb,
          f32* restrict T,
    const INT           ldt,
          f32* restrict work,
          INT*          info
);
void stplqt(const INT m, const INT n, const INT l, const INT mb, f32 *restrict A, const INT lda, f32 *restrict B, const INT ldb, f32 *restrict T, const INT ldt, f32 *restrict work, INT *info)#

STPLQT computes a blocked LQ factorization of a real “triangular-pentagonal” matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q.

Parameters

in
m

The number of rows of the matrix B, and the order of the triangular matrix A. m >= 0.

in
n

The number of columns of the matrix B. n >= 0.

in
l

The number of rows of the lower trapezoidal part of B. min(m,n) >= l >= 0. See Further Details.

in
mb

The block size to be used in the blocked LQ. m >= mb >= 1.

inout
A

Double precision array, dimension (lda,m). On entry, the lower triangular m-by-m matrix A. On exit, the elements on and below the diagonal contain the lower triangular matrix L.

in
lda

The leading dimension of A. lda >= max(1,m).

inout
B

Double precision array, dimension (ldb,n). On entry, the pentagonal m-by-n matrix B. The first n-l columns are rectangular, and the last l columns are lower trapezoidal. On exit, B contains the pentagonal matrix V.

in
ldb

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

out
T

Double precision array, dimension (ldt,m). The lower triangular block reflectors stored in compact form as a sequence of upper triangular blocks.

in
ldt

The leading dimension of T. ldt >= mb.

out
work

Double precision array, dimension (mb*m).

out
info

  • = 0: successful exit.

  • < 0: if info = -i, the i-th argument had an illegal value.

Functions

void dtplqt(
    const INT           m,
    const INT           n,
    const INT           l,
    const INT           mb,
          f64* restrict A,
    const INT           lda,
          f64* restrict B,
    const INT           ldb,
          f64* restrict T,
    const INT           ldt,
          f64* restrict work,
          INT*          info
);
void dtplqt(const INT m, const INT n, const INT l, const INT mb, f64 *restrict A, const INT lda, f64 *restrict B, const INT ldb, f64 *restrict T, const INT ldt, f64 *restrict work, INT *info)#

DTPLQT computes a blocked LQ factorization of a real “triangular-pentagonal” matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q.

Parameters

in
m

The number of rows of the matrix B, and the order of the triangular matrix A. m >= 0.

in
n

The number of columns of the matrix B. n >= 0.

in
l

The number of rows of the lower trapezoidal part of B. min(m,n) >= l >= 0. See Further Details.

in
mb

The block size to be used in the blocked LQ. m >= mb >= 1.

inout
A

Double precision array, dimension (lda,m). On entry, the lower triangular m-by-m matrix A. On exit, the elements on and below the diagonal contain the lower triangular matrix L.

in
lda

The leading dimension of A. lda >= max(1,m).

inout
B

Double precision array, dimension (ldb,n). On entry, the pentagonal m-by-n matrix B. The first n-l columns are rectangular, and the last l columns are lower trapezoidal. On exit, B contains the pentagonal matrix V.

in
ldb

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

out
T

Double precision array, dimension (ldt,m). The lower triangular block reflectors stored in compact form as a sequence of upper triangular blocks.

in
ldt

The leading dimension of T. ldt >= mb.

out
work

Double precision array, dimension (mb*m).

out
info

  • = 0: successful exit.

  • < 0: if info = -i, the i-th argument had an illegal value.

Functions

void ctplqt(
    const INT           m,
    const INT           n,
    const INT           l,
    const INT           mb,
          c64* restrict A,
    const INT           lda,
          c64* restrict B,
    const INT           ldb,
          c64* restrict T,
    const INT           ldt,
          c64* restrict work,
          INT*          info
);
void ctplqt(const INT m, const INT n, const INT l, const INT mb, c64 *restrict A, const INT lda, c64 *restrict B, const INT ldb, c64 *restrict T, const INT ldt, c64 *restrict work, INT *info)#

CTPLQT computes a blocked LQ factorization of a complex “triangular-pentagonal” matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q.

Parameters

in
m

The number of rows of the matrix B, and the order of the triangular matrix A. m >= 0.

in
n

The number of columns of the matrix B. n >= 0.

in
l

The number of rows of the lower trapezoidal part of B. min(m,n) >= l >= 0. See Further Details.

in
mb

The block size to be used in the blocked LQ. m >= mb >= 1.

inout
A

Single complex array, dimension (lda,m). On entry, the lower triangular m-by-m matrix A. On exit, the elements on and below the diagonal contain the lower triangular matrix L.

in
lda

The leading dimension of A. lda >= max(1,m).

inout
B

Single complex array, dimension (ldb,n). On entry, the pentagonal m-by-n matrix B. The first n-l columns are rectangular, and the last l columns are lower trapezoidal. On exit, B contains the pentagonal matrix V.

in
ldb

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

out
T

Single complex array, dimension (ldt,m). The lower triangular block reflectors stored in compact form as a sequence of upper triangular blocks.

in
ldt

The leading dimension of T. ldt >= mb.

out
work

Single complex array, dimension (mb*m).

out
info

  • = 0: successful exit.

  • < 0: if info = -i, the i-th argument had an illegal value.

Functions

void ztplqt(
    const INT            m,
    const INT            n,
    const INT            l,
    const INT            mb,
          c128* restrict A,
    const INT            lda,
          c128* restrict B,
    const INT            ldb,
          c128* restrict T,
    const INT            ldt,
          c128* restrict work,
          INT*           info
);
void ztplqt(const INT m, const INT n, const INT l, const INT mb, c128 *restrict A, const INT lda, c128 *restrict B, const INT ldb, c128 *restrict T, const INT ldt, c128 *restrict work, INT *info)#

ZTPLQT computes a blocked LQ factorization of a complex “triangular-pentagonal” matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q.

Parameters

in
m

The number of rows of the matrix B, and the order of the triangular matrix A. m >= 0.

in
n

The number of columns of the matrix B. n >= 0.

in
l

The number of rows of the lower trapezoidal part of B. min(m,n) >= l >= 0. See Further Details.

in
mb

The block size to be used in the blocked LQ. m >= mb >= 1.

inout
A

Double complex array, dimension (lda,m). On entry, the lower triangular m-by-m matrix A. On exit, the elements on and below the diagonal contain the lower triangular matrix L.

in
lda

The leading dimension of A. lda >= max(1,m).

inout
B

Double complex array, dimension (ldb,n). On entry, the pentagonal m-by-n matrix B. The first n-l columns are rectangular, and the last l columns are lower trapezoidal. On exit, B contains the pentagonal matrix V.

in
ldb

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

out
T

Double complex array, dimension (ldt,m). The lower triangular block reflectors stored in compact form as a sequence of upper triangular blocks.

in
ldt

The leading dimension of T. ldt >= mb.

out
work

Double complex array, dimension (mb*m).

out
info

  • = 0: successful exit.

  • < 0: if info = -i, the i-th argument had an illegal value.