subroutine zlags2 (UPPER, A1, A2, A3, B1, B2, B3, CSU, SNU, CSV, SNV, CSQ, SNQ)
subroutine zlags2 (logicalUPPER, double precisionA1, complex*16A2, double precisionA3, double precisionB1, complex*16B2, double precisionB3, double precisionCSU, complex*16SNU, double precisionCSV, complex*16SNV, double precisionCSQ, complex*16SNQ)ZLAGS2 Purpose:
ZLAGS2 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.
UPPER is LOGICAL = .TRUE.: the input matrices A and B are upper triangular. = .FALSE.: the input matrices A and B are lower triangular.A1
A1 is DOUBLE PRECISIONA2
A2 is COMPLEX*16A3
A3 is DOUBLE PRECISION On entry, A1, A2 and A3 are elements of the input 2-by-2 upper (lower) triangular matrix A.B1
B1 is DOUBLE PRECISIONB2
B2 is COMPLEX*16B3
B3 is DOUBLE PRECISION On entry, B1, B2 and B3 are elements of the input 2-by-2 upper (lower) triangular matrix B.CSU
CSU is DOUBLE PRECISIONSNU
SNU is COMPLEX*16 The desired unitary matrix U.CSV
CSV is DOUBLE PRECISIONSNV
SNV is COMPLEX*16 The desired unitary matrix V.CSQ
CSQ is DOUBLE PRECISIONSNQ
SNQ is COMPLEX*16 The desired unitary matrix Q.
Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd.Date:
November 2011Definition at line 158 of file zlags2.f.