DLAQPS(3S)DLAQPS(3S)NAME
DLAQPS - compute a step of QR factorization with column pivoting of a
real M-by-N matrix A by using Blas-3
SYNOPSIS
SUBROUTINE DLAQPS( M, N, OFFSET, NB, KB, A, LDA, JPVT, TAU, VN1, VN2,
AUXV, F, LDF )
INTEGER KB, LDA, LDF, M, N, NB, OFFSET
INTEGER JPVT( * )
DOUBLE PRECISION A( LDA, * ), AUXV( * ), F( LDF, * ), TAU( *
), VN1( * ), VN2( * )
IMPLEMENTATION
These routines are part of the SCSL Scientific Library and can be loaded
using either the -lscs or the -lscs_mp option. The -lscs_mp option
directs the linker to use the multi-processor version of the library.
When linking to SCSL with -lscs or -lscs_mp, the default integer size is
4 bytes (32 bits). Another version of SCSL is available in which integers
are 8 bytes (64 bits). This version allows the user access to larger
memory sizes and helps when porting legacy Cray codes. It can be loaded
by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
only one of the two versions; 4-byte integer and 8-byte integer library
calls cannot be mixed.
PURPOSE
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(1:OFFSET,1:N) is accordingly pivoted, but not factorized.
ARGUMENTS
M (input) INTEGER
The number of rows of the matrix A. M >= 0.
N (input) INTEGER
The number of columns of the matrix A. N >= 0
OFFSET (input) INTEGER
The number of rows of A that have been factorized in previous
steps.
Page 1
DLAQPS(3S)DLAQPS(3S)
NB (input) INTEGER
The number of columns to factorize.
KB (output) INTEGER
The number of columns actually factorized.
A (input/output) DOUBLE PRECISION array, dimension (LDA,N)
On entry, the M-by-N matrix 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.
LDA (input) INTEGER
The leading dimension of the array A. LDA >= max(1,M).
JPVT (input/output) INTEGER array, dimension (N)
JPVT(I) = K <==> Column K of the full matrix A has been permuted
into position I in AP.
TAU (output) DOUBLE PRECISION array, dimension (KB)
The scalar factors of the elementary reflectors.
VN1 (input/output) DOUBLE PRECISION array, dimension (N)
The vector with the partial column norms.
VN2 (input/output) DOUBLE PRECISION array, dimension (N)
The vector with the exact column norms.
AUXV (input/output) DOUBLE PRECISION array, dimension (NB)
Auxiliar vector.
F (input/output) DOUBLE PRECISION array, dimension (LDF,NB)
Matrix F' = L*Y'*A.
LDF (input) INTEGER
The leading dimension of the array F. LDF >= max(1,N).
FURTHER DETAILS
Based on contributions by
G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain
X. Sun, Computer Science Dept., Duke University, USA
SEE ALSOINTRO_LAPACK(3S), INTRO_SCSL(3S)
This man page is available only online.
Page 2