SRC/dorgql.f(3)

πŸ’– NAME πŸ’–

okay so bestie, this is SRC/dorgql.f(3) from the Library Functions Manual, and the main character is the DORGQL subroutine ✨. She's got main character energy, and honestly? Obsessed. No cap, this page is all about her. The way that this is literally a LAPACK moment β€” iykyk πŸ’….

✨ SYNOPSIS ✨

🫢 Functions/Subroutines 🫢

  • subroutine dorgql (m, n, k, a, lda, tau, work, lwork, info)
    • DORGQL

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

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

DORGQL β€” she's the whole vibe πŸ’…

πŸ‘‘ Purpose πŸ‘‘

DORGQL generates an M-by-N real matrix Q with orthonormal columns, which is defined as the last N columns of a product of K elementary reflectors of order M:

Q  =  H(k) . . . H(2) H(1)

as returned by DGEQLF. Periodt. πŸ’– Lowkey obsessed with how clean that is.

🌸 Parameters 🌸

Not me explaining every single parameter with love, but highkey they all matter 🫢:

  • M β€” M is INTEGER. The number of rows of the matrix Q. M >= 0.
  • N β€” N is INTEGER. The number of columns of the matrix Q. M >= N >= 0.
  • K β€” K is INTEGER. The number of elementary reflectors whose product defines the matrix Q. N >= K >= 0.
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N). On entry, the (n-k+i)-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by DGEQLF in the last k columns of its array argument A. On exit, the M-by-N matrix Q.
  • LDA β€” LDA is INTEGER. The first dimension of the array A. LDA >= max(1,M).
  • TAU β€” TAU is DOUBLE PRECISION array, dimension (K). TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DGEQLF.
  • 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. 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.

  • INFO β€” INFO is INTEGER.
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument has an illegal value

πŸŽ€ Author πŸŽ€

Highkey iconic author credits, ngl:

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

Definition at line 127 of file dorgql.f.

πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code.


xoxo bestie πŸ’– β€” this glow-up was brought to you by LAPACK Version 3.12.0, file SRC/dorgql.f(3). Vibe check: passed. You ate that, fr fr. Stay orthonormal and slay βœ¨πŸ¦‹

πŸ“¦ where this page comes from