SRC/claqps.f(3)

✨ NAME ✨

okay so bestie, this page is SRC/claqps.f(3) β€” and the NAME line is literally just SRC/claqps.f β€” from the LAPACK Library Functions Manual. It's giving "subroutine with a very specific job and a lot of array dimensions" energy, and honestly? iconic. πŸ’…

🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine claqps (m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2,
    auxv, f, ldf)

So what does it do? CLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3. That's the synopsis tea. πŸ«–

πŸ¦‹ Function/Subroutine 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)

Same energy as the synopsis, bestie: CLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3. πŸŽ€

Purpose: 🎯

okay so here's the actual plot: 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.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


πŸ’– that's the page, bestie β€” signing off from LAPACK Version 3.12.0, file SRC/claqps.f(3). Go forth and pivot your columns, but, like, carefully. πŸŽ€

πŸ“¦ where this page comes from