/home/abui.../dgeqrfp.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

okay so bestie, welcome to the Library Functions Manual page for /home/abui.../dgeqrfp.f(3) πŸ’… this is lowkey the DGEQRFP glow-up, and I'm gonna walk you through every single detail like we're decoding the group chat. no cap.


🌸 NAME 🌸

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dgeqrfp.f

that's the whole name section, bestie β€” the file itself, periodt. πŸ“βœ¨


✨ SYNOPSIS ✨

Functions/Subroutines

subroutine DGEQRFP (m, n, a, lda, tau, work, lwork, info)
    DGEQRFP

DGEQRFP is the main character here, iykyk. πŸ‘‘


πŸ’– Function/Subroutine Documentation πŸ’–

subroutine DGEQRFP (integer m, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) tau, double precision, dimension( * ) work, integer lwork, integer info)

DGEQRFP again, because she's iconic. πŸ’…

🎯 Purpose

the source says this, and I'm keeping it exactly as-is (yes, it literally says DGEQR2P in here β€” not me editing the source, bestie πŸ’€):

!>
!> DGEQR2P computes a QR factorization of a real M-by-N matrix A:
!>
!>    A = Q * ( R ),
!>            ( 0 )
!>
!> where:
!>
!>    Q is a M-by-M orthogonal matrix;
!>    R is an upper-triangular N-by-N matrix with nonnegative diagonal
!>    entries;
!>    0 is a (M-N)-by-N zero matrix, if M > N.
!>
!>

Parameters

  • M β€” M is INTEGER. it's the number of rows of matrix A, and M >= 0. πŸ“
  • N β€” N is INTEGER. it's the number of columns of matrix A, and N >= 0. πŸ“
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N). on entry, it's the M-by-N matrix A. on exit, the elements on and above the diagonal of the array contain the min(M,N)-by-N upper trapezoidal matrix R (and R is upper triangular if m >= n). the diagonal entries of R are nonnegative; the elements below the diagonal, with the array TAU, represent the orthogonal matrix Q as a product of min(m,n) elementary reflectors (see Further Details). 🫢
  • LDA β€” LDA is INTEGER. it's the leading dimension of array A, and LDA >= max(1,M). 🧚
  • TAU β€” TAU is DOUBLE PRECISION array, dimension (min(M,N)). these are the scalar factors of the elementary reflectors (see Further Details). πŸŽ€
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)). on exit, if INFO = 0, WORK(1) returns the optimal LWORK. πŸ› οΈ
  • LWORK β€” LWORK is INTEGER. it's the dimension of the array WORK, and LWORK >= max(1,N). For optimum performance LWORK >= N*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. πŸ‘€
  • INFO β€” INFO is INTEGER. = 0: successful exit; < 0: if INFO = -i, the i-th argument had an illegal value. 🚨

Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Further Details

the source's further-details block is also too good to paraphrase, so here it is exactly:

!>
!>  The matrix Q is represented as a product of elementary reflectors
!>
!>     Q = H(1) H(2) . . . H(k), where k = min(m,n).
!>
!>  Each H(i) has the form
!>
!>     H(i) = I - tau * v * v**T
!>
!>  where tau is a real scalar, and v is a real vector with
!>  v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i),
!>  and tau in TAU(i).
!>
!> See Lapack Working Note 203 for details
!>

Definition at line 148 of file dgeqrfp.f. πŸ“


πŸ‘‘ Author

Generated automatically by Doxygen for LAPACK from the source code. πŸ€–βœ¨


mwah πŸ’– that's the page! source/version vibe: LAPACK Version 3.12.0, file /home/abui.../dgeqrfp.f(3) β€” slay and goodbye, bestie πŸ¦‹

πŸ“¦ where this page comes from