/home/abui.../sgemqrt.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/sgemqrt.f

okay so bestie, that's the whole name β€” it's literally just the full path to the source file, no cap. This is the manual page for that file, from the LAPACK Library Functions Manual. πŸŽ€


✨ SYNOPSIS ✨

🌸 Functions/Subroutines

  • subroutine SGEMQRT (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc, work, info) β€” that's the whole squad of arguments, and yes she's called SGEMQRT 🫢

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

πŸ’– subroutine SGEMQRT

subroutine SGEMQRT (character side, character trans, integer m, integer n,
    integer k, integer nb, real, dimension( ldv, * ) v, integer ldv, real,
    dimension( ldt, * ) t, integer ldt, real, dimension( ldc, * ) c, integer
    ldc, real, dimension( * ) work, integer info)

SGEMQRT. that's her name. iconic. ✨

πŸ¦‹ Purpose

fr fr here's the tea, straight from the source comment block:

!>
!> SGEMQRT overwrites the general real M-by-N matrix C with
!>
!>                 SIDE = 'L'     SIDE = 'R'
!> TRANS = 'N':      Q C            C Q
!> TRANS = 'T':   Q**T C            C Q**T
!>
!> where Q is a real orthogonal matrix defined as the product of K
!> elementary reflectors:
!>
!>       Q = H(1) H(2) . . . H(K) = I - V T V**T
!>
!> generated using the compact WY representation as returned by SGEQRT.
!>
!> Q is of order M if SIDE = 'L' and of order N  if SIDE = 'R'.
!>

so like, you hand her a matrix C, she hands you back C with Q (or Q**T) multiplied in from whichever side you asked for. main character energy honestly πŸ’…


🌈 Parameters

  • SIDE β€” SIDE is CHARACTER*1, and it picks which side Q comes at you from:
    • = 'L': apply Q or Q**T from the Left;
    • = 'R': apply Q or Q**T from the Right.
  • TRANS β€” TRANS is CHARACTER*1, the transpose vibe check:
    • = 'N': No transpose, apply Q;
    • = 'T': Transpose, apply Q**T.
  • M β€” M is INTEGER, and it's The number of rows of the matrix C. M >= 0. (yes bestie, zero rows is legal, she's not judging πŸ™ˆ)
  • N β€” N is INTEGER, The number of columns of the matrix C. N >= 0.
  • K β€” K is INTEGER, The number of elementary reflectors whose product defines the matrix Q. and the constraints are:
    • If SIDE = 'L', M >= K >= 0;
    • if SIDE = 'R', N >= K >= 0.
  • NB β€” NB is INTEGER, The block size used for the storage of T. K >= NB >= 1. and listen, this is important: This must be the same value of NB used to generate T in SGEQRT. like, matching set only, no substitutions πŸ”₯
  • V β€” V is REAL array, dimension (LDV,K), and The i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by SGEQRT in the first K columns of its array argument A. so basically she's reusing the exact columns SGEQRT left behind ✨
  • LDV β€” LDV is INTEGER, The leading dimension of the array V. and the original says:
    • If SIDE = 'L', LDA >= max(1,M);
    • if SIDE = 'R', LDA >= max(1,N).
πŸ’€ not me pointing out that the doc says LDA here even though we're talking about LDV β€” that's literally what the manpage says, so I'm keeping it exactly as-is. don't come for me, I don't make the rules.
  • T β€” T is REAL array, dimension (LDT,K), The upper triangular factors of the block reflectors as returned by SGEQRT, stored as a NB-by-N matrix.
  • LDT β€” LDT is INTEGER, The leading dimension of the array T. LDT >= NB.
  • C β€” C is REAL array, dimension (LDC,N). On entry, the M-by-N matrix C. On exit, C is overwritten by Q C, Q**T C, C Q**T or C Q. so yeah she does NOT preserve your input, she replaces it β€” glow-up in place, bestie πŸ¦‹
  • LDC β€” LDC is INTEGER, The leading dimension of the array C. LDC >= max(1,M).
  • WORK β€” WORK is REAL array. and the dimension is N*NB if SIDE = 'L', or M*NB if SIDE = 'R'. so size it right or it's giving undefined behaviour 😭
  • INFO β€” INFO is INTEGER, the receipts:
    • = 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.

Definition at line 166 of file sgemqrt.f. πŸ’œ


⭐ Author (again, but the Doxygen one) ⭐

Generated automatically by Doxygen for LAPACK from the source code. β€” yeah she's auto-generated, she didn't write her own bio, relatable πŸŽ€


okay that's the whole page, you're welcome, go slay your linear algebra 🫢

β€” LAPACK, Version 3.12.0, from /home/abui.../sgemqrt.f(3) β€” mwah, bye bestie πŸ’…βœ¨

πŸ“¦ where this page comes from