--- 
:name: dlaqps
:md5sum: cd53ffb1ef39ff1b9a7f507f393e88d5
:category: :subroutine
:arguments: 
- m: 
    :type: integer
    :intent: input
- n: 
    :type: integer
    :intent: input
- offset: 
    :type: integer
    :intent: input
- nb: 
    :type: integer
    :intent: input
- kb: 
    :type: integer
    :intent: output
- a: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - lda
    - n
- lda: 
    :type: integer
    :intent: input
- jpvt: 
    :type: integer
    :intent: input/output
    :dims: 
    - n
- tau: 
    :type: doublereal
    :intent: output
    :dims: 
    - kb
- vn1: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - n
- vn2: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - n
- auxv: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - nb
- f: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - ldf
    - nb
- ldf: 
    :type: integer
    :intent: input
:substitutions: 
  kb: nb
:fortran_help: "      SUBROUTINE DLAQPS( M, N, OFFSET, NB, KB, A, LDA, JPVT, TAU, VN1, VN2, AUXV, F, LDF )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  DLAQPS computes a step of QR factorization with column pivoting\n\
  *  of a real M-by-N matrix A by using Blas-3.  It tries to factorize\n\
  *  NB columns from A starting from the row OFFSET+1, and updates all\n\
  *  of the matrix with Blas-3 xGEMM.\n\
  *\n\
  *  In some cases, due to catastrophic cancellations, it cannot\n\
  *  factorize NB columns.  Hence, the actual number of factorized\n\
  *  columns is returned in KB.\n\
  *\n\
  *  Block A(1:OFFSET,1:N) is accordingly pivoted, but not factorized.\n\
  *\n\n\
  *  Arguments\n\
  *  =========\n\
  *\n\
  *  M       (input) INTEGER\n\
  *          The number of rows of the matrix A. M >= 0.\n\
  *\n\
  *  N       (input) INTEGER\n\
  *          The number of columns of the matrix A. N >= 0\n\
  *\n\
  *  OFFSET  (input) INTEGER\n\
  *          The number of rows of A that have been factorized in\n\
  *          previous steps.\n\
  *\n\
  *  NB      (input) INTEGER\n\
  *          The number of columns to factorize.\n\
  *\n\
  *  KB      (output) INTEGER\n\
  *          The number of columns actually factorized.\n\
  *\n\
  *  A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)\n\
  *          On entry, the M-by-N matrix A.\n\
  *          On exit, block A(OFFSET+1:M,1:KB) is the triangular\n\
  *          factor obtained and block A(1:OFFSET,1:N) has been\n\
  *          accordingly pivoted, but no factorized.\n\
  *          The rest of the matrix, block A(OFFSET+1:M,KB+1:N) has\n\
  *          been updated.\n\
  *\n\
  *  LDA     (input) INTEGER\n\
  *          The leading dimension of the array A. LDA >= max(1,M).\n\
  *\n\
  *  JPVT    (input/output) INTEGER array, dimension (N)\n\
  *          JPVT(I) = K <==> Column K of the full matrix A has been\n\
  *          permuted into position I in AP.\n\
  *\n\
  *  TAU     (output) DOUBLE PRECISION array, dimension (KB)\n\
  *          The scalar factors of the elementary reflectors.\n\
  *\n\
  *  VN1     (input/output) DOUBLE PRECISION array, dimension (N)\n\
  *          The vector with the partial column norms.\n\
  *\n\
  *  VN2     (input/output) DOUBLE PRECISION array, dimension (N)\n\
  *          The vector with the exact column norms.\n\
  *\n\
  *  AUXV    (input/output) DOUBLE PRECISION array, dimension (NB)\n\
  *          Auxiliar vector.\n\
  *\n\
  *  F       (input/output) DOUBLE PRECISION array, dimension (LDF,NB)\n\
  *          Matrix F' = L*Y'*A.\n\
  *\n\
  *  LDF     (input) INTEGER\n\
  *          The leading dimension of the array F. LDF >= max(1,N).\n\
  *\n\n\
  *  Further Details\n\
  *  ===============\n\
  *\n\
  *  Based on contributions by\n\
  *    G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain\n\
  *    X. Sun, Computer Science Dept., Duke University, USA\n\
  *\n\
  *  Partial column norm updating strategy modified by\n\
  *    Z. Drmac and Z. Bujanovic, Dept. of Mathematics,\n\
  *    University of Zagreb, Croatia.\n\
  *     June 2010\n\
  *  For more details see LAPACK Working Note 176.\n\
  *  =====================================================================\n\
  *\n"
