ZLAQPS(3f)

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

SYNOPSIS

SUBROUTINE ZLAQPS(
    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 VN1( * ), VN2( * )

COMPLEX*16
    A( LDA, * ), AUXV( * ), F( LDF, * ), TAU( * )

PURPOSE
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(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.

NB      (input) INTEGER
    The number of columns to factorize.

KB      (output) INTEGER
    The number of columns actually factorized.

A       (input/output) COMPLEX*16 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) COMPLEX*16 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) COMPLEX*16 array, dimension (NB)
    Auxiliar vector.

F       (input/output) COMPLEX*16 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