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