SRC/slags2.f(3)

πŸ’… SRC/slags2.f(3) πŸ’…

okay bestie, welcome to the manual page for SRC/slags2.f from the Library Functions Manual. It's giving LAPACK, it's giving orthogonal matrices, and it's honestly iconic. πŸ’–


🌸 NAME 🌸

SRC/slags2.f

✨ SYNOPSIS ✨

🧚 Functions/Subroutines 🧚

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

SLAGS2 computes 2-by-2 orthogonal matrices U, V, and Q, and applies them to matrices A and B so the rows of the transformed A and B are parallel. πŸ¦‹

πŸ› οΈ Function/Subroutine Documentation πŸ› οΈ

πŸ’« subroutine slags2 πŸ’«

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

SLAGS2 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 bestie, that's the whole point, and it ate. πŸ’…)

🎯 Purpose 🎯

okay so here's the exact vibe math β€” copy it, don't touch it:

!>
!> SLAGS2 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 )
!>
!> Z**T denotes the transpose of Z.
!>
!>

So yeah: the rows of the transformed A and B end up parallel, and Z**T denotes the transpose of Z. No cap. 🌈

🌸 Parameters 🌸

  • UPPER β€” UPPER is LOGICAL. = .TRUE. means the input matrices A and B are upper triangular; = .FALSE. means they're lower triangular. πŸ¦‹
  • A1 β€” A1 is REAL
  • A2 β€” A2 is REAL
  • A3 β€” A3 is REAL. On entry, A1, A2 and A3 are elements of the input 2-by-2 upper (lower) triangular matrix A.
  • B1 β€” B1 is REAL
  • B2 β€” B2 is REAL
  • B3 β€” B3 is REAL. On entry, B1, B2 and B3 are elements of the input 2-by-2 upper (lower) triangular matrix B.
  • CSU β€” CSU is REAL
  • SNU β€” SNU is REAL. The desired orthogonal matrix U. πŸ’œ
  • CSV β€” CSV is REAL
  • SNV β€” SNV is REAL. The desired orthogonal matrix V. πŸ’œ
  • CSQ β€” CSQ is REAL
  • SNQ β€” SNQ is REAL. The desired orthogonal matrix Q. πŸ’œ

πŸ’– Author πŸ’–

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

Definition at line 150 of file slags2.f.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


That's the whole page, bestie πŸ’–. Footer sign-off: LAPACK, Version 3.12.0, source SRC/slags2.f(3). There's no date in the footer, so I'm not inventing one β€” periodt. πŸŽ€

πŸ“¦ where this page comes from