SRC/clags2.f(3)
πΈ NAME πΈ
okay bestie, this is SRC/clags2.f β yes, the Library Functions Manual page for it, folded in near the top so we donβt do the boring header-copy thing. The whole page is lowkey obsessed with one Fortran subroutine: clags2. π
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
subroutine clags2 (upper, a1, a2, a3, b1, b2, b3, csu, snu, csv, snv,
csq, snq)
CLAGS2
so yeah, thatβs the group chat invite list: upper, a1, a2, a3, b1, b2, b3, csu, snu, csv, snv, csq, and snq. π
π«Ά Function/Subroutine Documentation π«Ά
π subroutine clags2 π
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
π― Purpose π―
okay so hereβs the serve, bestie: CLAGS2 computes 2-by-2 unitary matrices U, V and Q, such that if ( UPPER ) then
!>
!> CLAGS2 computes 2-by-2 unitary matrices U, V and Q, such
!> that if ( UPPER ) 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.
!>
short version: the rows of the transformed A and B are parallel. and 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 tea. π«β¨
π Parameters π
UPPERβUPPER is LOGICAL. if= .TRUE.then the input matrices A and B are upper triangular. if= .FALSE.then the input matrices A and B are lower triangular. choose your fighter. πA1βA1 is REAL.A2βA2 is COMPLEX.A3βA3 is REAL. on entry,A1,A2andA3are 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,B2andB3are elements of the input 2-by-2 upper (lower) triangular matrix B.CSUβCSU is REAL.SNUβSNU is COMPLEX. this is the desired unitary matrix U, periodt.CSVβCSV is REAL.SNVβSNV is COMPLEX. this is the desired unitary matrix V, no cap.CSQβCSQ is REAL.SNQβSNQ is COMPLEX. this is the desired unitary matrix Q, iconic.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition at line 156 of file clags2.f π
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
cute sign-off: this page is from LAPACK Version 3.12.0, source page SRC/clags2.f(3), and the header/manual-name situation is folded in at the top like a good bestie. bye bestie πβ¨π
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms