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

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

✨ NAME ✨

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

okay so bestie, this is a page from the Library Functions Manual (yes, the whole zgeqrfp.f(3) situation) and it's literally all about one little Fortran file living way down deep in the LAPACK source tree 🫢


πŸ’… SYNOPSIS πŸ’…

Functions/Subroutines

  • subroutine ZGEQRFP (m, n, a, lda, tau, work, lwork, info) β€” ZGEQRFP ✨

πŸŽ€ Function/Subroutine Documentation πŸŽ€

subroutine ZGEQRFP (integer m, integer n, complex*16, dimension( lda, * ) a,
    integer lda, complex*16, dimension( * ) tau, complex*16, dimension( * )
    work, integer lwork, integer info)

ZGEQRFP πŸ‘‘ (the signature again, because she deserves a second entrance)

🌸 Purpose 🌸

!>
!> ZGEQR2P computes a QR factorization of a complex 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.
!>
!>

so yeah β€” she factors your matrix, that's the whole vibe πŸ’«

πŸ¦‹ 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.

A

!>          A is COMPLEX*16 array, dimension (LDA,N)
!>          On entry, 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 (R is
!>          upper triangular if m >= n). The diagonal entries of R
!>          are real and nonnegative; The elements below the diagonal,
!>          with the array TAU, represent the unitary matrix Q as a
!>          product of min(m,n) elementary reflectors (see Further
!>          Details).

like, she goes in as your matrix and comes out as R and a secret encoded Q β€” main character energy fr fr 🌈

LDA

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

TAU

!>          TAU is COMPLEX*16 array, dimension (min(M,N))
!>          The scalar factors of the elementary reflectors (see Further
!>          Details).

WORK

!>          WORK is COMPLEX*16 array, dimension (MAX(1,LWORK))
!>          On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

LWORK

!>          LWORK is INTEGER
!>          The dimension of the array WORK.  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.
ok so the LWORK = -1 thing is the classic "just tell me how much room I need" trick β€” no error message from XERBLA, she's just answering your question 🀫

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.

the whole squad showed up for this one πŸ˜­πŸ’–

⭐ Further Details: ⭐

!>
!>  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**H
!>
!>  where tau is a complex scalar, and v is a complex 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
!>

that's the tea β€” Q is a whole product of k = min(m,n) reflectors, and each one is I - tau * v * v**H with v(1:i-1) = 0, v(i) = 1, and the rest tucked into A(i+1:m,i) with tau in TAU(i). iconic behavior ngl πŸ‘‘


πŸ“ Definition πŸ“

Definition at line 148 of file zgeqrfp.f.

πŸ™ˆ Author πŸ™ˆ

Generated automatically by Doxygen for LAPACK from the source code.


and that's the whole page, bestie πŸ’œ β€” shoutout to LAPACK Version 3.12.0, rockin' that /home/abui.../zgeqrfp.f(3) footer, mwah πŸ’‹βœ¨πŸŽ€

πŸ“¦ where this page comes from