dlags23lapack
Computes 2-by-2 orthogonal 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 ) 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 ) z' denotes the transpose of z
Usage
- 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.