# dlags2 (l) - Linux Man Pages

## NAME

DLAGS2 - computes 2-by-2 orthogonal matrices U, V and Q, such that if ( UPPER ) then Uaq*A*Q = Uaq*( A1 A2 )*Q = ( x 0 ) ( 0 A3 ) ( x x ) and Vaq*B*Q = Vaq*( B1 B2 )*Q = ( x 0 ) ( 0 B3 ) ( x x ) or if ( .NOT.UPPER ) then Uaq*A*Q = Uaq*( A1 0 )*Q = ( x x ) ( A2 A3 ) ( 0 x ) and Vaq*B*Q = Vaq*( B1 0 )*Q = ( x x ) ( B2 B3 ) ( 0 x ) The rows of the transformed A and B are parallel, where U = ( CSU SNU ), V = ( CSV SNV ), Q = ( CSQ SNQ ) ( -SNU CSU ) ( -SNV CSV ) ( -SNQ CSQ ) Zaq denotes the transpose of Z

## SYNOPSIS

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

LOGICAL UPPER

DOUBLE PRECISION A1, A2, A3, B1, B2, B3, CSQ, CSU, CSV, SNQ, SNU, SNV

## PURPOSE

DLAGS2 computes 2-by-2 orthogonal matrices U, V and Q, such that if ( UPPER ) then

## 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) DOUBLE PRECISION
A2 (input) DOUBLE PRECISION A3 (input) DOUBLE PRECISION On entry, A1, A2 and A3 are elements of the input 2-by-2 upper (lower) triangular matrix A.
B1 (input) DOUBLE PRECISION
B2 (input) DOUBLE PRECISION B3 (input) DOUBLE PRECISION On entry, B1, B2 and B3 are elements of the input 2-by-2 upper (lower) triangular matrix B.
CSU (output) DOUBLE PRECISION
SNU (output) DOUBLE PRECISION The desired orthogonal matrix U.
CSV (output) DOUBLE PRECISION
SNV (output) DOUBLE PRECISION The desired orthogonal matrix V.
CSQ (output) DOUBLE PRECISION
SNQ (output) DOUBLE PRECISION The desired orthogonal matrix Q.