1CLAGS2(1) LAPACK auxiliary routine (version 3.1) CLAGS2(1)
2
3
4
6 CLAGS2 - 2-by-2 unitary matrices U, V and Q, such that if ( UPPER )
7 then U'*A*Q = U'*( A1 A2 )*Q = ( x 0 ) ( 0 A3 ) ( x x ) and V'*B*Q
8 = V'*( B1 B2 )*Q = ( x 0 ) ( 0 B3 ) ( x x ) or if ( .NOT.UPPER ) then
9 U'*A*Q = U'*( A1 0 )*Q = ( x x ) ( A2 A3 ) ( 0 x ) and V'*B*Q = V'*(
10 B1 0 )*Q = ( x x ) ( B2 B3 ) ( 0 x ) where U = ( CSU SNU ), V = (
11 CSV SNV ),
12
14 SUBROUTINE CLAGS2( UPPER, A1, A2, A3, B1, B2, B3, CSU, SNU, CSV, SNV,
15 CSQ, SNQ )
16
17 LOGICAL UPPER
18
19 REAL A1, A3, B1, B3, CSQ, CSU, CSV
20
21 COMPLEX A2, B2, SNQ, SNU, SNV
22
24 CLAGS2 computes 2-by-2 unitary matrices U, V and Q, such that if (
25 UPPER ) then
26 ( -CONJG(SNU) CSU ) ( -CONJG(SNV) CSV )
27
28 Q = ( CSQ SNQ )
29 ( -CONJG(SNQ) CSQ )
30
31 Z' denotes the conjugate transpose of Z.
32
33 The rows of the transformed A and B are parallel. Moreover, if the
34 input 2-by-2 matrix A is not zero, then the transformed (1,1) entry of
35 A is not zero. If the input matrices A and B are both not zero, then
36 the transformed (2,2) element of B is not zero, except when the first
37 rows of input A and B are parallel and the second rows are zero.
38
39
41 UPPER (input) LOGICAL
42 = .TRUE.: the input matrices A and B are upper triangular.
43 = .FALSE.: the input matrices A and B are lower triangular.
44
45 A1 (input) REAL
46 A2 (input) COMPLEX A3 (input) REAL On entry, A1, A2
47 and A3 are elements of the input 2-by-2 upper (lower) triangu‐
48 lar matrix A.
49
50 B1 (input) REAL
51 B2 (input) COMPLEX B3 (input) REAL On entry, B1, B2
52 and B3 are elements of the input 2-by-2 upper (lower) triangu‐
53 lar matrix B.
54
55 CSU (output) REAL
56 SNU (output) COMPLEX The desired unitary matrix U.
57
58 CSV (output) REAL
59 SNV (output) COMPLEX The desired unitary matrix V.
60
61 CSQ (output) REAL
62 SNQ (output) COMPLEX The desired unitary matrix Q.
63
64
65
66 LAPACK auxiliary routine (versionNo3v.e1m)ber 2006 CLAGS2(1)