ZGELQF(3)

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

πŸŽ€ ZGELQF(3) πŸŽ€

okay so this page lives in the Library Functions Manual, and it’s all about ZGELQF, bestie. The source file for this one is literally /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgelqf.f πŸ’–

🌸 NAME 🌸

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

That’s the name, no cap. It’s the zgelqf.f source file, and the manual is serving the ZGELQF routine. ✨

🌈 SYNOPSIS 🌈

✨ Functions/Subroutines ✨

  • subroutine ZGELQF (m, n, a, lda, tau, work, lwork, info) β€” this is the ZGELQF subroutine, front and center, periodt.

πŸ’« Function/Subroutine Documentation πŸ’«

Here’s the full signature, copied exactly because we do not play with literals:

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

πŸ’œ ZGELQF πŸ’œ

This is the ZGELQF routine, and yes, it’s giving main-character LAPACK energy. 🫢

πŸ”₯ Purpose πŸ”₯

ZGELQF 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.

That’s the whole vibe check on the math, bestie. πŸ’…

🧚 Parameters 🧚

  • M β€” M is INTEGER. It’s the number of rows of the matrix A. Constraint: M >= 0. ✨
  • N β€” N is INTEGER. It’s the number of columns of the matrix A. Constraint: 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 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). πŸ’–
  • LDA β€” LDA is INTEGER. It’s the leading dimension of the array A. Constraint: LDA >= max(1,M). πŸ¦‹
  • TAU β€” TAU is COMPLEX*16 array, dimension (min(M,N)). These are 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. It’s the dimension of the array WORK. Constraint: 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. 😭
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. πŸ’€

πŸ‘‘ Author πŸ‘‘

The author squad on this one is:

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

Absolutely iconic credentials, fr fr. πŸŽ“βœ¨

πŸ’œ Further Details πŸ’œ

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). πŸ§šβ€β™€οΈπŸ’«

πŸ“ Definition at line 142 of file zgelqf.f.

πŸ€– Author πŸ€–

Generated automatically by Doxygen for LAPACK from the source code.


✨ and that’s the whole page, bestie ✨ Cute little sign-off tea β˜•: the footer says source/version LAPACK Version 3.12.0, and the footer path is /home/abui...RC/zgelqf.f(3). Date check: there’s no date printed in this footer, so I’m not inventing one β€” mwah πŸ’…πŸ’–

πŸ“¦ where this page comes from