SORG2R(3)

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

πŸ’… SORG2R(3) β€” like, the manual page, bestie

okay so first things first: this page lives in the Library Functions Manual (yes, that's the manual name, keep up πŸ’–) and the file we're talking about is, like, sorg2r.f β€” full path /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/sorg2r.f, or as the header shows it, /home/abui...RC/sorg2r.f(3). Cute. Truncated. Iconic. πŸŽ€


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/sorg2r.f β€” that's the whole name section, no cap, it's literally just the file path. LAPACK said "the name IS the address" and honestly? slay. πŸ¦‹


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine SORG2R (m, n, k, a, lda, tau, work, info)

SORG2R generates all or part of the orthogonal matrix Q from a QR factorization determined by sgeqrf (unblocked algorithm). that's the whole vibe πŸ’«


πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

subroutine SORG2R (integer m, integer n, integer k, real, dimension( lda, * ) a, integer lda, real, dimension( * ) tau, real, dimension( * ) work, integer info)

SORG2R generates all or part of the orthogonal matrix Q from a QR factorization determined by sgeqrf (unblocked algorithm). (yes I said it twice, it's that important, periodt πŸ’…)

🧚 Purpose:

!>
!> SORG2R generates an m by n real matrix Q with orthonormal columns,
!> which is defined as the first n columns of a product of k elementary
!> reflectors of order m
!>
!>       Q  =  H(1) H(2) . . . H(k)
!>
!> as returned by SGEQRF.
!>

so like, you hand it the reflector data and it hands you back Q, the first n columns of that big product of k elementary reflectors of order m, exactly as SGEQRF gave them to you. math but make it fashion ✨

🌈 Parameters

  • M β€” M is INTEGER, the number of rows of the matrix Q. constraint: M >= 0. no negative rows bestie, we don't do that here πŸ™ˆ
  • N β€” N is INTEGER, the number of columns of the matrix Q. constraint: M >= N >= 0. (yep, it's sandwiched between M and zero 😭)
  • K β€” K is INTEGER, the number of elementary reflectors whose product defines the matrix Q. constraint: N >= K >= 0.
  • A β€” A is REAL array, dimension (LDA,N).
    • On entry: the i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by SGEQRF in the first k columns of its array argument A. 🫢
    • On exit: the m-by-n matrix Q. glow-up complete πŸ’–
  • LDA β€” LDA is INTEGER, the first dimension of the array A. constraint: LDA >= max(1,M). respect the leading dimension or perish πŸ”₯
  • TAU β€” TAU is REAL array, dimension (K). TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by SGEQRF. the little scalar that could ⭐
  • WORK β€” WORK is REAL array, dimension (N). scratch space, doing the most behind the scenes, main character energy fr fr πŸŽ€
  • WORK... no wait, INFO β€” INFO is INTEGER:
    • = 0: successful exit πŸŽ‰
    • < 0: if INFO = -i, the i-th argument has an illegal value. πŸ’€ somebody passed a bad arg, it happens

πŸ¦‹ Author

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

(the whole squad, we love a collab πŸ‘‘)

⭐ Definition at line 113 of file sorg2r.f.

like, go look at line 113 if you want the receipts, iykyk.


πŸ“ Author (yeah there's a second one, don't @ me)

Generated automatically by Doxygen for LAPACK from the source code. a robot wrote this and honestly it ate πŸ€–βœ¨


lowkey reminder bestie: M >= N >= 0, N >= K >= 0, and LDA >= max(1,M) β€” break those and INFO will come for you with a negative number 😭

and that's the page! 🌸 brought to you by LAPACK, Version 3.12.0, dated /home/abui...RC/sorg2r.f(3) β€” mwah, drink water, and go generate some orthonormal columns πŸ’œπŸ«Ά

πŸ“¦ where this page comes from