clags2(3S)

CLAGS2 - compute 2-by-2 unitary matrices U, V and Q, such that if ( UPPER ) then U'*A*Q = U'*( A1 A2 )*Q = ( x 0 ) ( 0 A3 ) ( x x ) and V'*B*Q = V'*( B1 B2 )*Q = ( x 0 ) ( 0 B3 ) ( x x ) or if ( .NOT.UPPER ) then U'*A*Q = U'*( A1 0 )*Q = ( x x ) ( A2 A3 ) ( 0 x ) and V'*B*Q = V'*( B1 0 )*Q = ( x x ) ( B2 B3 ) ( 0 x ) where U = ( CSU SNU ), V = ( CSV SNV ),

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.15.

NAME
     CLAGS2 - compute 2-by-2 unitary matrices U, V and Q, such that if ( UPPER
     ) then  U'*A*Q = U'*( A1 A2 )*Q = ( x 0 ) ( 0 A3 ) ( x x ) and V'*B*Q =
     V'*( B1 B2 )*Q = ( x 0 ) ( 0 B3 ) ( x x )  or if ( .NOT.UPPER ) then
     U'*A*Q = U'*( A1 0 )*Q = ( x x ) ( A2 A3 ) ( 0 x ) and V'*B*Q = V'*( B1 0
     )*Q = ( x x ) ( B2 B3 ) ( 0 x ) where  U = ( CSU SNU ), V = ( CSV SNV ),

SYNOPSIS
     SUBROUTINE CLAGS2( UPPER, A1, A2, A3, B1, B2, B3, CSU, SNU, CSV, SNV,
                        CSQ, SNQ )

         LOGICAL        UPPER

         REAL           A1, A3, B1, B3, CSQ, CSU, CSV

         COMPLEX        A2, B2, SNQ, SNU, SNV

IMPLEMENTATION
     These routines are part of the SCSL Scientific Library and can be loaded
     using either the -lscs or the -lscs_mp option.  The -lscs_mp option
     directs the linker to use the multi-processor version of the library.

     When linking to SCSL with -lscs or -lscs_mp, the default integer size is
     4 bytes (32 bits). Another version of SCSL is available in which integers
     are 8 bytes (64 bits).  This version allows the user access to larger
     memory sizes and helps when porting legacy Cray codes.  It can be loaded
     by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
     only one of the two versions; 4-byte integer and 8-byte integer library
     calls cannot be mixed.

PURPOSE
     CLAGS2 computes 2-by-2 unitary matrices U, V and Q, such that if ( UPPER
     ) then U'*A*Q = U'*( A1 A2 )*Q = ( x 0 ) ( 0 A3 ) ( x x ) and V'*B*Q =
     V'*( B1 B2 )*Q = ( x 0 ) ( 0 B3 ) ( x x ) or if ( .NOT.UPPER ) then
     U'*A*Q = U'*( A1 0 )*Q = ( x x ) ( A2 A3 ) ( 0 x ) and V'*B*Q = V'*( B1 0
     )*Q = ( x x ) ( B2 B3 ) ( 0 x ) where U = ( CSU SNU ), V = ( CSV SNV ),
     ( -CONJG(SNU)  CSU )      ( -CONJG(SNV) CSV )

       Q = (     CSQ      SNQ )
           ( -CONJG(SNQ)  CSQ )

     Z' denotes the conjugate transpose of Z.

     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.
ARGUMENTS
     UPPER   (input) LOGICAL
             = .TRUE.: the input matrices A and B are upper triangular.
             = .FALSE.: the input matrices A and B are lower triangular.

     A1      (input) REAL
             A2      (input) COMPLEX A3      (input) REAL On entry, A1, A2 and
             A3 are elements of the input 2-by-2 upper (lower) triangular
             matrix A.

     B1      (input) REAL
             B2      (input) COMPLEX B3      (input) REAL On entry, B1, B2 and
             B3 are elements of the input 2-by-2 upper (lower) triangular
             matrix B.

     CSU     (output) REAL
             SNU     (output) COMPLEX The desired unitary matrix U.

     CSV     (output) REAL
             SNV     (output) COMPLEX The desired unitary matrix V.

     CSQ     (output) REAL
             SNQ     (output) COMPLEX The desired unitary matrix Q.

SEE ALSO
     INTRO_LAPACK(3S), INTRO_SCSL(3S)

     This man page is available only online.