laqps#

Functions

void slaqps(
    const INT           m,
    const INT           n,
    const INT           offset,
    const INT           nb,
          INT*          kb,
          f32* restrict A,
    const INT           lda,
          INT* restrict jpvt,
          f32* restrict tau,
          f32* restrict vn1,
          f32* restrict vn2,
          f32* restrict auxv,
          f32* restrict F,
    const INT           ldf
);
void slaqps(const INT m, const INT n, const INT offset, const INT nb, INT *kb, f32 *restrict A, const INT lda, INT *restrict jpvt, f32 *restrict tau, f32 *restrict vn1, f32 *restrict vn2, f32 *restrict auxv, f32 *restrict F, const INT ldf)#

SLAQPS computes a step of QR factorization with column pivoting of a real M-by-N matrix A by using Blas-3.

It tries to factorize NB columns from A starting from the row OFFSET+1, and updates all of the matrix with Blas-3 xGEMM.

In some cases, due to catastrophic cancellations, it cannot factorize NB columns. Hence, the actual number of factorized columns is returned in KB.

Block A(0:OFFSET-1, 0:N-1) is accordingly pivoted, but not factorized.

Parameters

in
m

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

in
n

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

in
offset

The number of rows of A that have been factorized in previous steps.

in
nb

The number of columns to factorize.

out
kb

The number of columns actually factorized.

inout
A

Double precision array, dimension (lda, n). On entry, the M-by-N matrix A. On exit, block A(offset:m-1, 0:kb-1) is the triangular factor obtained and block A(0:offset-1, 0:n-1) has been accordingly pivoted, but not factorized. The rest of the matrix, block A(offset:m-1, kb:n-1) has been updated.

in
lda

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

inout
jpvt

Integer array, dimension (n). jpvt[i] = k <==> Column k of the full matrix A has been permuted into position i in AP.

out
tau

Double precision array, dimension (kb). The scalar factors of the elementary reflectors.

inout
vn1

Double precision array, dimension (n). The vector with the partial column norms.

inout
vn2

Double precision array, dimension (n). The vector with the exact column norms.

inout
auxv

Double precision array, dimension (nb). Auxiliary vector.

inout
F

Double precision array, dimension (ldf, nb). Matrix F**T = L*Y**T*A.

in
ldf

The leading dimension of the array F. ldf >= max(1, n).

Functions

void dlaqps(
    const INT           m,
    const INT           n,
    const INT           offset,
    const INT           nb,
          INT*          kb,
          f64* restrict A,
    const INT           lda,
          INT* restrict jpvt,
          f64* restrict tau,
          f64* restrict vn1,
          f64* restrict vn2,
          f64* restrict auxv,
          f64* restrict F,
    const INT           ldf
);
void dlaqps(const INT m, const INT n, const INT offset, const INT nb, INT *kb, f64 *restrict A, const INT lda, INT *restrict jpvt, f64 *restrict tau, f64 *restrict vn1, f64 *restrict vn2, f64 *restrict auxv, f64 *restrict F, const INT ldf)#

DLAQPS computes a step of QR factorization with column pivoting of a real M-by-N matrix A by using Blas-3.

It tries to factorize NB columns from A starting from the row OFFSET+1, and updates all of the matrix with Blas-3 xGEMM.

In some cases, due to catastrophic cancellations, it cannot factorize NB columns. Hence, the actual number of factorized columns is returned in KB.

Block A(0:OFFSET-1, 0:N-1) is accordingly pivoted, but not factorized.

Parameters

in
m

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

in
n

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

in
offset

The number of rows of A that have been factorized in previous steps.

in
nb

The number of columns to factorize.

out
kb

The number of columns actually factorized.

inout
A

Double precision array, dimension (lda, n). On entry, the M-by-N matrix A. On exit, block A(offset:m-1, 0:kb-1) is the triangular factor obtained and block A(0:offset-1, 0:n-1) has been accordingly pivoted, but not factorized. The rest of the matrix, block A(offset:m-1, kb:n-1) has been updated.

in
lda

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

inout
jpvt

Integer array, dimension (n). jpvt[i] = k <==> Column k of the full matrix A has been permuted into position i in AP.

out
tau

Double precision array, dimension (kb). The scalar factors of the elementary reflectors.

inout
vn1

Double precision array, dimension (n). The vector with the partial column norms.

inout
vn2

Double precision array, dimension (n). The vector with the exact column norms.

inout
auxv

Double precision array, dimension (nb). Auxiliary vector.

inout
F

Double precision array, dimension (ldf, nb). Matrix F**T = L*Y**T*A.

in
ldf

The leading dimension of the array F. ldf >= max(1, n).

Functions

