CLAGS2(3)

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

πŸŽ€ CLAGS2(3) β€” Library Functions Manual πŸŽ€

okay bestie, welcome to the CLAGS2(3) page from the Library Functions Manual πŸ’– this one lives at /home/abui...RC/clags2.f(3) and it’s all about a Fortran subroutine doing very cute 2-by-2 unitary matrix transformations. no cap, it’s giving linear algebra main character energy. ✨

🌸 NAME 🌸

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/clags2.f β€” that’s the whole path, bestie, not me being dramatic. 🫢

✨ SYNOPSIS ✨

πŸ¦‹ Functions/Subroutines πŸ¦‹

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

CLAGS2 β€” yes, that’s the icon herself. πŸ’…

🌈 Function/Subroutine Documentation 🌈

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

CLAGS2 β€” again, but with all the types spelled out. slay. πŸ‘‘

πŸ’– Purpose πŸ’–

okay so CLAGS2 computes 2-by-2 unitary matrices U, V and Q, such that if UPPER is true, then:

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

or if .NOT.UPPER then:

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

where:

U = (   CSU    SNU ), V = (  CSV    SNV ),
    ( -SNU**H  CSU )      ( -SNV**H CSV )

Q = (   CSQ    SNQ )
    ( -SNQ**H  CSQ )

the rows of the transformed A and B are parallel. moreover, if the input 2-by-2 matrix A is not zero, then the transformed (1,1) entry of A is not zero. if the input matrices A and B are both not zero, then the transformed (2,2) element of B is not zero, except when the first rows of input A and B are parallel and the second rows are zero. that’s the whole vibe check, and yes, that exception is important. 😭

🧚 Parameters 🧚

  • UPPER β€” UPPER is LOGICAL; = .TRUE. means the input matrices A and B are upper triangular; = .FALSE. means the input matrices A and B are lower triangular. πŸ’…
  • A1 β€” A1 is REAL.
  • A2 β€” A2 is COMPLEX.
  • 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 COMPLEX.
  • 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 COMPLEX; the desired unitary matrix U. πŸ‘‘
  • CSV β€” CSV is REAL.
  • SNV β€” SNV is COMPLEX; the desired unitary matrix V. πŸ’œ
  • CSQ β€” CSQ is REAL.
  • SNQ β€” SNQ is COMPLEX; the desired unitary matrix Q. πŸŽ€

πŸ‘‘ AUTHOR πŸ‘‘

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

definition at line 156 of file clags2.f. πŸ“Œ

🧚 AUTHOR (auto-generated) 🧚

generated automatically by Doxygen for LAPACK from the source code. no thoughts, just Doxygen doing its thing. πŸ’€


okay that’s the whole CLAGS2(3) saga, bestie. this page is from LAPACK, Version 3.12.0, and the footer path is /home/abui...RC/clags2.f(3). now go forth and slay those unitary matrices. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from