---
name: "laqps"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/laqps"
---

# laqps(3)

laqps: step of geqp3

## NAME

laqps - laqps: step of geqp3

## SYNOPSIS

### Functions

subroutine **claqps** (m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)\
 **CLAQPS** computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.  subroutine **dlaqps** (m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)\
 **DLAQPS** computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.  subroutine **slaqps** (m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)\
 **SLAQPS** computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.  subroutine **zlaqps** (m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)\
 **ZLAQPS** computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.

## Detailed Description

## Function Documentation

### subroutine claqps (integer m, integer n, integer offset, integer nb, integer kb, complex, dimension( lda, \* ) a, integer lda, integer, dimension( \* ) jpvt, complex, dimension( \* ) tau, real, dimension( \* ) vn1, real, dimension( \* ) vn2, complex, dimension( \* ) auxv, complex, dimension( ldf, \* ) f, integer ldf)

**CLAQPS** computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.

**Purpose:**

```
!>
!> CLAQPS 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.
!>
```

**Parameters**

*M*

```
!>          M is INTEGER
!>          The number of rows of the matrix A. M >= 0.
!>
```

*N*

```
!>          N is INTEGER
!>          The number of columns of the matrix A. N >= 0
!>
```

*OFFSET*

```
!>          OFFSET is INTEGER
!>          The number of rows of A that have been factorized in
!>          previous steps.
!>
```

*NB*

```
!>          NB is INTEGER
!>          The number of columns to factorize.
!>
```

*KB*

```
!>          KB is INTEGER
!>          The number of columns actually factorized.
!>
```

*A*

```
!>          A is COMPLEX 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*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A. LDA >= max(1,M).
!>
```

*JPVT*

```
!>          JPVT is INTEGER array, dimension (N)
!>          JPVT(I) = K <==> Column K of the full matrix A has been
!>          permuted into position I in AP.
!>
```

*TAU*

```
!>          TAU is COMPLEX array, dimension (KB)
!>          The scalar factors of the elementary reflectors.
!>
```

*VN1*

```
!>          VN1 is REAL array, dimension (N)
!>          The vector with the partial column norms.
!>
```

*VN2*

```
!>          VN2 is REAL array, dimension (N)
!>          The vector with the exact column norms.
!>
```

*AUXV*

```
!>          AUXV is COMPLEX array, dimension (NB)
!>          Auxiliary vector.
!>
```

*F*

```
!>          F is COMPLEX array, dimension (LDF,NB)
!>          Matrix  F**H = L * Y**H * A.
!>
```

*LDF*

```
!>          LDF is INTEGER
!>          The leading dimension of the array F. LDF >= max(1,N).
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Contributors:**

G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain X. Sun, Computer Science Dept., Duke University, USA

 Partial column norm updating strategy modified on April 2011 Z. Drmac and Z. Bujanovic, Dept. of Mathematics, University of Zagreb, Croatia.

**References:**

LAPACK Working Note 176

Definition at line **176** of file **claqps.f**.

### subroutine dlaqps (integer m, integer n, integer offset, integer nb, integer kb, double precision, dimension( lda, \* ) a, integer lda, integer, dimension( \* ) jpvt, double precision, dimension( \* ) tau, double precision, dimension( \* ) vn1, double precision, dimension( \* ) vn2, double precision, dimension( \* ) auxv, double precision, dimension( ldf, \* ) f, integer ldf)

**DLAQPS** computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.

**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.
!>
```

**Parameters**

*M*

```
!>          M is INTEGER
!>          The number of rows of the matrix A. M >= 0.
!>
```

*N*

```
!>          N is INTEGER
!>          The number of columns of the matrix A. N >= 0
!>
```

*OFFSET*

```
!>          OFFSET is INTEGER
!>          The number of rows of A that have been factorized in
!>          previous steps.
!>
```

*NB*

```
!>          NB is INTEGER
!>          The number of columns to factorize.
!>
```

*KB*

```
!>          KB is INTEGER
!>          The number of columns actually factorized.
!>
```

*A*

```
!>          A is 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*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A. LDA >= max(1,M).
!>
```

*JPVT*

```
!>          JPVT is INTEGER array, dimension (N)
!>          JPVT(I) = K <==> Column K of the full matrix A has been
!>          permuted into position I in AP.
!>
```

*TAU*

```
!>          TAU is DOUBLE PRECISION array, dimension (KB)
!>          The scalar factors of the elementary reflectors.
!>
```

*VN1*

```
!>          VN1 is DOUBLE PRECISION array, dimension (N)
!>          The vector with the partial column norms.
!>
```

*VN2*

```
!>          VN2 is DOUBLE PRECISION array, dimension (N)
!>          The vector with the exact column norms.
!>
```

*AUXV*

```
!>          AUXV is DOUBLE PRECISION array, dimension (NB)
!>          Auxiliary vector.
!>
```

*F*

```
!>          F is DOUBLE PRECISION array, dimension (LDF,NB)
!>          Matrix F**T = L*Y**T*A.
!>
```

*LDF*