void claqps(
    const INT           m,
    const INT           n,
    const INT           offset,
    const INT           nb,
          INT*          kb,
          c64* restrict A,
    const INT           lda,
          INT* restrict jpvt,
          c64* restrict tau,
          f32* restrict vn1,
          f32* restrict vn2,
          c64* restrict auxv,
          c64* restrict F,
    const INT           ldf
);
void claqps(const INT m, const INT n, const INT offset, const INT nb, INT *kb, c64 *restrict A, const INT lda, INT *restrict jpvt, c64 *restrict tau, f32 *restrict vn1, f32 *restrict vn2, c64 *restrict auxv, c64 *restrict F, const INT ldf)#

CLAQPS computes a step of QR factorization with column pivoting of a complex M-by-N matrix A by using Blas-3.

It tries to factorize NB columns from A starting from the row OFFSET+1, and updates all of the matrix with Blas-3 xGEMM.

In some cases, due to catastrophic cancellations, it cannot factorize NB columns. Hence, the actual number of factorized columns is returned in KB.

Block A(0:OFFSET-1, 0:N-1) is accordingly pivoted, but not factorized.

Parameters

in
m

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

in
n

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

in
offset

The number of rows of A that have been factorized in previous steps.

in
nb

The number of columns to factorize.

out
kb

The number of columns actually factorized.

inout
A

Complex*16 array, dimension (lda, n). On entry, the M-by-N matrix A. On exit, block A(offset:m-1, 0:kb-1) is the triangular factor obtained and block A(0:offset-1, 0:n-1) has been accordingly pivoted, but not factorized. The rest of the matrix, block A(offset:m-1, kb:n-1) has been updated.

in
lda

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

inout
jpvt

Integer array, dimension (n). jpvt[i] = k <==> Column k of the full matrix A has been permuted into position i in AP.

out
tau

Complex*16 array, dimension (kb). The scalar factors of the elementary reflectors.

inout
vn1

Single precision array, dimension (n). The vector with the partial column norms.

inout
vn2

Single precision array, dimension (n). The vector with the exact column norms.

inout
auxv

Complex*16 array, dimension (nb). Auxiliary vector.

inout
F

Complex*16 array, dimension (ldf, nb). Matrix F**H = L*Y**H*A.

in
ldf

The leading dimension of the array F. ldf >= max(1, n).

Functions

void zlaqps(
    const INT            m,
    const INT            n,
    const INT            offset,
    const INT            nb,
          INT*           kb,
          c128* restrict A,
    const INT            lda,
          INT*  restrict jpvt,
          c128* restrict tau,
          f64*  restrict vn1,
          f64*  restrict vn2,
          c128* restrict auxv,
          c128* restrict F,
    const INT            ldf
);
void zlaqps(const INT m, const INT n, const INT offset, const INT nb, INT *kb, c128 *restrict A, const INT lda, INT *restrict jpvt, c128 *restrict tau, f64 *restrict vn1, f64 *restrict vn2, c128 *restrict auxv, c128 *restrict F, const INT ldf)#

ZLAQPS computes a step of QR factorization with column pivoting of a complex M-by-N matrix A by using Blas-3.

It tries to factorize NB columns from A starting from the row OFFSET+1, and updates all of the matrix with Blas-3 xGEMM.

In some cases, due to catastrophic cancellations, it cannot factorize NB columns. Hence, the actual number of factorized columns is returned in KB.

Block A(0:OFFSET-1, 0:N-1) is accordingly pivoted, but not factorized.

Parameters

in
m

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

in
n

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

in
offset

The number of rows of A that have been factorized in previous steps.

in
nb

The number of columns to factorize.

out
kb

The number of columns actually factorized.

inout
A

Complex*16 array, dimension (lda, n). On entry, the M-by-N matrix A. On exit, block A(offset:m-1, 0:kb-1) is the triangular factor obtained and block A(0:offset-1, 0:n-1) has been accordingly pivoted, but not factorized. The rest of the matrix, block A(offset:m-1, kb:n-1) has been updated.

in
lda

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

inout
jpvt

Integer array, dimension (n). jpvt[i] = k <==> Column k of the full matrix A has been permuted into position i in AP.

out
tau

Complex*16 array, dimension (kb). The scalar factors of the elementary reflectors.

inout
vn1

Double precision array, dimension (n). The vector with the partial column norms.

inout
vn2

Double precision array, dimension (n). The vector with the exact column norms.

inout
auxv

Complex*16 array, dimension (nb). Auxiliary vector.

inout
F

Complex*16 array, dimension (ldf, nb). Matrix F**H = L*Y**H*A.

in
ldf

The leading dimension of the array F. ldf >= max(1, n).