Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?laqps
Computes a step of QR factorization with column pivoting of a real m -by- n matrix A by using BLAS level 3.
Syntax
call slaqps(m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)
call dlaqps(m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)
call claqps(m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)
call zlaqps(m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)
Include Files
mkl.fi
Description
The routine computes a step of QR factorization with column pivoting of a real m -by- n matrix A by using BLAS level 3. The routine tries to factorize NB columns from A starting from the row offset +1, and updates all of the matrix with BLAS level 3 routine ?gemm .
In some cases, due to catastrophic cancellations, ?laqps cannot factorize NB columns. Hence, the actual number of factorized columns is returned in kb .
Block A(1:offset,1:n) is accordingly pivoted, but not factorized.
Input Parameters
- m
-
INTEGER. The number of rows in the matrix A. The value of m must be at least zero.
- n
-
INTEGER. The number of columns in the matrix A. The value of n must be at least zero.
- offset
-
INTEGER . The number of rows of A that have been factorized in previous steps.
- nb
-
INTEGER . The number of columns to factorize.
- a
-
REAL for slaqps DOUBLE PRECISION for dlaqps COMPLEX for claqps DOUBLE COMPLEX for zlaqps Array, DIMENSION ( lda , n ). On entry, the m -by- n matrix A .
- lda
-
INTEGER . The leading dimension of the array a . lda≥ max(1,m) .
- jpvt
-
INTEGER . Array, DIMENSION ( n ). If jpvt ( I ) = k then column k of the full matrix A has been permuted into position i in AP.
- vn1 , vn2
-
REAL for slaqps / claqps DOUBLE PRECISION for dlaqps / zlaqps Arrays, DIMENSION ( n ) each. Contain the vectors with the partial and exact column norms, respectively.
- auxv
-
REAL for slaqps DOUBLE PRECISION for dlaqps COMPLEX for claqps DOUBLE COMPLEX for zlaqps Array, DIMENSION ( nb ). Auxiliary vector.
- f
-
REAL for slaqps DOUBLE PRECISION for dlaqps COMPLEX for claqps DOUBLE COMPLEX for zlaqps Array, DIMENSION ( ldf , nb ). For real flavors, matrix FT = L * YT * A . For complex flavors, matrix FH = L * YH * A .
- ldf
-
INTEGER . The leading dimension of the array f . ldf≥ max(1,n) .
Output Parameters
- kb
-
INTEGER . The number of columns actually factorized.
- a
-
On exit, block A ( offset +1: m ,1: kb ) is the triangular factor obtained and block A (1: offset ,1: n ) has been accordingly pivoted, but no factorized. The rest of the matrix, block A ( offset +1: m , kb +1: n ) has been updated.
- jpvt
-
INTEGER array, DIMENSION ( n ). If jpvt(I) = k then column k of the full matrix A has been permuted into position i in AP.
- tau
-
REAL for slaqps DOUBLE PRECISION for dlaqps COMPLEX for claqps DOUBLE COMPLEX for zlaqps Array, DIMENSION ( kb ). The scalar factors of the elementary reflectors.
- vn1 , vn2
-
The vectors with the partial and exact column norms, respectively.
- auxv
-
Auxiliary vector.
- f
-
Matrix F' = L * Y' * A .