DLAGS2(3)

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

πŸ’… NAME πŸ’…

ok so bestie, this page is the manpage for /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlags2.f β€” like, that's literally the whole file path, no cap. it's a LAPACK source file and DLAGS2 is the routine living inside it. ✨


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine DLAGS2 (upper, a1, a2, a3, b1, b2, b3, csu, snu, csv, snv,
    csq, snq)

lowkey the whole point: DLAGS2 computes 2-by-2 orthogonal matrices U, V, and Q, and applies them to matrices A and B such that the rows of the transformed A and B are parallel. that's it, that's the vibe πŸ¦‹


πŸŽ€ Function/Subroutine Documentation πŸŽ€

subroutine DLAGS2 (logical upper, double precision a1, double precision a2,
    double precision a3, double precision b1, double precision b2,
    double precision b3, double precision csu, double precision snu,
    double precision csv, double precision snv, double precision csq,
    double precision snq)

DLAGS2 computes 2-by-2 orthogonal matrices U, V, and Q, and applies them to matrices A and B such that the rows of the transformed A and B are parallel. yes she's an icon, yes she's doing math πŸ’œ


πŸ”₯ Purpose πŸ”₯

ok so, DLAGS2 computes 2-by-2 orthogonal matrices U, V and Q, such that if ( UPPER ) then

          U**T *A*Q = U**T *( A1 A2 )*Q = ( x  0  )
                            ( 0  A3 )     ( x  x  )
and
          V**T*B*Q = V**T *( B1 B2 )*Q = ( x  0  )
                           ( 0  B3 )     ( x  x  )

or if ( .NOT.UPPER ) then

          U**T *A*Q = U**T *( A1 0  )*Q = ( x  x  )
                            ( A2 A3 )     ( 0  x  )
and
          V**T*B*Q = V**T*( B1 0  )*Q = ( x  x  )
                          ( B2 B3 )     ( 0  x  )

the rows of the transformed A and B are parallel, where

  U = (  CSU  SNU ), V = (  CSV SNV ), Q = (  CSQ   SNQ )
      ( -SNU  CSU )      ( -SNV CSV )      ( -SNQ   CSQ )

and Z**T denotes the transpose of Z. πŸ’«


✨ Parameters ✨

  • UPPER β€” UPPER is LOGICAL. it's giving switch statement energy:
    • = .TRUE.: the input matrices A and B are upper triangular.
    • = .FALSE.: the input matrices A and B are lower triangular.
  • A1 β€” A1 is DOUBLE PRECISION. just vibing, no extra lore.
  • A2 β€” A2 is DOUBLE PRECISION. same.
  • A3 β€” A3 is DOUBLE PRECISION. okay here's the tea: on entry, A1, A2 and A3 are elements of the input 2-by-2 upper (lower) triangular matrix A. 🫢
  • B1 β€” B1 is DOUBLE PRECISION. hi bestie.
  • B2 β€” B2 is DOUBLE PRECISION. hiii.
  • B3 β€” B3 is DOUBLE PRECISION. on entry, B1, B2 and B3 are elements of the input 2-by-2 upper (lower) triangular matrix B. slay πŸ“
  • CSU β€” CSU is DOUBLE PRECISION. part one of the moment.
  • SNU β€” SNU is DOUBLE PRECISION. together with CSU, this is the desired orthogonal matrix U. πŸ‘‘
  • CSV β€” CSV is DOUBLE PRECISION. part one again, different girl.
  • SNV β€” SNV is DOUBLE PRECISION. together with CSV, this is the desired orthogonal matrix V. πŸ¦‹
  • CSQ β€” CSQ is DOUBLE PRECISION. last one i promise.
  • SNQ β€” SNQ is DOUBLE PRECISION. together with CSQ, this is the desired orthogonal matrix Q. and that's the trio complete πŸŽ€

πŸ‘‘ Author πŸ‘‘

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

🌈 Author (yes, again) 🌈

Generated automatically by Doxygen for LAPACK from the source code. not a human writing this one, it's the machine's doing πŸ’€

Definition at line 150 of file dlags2.f. (so if you need to point at it in a code review, you know exactly where to point 🫡)

and that's the whole page bestie!! πŸ’–βœ¨ this was LAPACK, Version 3.12.0, living at /home/abui...RC/dlags2.f(3) β€” go forth and orthogonalize, mwah πŸŽ€πŸ’…

πŸ“¦ where this page comes from