# ?laqp2

Computes a QR factorization with column pivoting of the matrix block.

## Syntax

call slaqp2( m, n, offset, a, lda, jpvt, tau, vn1, vn2, work )

call dlaqp2( m, n, offset, a, lda, jpvt, tau, vn1, vn2, work )

call claqp2( m, n, offset, a, lda, jpvt, tau, vn1, vn2, work )

call zlaqp2( m, n, offset, a, lda, jpvt, tau, vn1, vn2, work )

## Description

The routine computes a QR factorization with column pivoting of the block `A(offset+1:m,1:n)`. The block `A(1:offset,1:n)` is accordingly pivoted, but not factorized.

## Input Parameters

m

  INTEGER. The number of rows of the matrix A. `m ≥ 0`.

n

  INTEGER. The number of columns of the matrix A. `n ≥ 0`.

offset

  INTEGER. The number of rows of the matrix A that must be pivoted but no factorized. `offset ≥ 0`.

a

  REAL for slaqp2

  DOUBLE PRECISION for dlaqp2

  COMPLEX for claqp2

  COMPLEX*16 for zlaqp2

  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).

  On entry, if `jpvt(i) ≠ 0`, the i-th column of A is permuted to the front of A*P (a leading column); if `jpvt(i) = 0`, the i-th column of A is a free column.

vn1, vn2

  REAL for slaqp2/claqp2

  DOUBLE PRECISION for dlaqp2/zlaqp2

  Arrays, DIMENSION (n) each. Contain the vectors with the partial and exact column norms, respectively.

work

  REAL for slaqp2

  DOUBLE PRECISION for dlaqp2

  COMPLEX for claqp2

  COMPLEX*16 for zlaqp2 Workspace array, DIMENSION (n).

## Output Parameters

a

  On exit, the upper triangle of block `A(offset+1:m,1:n)` is the triangular factor obtained; the elements in block `A(offset+1:m,1:n)` below the diagonal, together with the array tau, represent the orthogonal matrix Q as a product of elementary reflectors. Block `A(1:offset,1:n)` has been accordingly pivoted, but not factorized.

jpvt

  On exit, if `jpvt(i) = k`, then the i-th column of A*P was the k-th column of A.

tau

  REAL for slaqp2

  DOUBLE PRECISION for dlaqp2

  COMPLEX for claqp2

  COMPLEX*16 for zlaqp2

  Array, DIMENSION `(min(m,n))`.

  The scalar factors of the elementary reflectors.

vn1, vn2

  Contain the vectors with the partial and exact column norms, respectively.

Parent topic: Auxiliary Routines