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)#
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
inmThe number of rows of the matrix B. m >= 0.
innThe number of columns of the matrix B, and the order of the triangular matrix A. n >= 0.
inlThe number of rows of the upper trapezoidal part of B. min(m,n) >= l >= 0. See Further Details.
innbThe block size to be used in the blocked QR. n >= nb >= 1.
inoutADouble 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.
inldaThe leading dimension of A. lda >= max(1,n).
inoutBDouble 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.
inldbThe leading dimension of B. ldb >= max(1,m).
outTDouble precision array, dimension (ldt,n). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks.
inldtThe leading dimension of T. ldt >= nb.
outworkDouble precision array, dimension (nb*n).
outinfo= 0: successful exit.
< 0: if info = -i, the i-th argument had an illegal value.
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
);
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)#
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
inmThe number of rows of the matrix B. m >= 0.
innThe number of columns of the matrix B, and the order of the triangular matrix A. n >= 0.
inlThe number of rows of the upper trapezoidal part of B. min(m,n) >= l >= 0. See Further Details.
innbThe block size to be used in the blocked QR. n >= nb >= 1.
inoutADouble 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.
inldaThe leading dimension of A. lda >= max(1,n).
inoutBDouble 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.
inldbThe leading dimension of B. ldb >= max(1,m).
outTDouble precision array, dimension (ldt,n). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks.
inldtThe leading dimension of T. ldt >= nb.
outworkDouble precision array, dimension (nb*n).
outinfo= 0: successful exit.
< 0: if info = -i, the i-th argument had an illegal value.
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
);
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)#
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
inmThe number of rows of the matrix B. m >= 0.
innThe number of columns of the matrix B, and the order of the triangular matrix A. n >= 0.
inlThe number of rows of the upper trapezoidal part of B. min(m,n) >= l >= 0. See Further Details.
innbThe block size to be used in the blocked QR. n >= nb >= 1.
inoutASingle 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.
inldaThe leading dimension of A. lda >= max(1,n).
inoutBSingle 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.
inldbThe leading dimension of B. ldb >= max(1,m).
outTSingle complex array, dimension (ldt,n). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks.
inldtThe leading dimension of T. ldt >= nb.
outworkSingle complex array, dimension (nb*n).
outinfo= 0: successful exit.
< 0: if info = -i, the i-th argument had an illegal value.
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
);
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)#
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
inmThe number of rows of the matrix B. m >= 0.
innThe number of columns of the matrix B, and the order of the triangular matrix A. n >= 0.
inlThe number of rows of the upper trapezoidal part of B. min(m,n) >= l >= 0. See Further Details.
innbThe block size to be used in the blocked QR. n >= nb >= 1.
inoutADouble 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.
inldaThe leading dimension of A. lda >= max(1,n).
inoutBDouble 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.
inldbThe leading dimension of B. ldb >= max(1,m).
outTDouble complex array, dimension (ldt,n). The upper triangular block reflectors stored in compact form as a sequence of upper triangular blocks.
inldtThe leading dimension of T. ldt >= nb.
outworkDouble complex array, dimension (nb*n).
outinfo= 0: successful exit.
< 0: if info = -i, the i-th argument had an illegal value.
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
);