CGELQF(3)

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

πŸ’… CGELQF(3) β€” Library Functions Manual πŸŽ€

okay bestie, welcome to CGELQF(3). The manual name is Library Functions Manual, and the header shorthand path is /home/abui...RC/cgelqf.f(3). This is the LAPACK LQ-factorization routine, and she is iconic. πŸ’–

πŸ’– NAME

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cgelqf.f β€” that’s the source file this whole page is serving, no cap. 🫢

πŸ¦‹ SYNOPSIS

🧚 Functions/Subroutines

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

CGELQF β€” main character energy, obviously. πŸ‘‘

✨ Function/Subroutine Documentation

Here’s the full signature, exactly as she appears:

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

CGELQF

🌈 Purpose

Purpose, straight from the source-comment glow-up:

!>
!> CGELQF computes an LQ factorization of a complex M-by-N matrix A:
!>
!>    A = ( L 0 ) *  Q
!>
!> where:
!>
!>    Q is a N-by-N orthogonal matrix;
!>    L is a lower-triangular M-by-M matrix;
!>    0 is a M-by-(N-M) zero matrix, if M < N.
!>
!>

Translation for the group chat: she computes an LQ factorization of a complex M-by-N matrix A, with A = ( L 0 ) * Q. Q is N-by-N orthogonal, L is lower-triangular M-by-M, and 0 is M-by-(N-M) zero when M < N. slay. πŸ’…

🌸 Parameters

  • M β€” M is INTEGER. It’s the number of rows of matrix A; M >= 0. πŸ“
  • N β€” N is INTEGER. It’s the number of columns of matrix A; N >= 0. πŸ“
  • A β€” A is COMPLEX array, dimension (LDA,N). On entry, it’s the M-by-N matrix A. On exit, the elements on and below the diagonal of the array contain the m-by-min(m,n) lower trapezoidal matrix L (L is lower triangular if m <= n); the elements above the diagonal, with the array TAU, represent the unitary matrix Q as a product of elementary reflectors (see Further Details). not me explaining the whole glow-up at once πŸ’…
  • LDA β€” LDA is INTEGER. It’s the leading dimension of the array A; LDA >= max(1,M). ✨
  • TAU β€” TAU is COMPLEX array, dimension (min(M,N)). These are the scalar factors of the elementary reflectors (see Further Details). πŸŽ€
  • WORK β€” WORK is COMPLEX 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; LWORK >= max(1,M). For optimum performance, LWORK >= M*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. ⚠️ That -1 is a query vibe, not a typo bestie. 🫢
  • 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

Source-comment block, preserved exactly because the math is doing the most:

!>
!>  The matrix Q is represented as a product of elementary reflectors
!>
!>     Q = H(k)**H . . . H(2)**H H(1)**H, 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; conjg(v(i+1:n)) is stored on exit in
!>  A(i,i+1:n), and tau in TAU(i).
!>

So Q is a product of elementary reflectors, 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; conjg(v(i+1:n)) is stored on exit in A(i,i+1:n), and tau in TAU(i). obsessed with the clarity. πŸ’œ

Definition at line 142 of file cgelqf.f.

πŸ‘‘ Author (Doxygen edition)

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


Cute sign-off bestie: this page’s footer source/version vibe is LAPACK Version 3.12.0, and the footer path is /home/abui...RC/cgelqf.f(3) β€” now go factor something gorgeous! πŸŒˆπŸ’…

πŸ“¦ where this page comes from