![]() |
LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine dlags2 | ( | logical | upper, |
double precision | a1, | ||
double precision | a2, | ||
double precision | a3, | ||
double precision | b1, | ||
double precision | b2, | ||
double precision | b3, | ||
double precision | csu, | ||
double precision | snu, | ||
double precision | csv, | ||
double precision | snv, | ||
double precision | csq, | ||
double precision | snq ) |
DLAGS2 computes 2-by-2 orthogonal matrices U, V, and Q, and applies them to matrices A and B such that the rows of the transformed A and B are parallel.
Download DLAGS2 + dependencies [TGZ] [ZIP] [TXT]
!> !> DLAGS2 computes 2-by-2 orthogonal matrices U, V and Q, such !> that if ( UPPER ) then !> !> U**T *A*Q = U**T *( A1 A2 )*Q = ( x 0 ) !> ( 0 A3 ) ( x x ) !> and !> V**T*B*Q = V**T *( B1 B2 )*Q = ( x 0 ) !> ( 0 B3 ) ( x x ) !> !> or if ( .NOT.UPPER ) then !> !> U**T *A*Q = U**T *( A1 0 )*Q = ( x x ) !> ( A2 A3 ) ( 0 x ) !> and !> V**T*B*Q = V**T*( 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**T denotes the transpose of Z. !> !>
[in] | UPPER | !> UPPER is LOGICAL !> = .TRUE.: the input matrices A and B are upper triangular. !> = .FALSE.: the input matrices A and B are lower triangular. !> |
[in] | A1 | !> A1 is DOUBLE PRECISION !> |
[in] | A2 | !> A2 is DOUBLE PRECISION !> |
[in] | A3 | !> A3 is DOUBLE PRECISION !> On entry, A1, A2 and A3 are elements of the input 2-by-2 !> upper (lower) triangular matrix A. !> |
[in] | B1 | !> B1 is DOUBLE PRECISION !> |
[in] | B2 | !> B2 is DOUBLE PRECISION !> |
[in] | B3 | !> B3 is DOUBLE PRECISION !> On entry, B1, B2 and B3 are elements of the input 2-by-2 !> upper (lower) triangular matrix B. !> |
[out] | CSU | !> CSU is DOUBLE PRECISION !> |
[out] | SNU | !> SNU is DOUBLE PRECISION !> The desired orthogonal matrix U. !> |
[out] | CSV | !> CSV is DOUBLE PRECISION !> |
[out] | SNV | !> SNV is DOUBLE PRECISION !> The desired orthogonal matrix V. !> |
[out] | CSQ | !> CSQ is DOUBLE PRECISION !> |
[out] | SNQ | !> SNQ is DOUBLE PRECISION !> The desired orthogonal matrix Q. !> |
Definition at line 148 of file dlags2.f.