tpqrt#

Functions

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

STPQRT computes a blocked QR 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. m >= 0.

in
n

The number of columns of the matrix B, and the order of the triangular matrix A. n >= 0.

in
l

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

in
nb

The block size to be used in the blocked QR. n >= nb >= 1.

inout
A

Double precision array, dimension (lda,n). On entry, the upper triangular n-by-n matrix A. On exit, the elements on and above the diagonal contain the upper triangular matrix R.

in
lda

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

inout
B

Double precision array, dimension (ldb,n). On entry, the pentagonal m-by-n matrix B. The first m-l rows are rectangular, and the last l rows are upper 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,n). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks.

in
ldt

The leading dimension of T. ldt >= nb.

out
work

Double precision array, dimension (nb*n).

out
info

  • = 0: successful exit.

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

Functions

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

DTPQRT computes a blocked QR 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. m >= 0.

in
n

The number of columns of the matrix B, and the order of the triangular matrix A. n >= 0.

in
l

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

in
nb

The block size to be used in the blocked QR. n >= nb >= 1.

inout
A

Double precision array, dimension (lda,n). On entry, the upper triangular n-by-n matrix A. On exit, the elements on and above the diagonal contain the upper triangular matrix R.

in
lda

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

inout
B

Double precision array, dimension (ldb,n). On entry, the pentagonal m-by-n matrix B. The first m-l rows are rectangular, and the last l rows are upper 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,n). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks.

in
ldt

The leading dimension of T. ldt >= nb.

out
work

Double precision array, dimension (nb*n).

out
info

  • = 0: successful exit.

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

Functions

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

CTPQRT computes a blocked QR 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. m >= 0.

in
n

The number of columns of the matrix B, and the order of the triangular matrix A. n >= 0.

in
l

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

in
nb

The block size to be used in the blocked QR. n >= nb >= 1.

inout
A

Single complex array, dimension (lda,n). On entry, the upper triangular n-by-n matrix A. On exit, the elements on and above the diagonal contain the upper triangular matrix R.

in
lda

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

inout
B

Single complex array, dimension (ldb,n). On entry, the pentagonal m-by-n matrix B. The first m-l rows are rectangular, and the last l rows are upper 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,n). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks.

in
ldt

The leading dimension of T. ldt >= nb.

out
work

Single complex array, dimension (nb*n).

out
info

  • = 0: successful exit.

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

Functions

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

ZTPQRT computes a blocked QR 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. m >= 0.

in
n

The number of columns of the matrix B, and the order of the triangular matrix A. n >= 0.

in
l

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

in
nb

The block size to be used in the blocked QR. n >= nb >= 1.

inout
A

Double complex array, dimension (lda,n). On entry, the upper triangular n-by-n matrix A. On exit, the elements on and above the diagonal contain the upper triangular matrix R.

in
lda

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

inout
B

Double complex array, dimension (ldb,n). On entry, the pentagonal m-by-n matrix B. The first m-l rows are rectangular, and the last l rows are upper 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,n). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks.

in
ldt

The leading dimension of T. ldt >= nb.

out
work

Double complex array, dimension (nb*n).

out
info

  • = 0: successful exit.

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