```
!>          LDF is INTEGER
!>          The leading dimension of the array F. LDF >= max(1,N).
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Contributors:**

G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain X. Sun, Computer Science Dept., Duke University, USA \
\
  Partial column norm updating strategy modified on April 2011 Z. Drmac and Z. Bujanovic, Dept. of Mathematics, University of Zagreb, Croatia.

**References:**

LAPACK Working Note 176

Definition at line **175** of file **dlaqps.f**.

### subroutine slaqps (integer m, integer n, integer offset, integer nb, integer kb, real, dimension( lda, \* ) a, integer lda, integer, dimension( \* ) jpvt, real, dimension( \* ) tau, real, dimension( \* ) vn1, real, dimension( \* ) vn2, real, dimension( \* ) auxv, real, dimension( ldf, \* ) f, integer ldf)

**SLAQPS** computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.

**Purpose:**

```
!>
!> SLAQPS 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.
!>
```

**Parameters**

*M*

```
!>          M is INTEGER
!>          The number of rows of the matrix A. M >= 0.
!>
```

*N*

```
!>          N is INTEGER
!>          The number of columns of the matrix A. N >= 0
!>
```

*OFFSET*

```
!>          OFFSET is INTEGER
!>          The number of rows of A that have been factorized in
!>          previous steps.
!>
```

*NB*

```
!>          NB is INTEGER
!>          The number of columns to factorize.
!>
```

*KB*

```
!>          KB is INTEGER
!>          The number of columns actually factorized.
!>
```

*A*

```
!>          A is REAL 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*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A. LDA >= max(1,M).
!>
```

*JPVT*

```
!>          JPVT is INTEGER array, dimension (N)
!>          JPVT(I) = K <==> Column K of the full matrix A has been
!>          permuted into position I in AP.
!>
```

*TAU*

```
!>          TAU is REAL array, dimension (KB)
!>          The scalar factors of the elementary reflectors.
!>
```

*VN1*

```
!>          VN1 is REAL array, dimension (N)
!>          The vector with the partial column norms.
!>
```

*VN2*

```
!>          VN2 is REAL array, dimension (N)
!>          The vector with the exact column norms.
!>
```

*AUXV*

```
!>          AUXV is REAL array, dimension (NB)
!>          Auxiliary vector.
!>
```

*F*

```
!>          F is REAL array, dimension (LDF,NB)
!>          Matrix F**T = L*Y**T*A.
!>
```

*LDF*

```
!>          LDF is INTEGER
!>          The leading dimension of the array F. LDF >= max(1,N).
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Contributors:**

G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain X. Sun, Computer Science Dept., Duke University, USA

 Partial column norm updating strategy modified on April 2011 Z. Drmac and Z. Bujanovic, Dept. of Mathematics, University of Zagreb, Croatia.

**References:**

LAPACK Working Note 176

Definition at line **176** of file **slaqps.f**.

### subroutine zlaqps (integer m, integer n, integer offset, integer nb, integer kb, complex\*16, dimension( lda, \* ) a, integer lda, integer, dimension( \* ) jpvt, complex\*16, dimension( \* ) tau, double precision, dimension( \* ) vn1, double precision, dimension( \* ) vn2, complex\*16, dimension( \* ) auxv, complex\*16, dimension( ldf, \* ) f, integer ldf)

**ZLAQPS** computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.

**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.
!>
```

**Parameters**

*M*

```
!>          M is INTEGER
!>          The number of rows of the matrix A. M >= 0.
!>
```

*N*

```
!>          N is INTEGER
!>          The number of columns of the matrix A. N >= 0
!>
```

*OFFSET*

```
!>          OFFSET is INTEGER
!>          The number of rows of A that have been factorized in
!>          previous steps.
!>
```

*NB*

```
!>          NB is INTEGER
!>          The number of columns to factorize.
!>
```

*KB*

```
!>          KB is INTEGER
!>          The number of columns actually factorized.
!>
```

*A*

```
!>          A is 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*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A. LDA >= max(1,M).
!>
```

*JPVT*

```
!>          JPVT is INTEGER array, dimension (N)
!>          JPVT(I) = K <==> Column K of the full matrix A has been
!>          permuted into position I in AP.
!>
```

*TAU*

```
!>          TAU is COMPLEX*16 array, dimension (KB)
!>          The scalar factors of the elementary reflectors.
!>
```

*VN1*

```
!>          VN1 is DOUBLE PRECISION array, dimension (N)
!>          The vector with the partial column norms.
!>
```

*VN2*

```
!>          VN2 is DOUBLE PRECISION array, dimension (N)
!>          The vector with the exact column norms.
!>
```

*AUXV*

```
!>          AUXV is COMPLEX*16 array, dimension (NB)
!>          Auxiliary vector.
!>
```

*F*

```
!>          F is COMPLEX*16 array, dimension (LDF,NB)
!>          Matrix F**H = L * Y**H * A.
!>
```

*LDF*

```
!>          LDF is INTEGER
!>          The leading dimension of the array F. LDF >= max(1,N).
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Contributors:**

G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain X. Sun, Computer Science Dept., Duke University, USA \
\
  Partial column norm updating strategy modified on April 2011 Z. Drmac and Z. Bujanovic, Dept. of Mathematics, University of Zagreb, Croatia.

**References:**

LAPACK Working Note 176

Definition at line **175** of file **zlaqps.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
