DOKK / manpages / debian 13 / liblapack-doc / lags2.3.en
lags2(3) LAPACK lags2(3)

lags2 - lags2: 2x2 orthogonal factor, step in tgsja


subroutine clags2 (upper, a1, a2, a3, b1, b2, b3, csu, snu, csv, snv, csq, snq)
CLAGS2 subroutine dlags2 (upper, a1, a2, a3, b1, b2, b3, csu, snu, csv, snv, csq, 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. subroutine slags2 (upper, a1, a2, a3, b1, b2, b3, csu, snu, csv, snv, csq, snq)
SLAGS2 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. subroutine zlags2 (upper, a1, a2, a3, b1, b2, b3, csu, snu, csv, snv, csq, snq)
ZLAGS2

CLAGS2

Purpose:


CLAGS2 computes 2-by-2 unitary matrices U, V and Q, such
that if ( UPPER ) then
U**H *A*Q = U**H *( A1 A2 )*Q = ( x 0 )
( 0 A3 ) ( x x )
and
V**H*B*Q = V**H *( B1 B2 )*Q = ( x 0 )
( 0 B3 ) ( x x )
or if ( .NOT.UPPER ) then
U**H *A*Q = U**H *( A1 0 )*Q = ( x x )
( A2 A3 ) ( 0 x )
and
V**H *B*Q = V**H *( B1 0 )*Q = ( x x )
( B2 B3 ) ( 0 x )
where
U = ( CSU SNU ), V = ( CSV SNV ),
( -SNU**H CSU ) ( -SNV**H CSV )
Q = ( CSQ SNQ )
( -SNQ**H CSQ )
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.

Parameters

UPPER


UPPER is LOGICAL
= .TRUE.: the input matrices A and B are upper triangular.
= .FALSE.: the input matrices A and B are lower triangular.

A1


A1 is REAL

A2


A2 is COMPLEX

A3


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

B1


B1 is REAL

B2


B2 is COMPLEX

B3


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

CSU


CSU is REAL

SNU


SNU is COMPLEX
The desired unitary matrix U.

CSV


CSV is REAL

SNV


SNV is COMPLEX
The desired unitary matrix V.

CSQ


CSQ is REAL

SNQ


SNQ is COMPLEX
The desired unitary matrix Q.

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

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.

Purpose:


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.

Parameters

UPPER


UPPER is LOGICAL
= .TRUE.: the input matrices A and B are upper triangular.
= .FALSE.: the input matrices A and B are lower triangular.

A1


A1 is DOUBLE PRECISION

A2


A2 is DOUBLE PRECISION

A3


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

B1


B1 is DOUBLE PRECISION

B2


B2 is DOUBLE PRECISION

B3


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

CSU


CSU is DOUBLE PRECISION

SNU


SNU is DOUBLE PRECISION
The desired orthogonal matrix U.

CSV


CSV is DOUBLE PRECISION

SNV


SNV is DOUBLE PRECISION
The desired orthogonal matrix V.

CSQ


CSQ is DOUBLE PRECISION

SNQ


SNQ is DOUBLE PRECISION
The desired orthogonal matrix Q.

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

SLAGS2 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.

Purpose:


SLAGS2 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.

Parameters

UPPER


UPPER is LOGICAL
= .TRUE.: the input matrices A and B are upper triangular.
= .FALSE.: the input matrices A and B are lower triangular.

A1


A1 is REAL

A2


A2 is REAL

A3


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

B1


B1 is REAL

B2


B2 is REAL

B3


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

CSU


CSU is REAL

SNU


SNU is REAL
The desired orthogonal matrix U.

CSV


CSV is REAL

SNV


SNV is REAL
The desired orthogonal matrix V.

CSQ


CSQ is REAL

SNQ


SNQ is REAL
The desired orthogonal matrix Q.

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

ZLAGS2

Purpose:


ZLAGS2 computes 2-by-2 unitary matrices U, V and Q, such
that if ( UPPER ) then
U**H *A*Q = U**H *( A1 A2 )*Q = ( x 0 )
( 0 A3 ) ( x x )
and
V**H*B*Q = V**H *( B1 B2 )*Q = ( x 0 )
( 0 B3 ) ( x x )
or if ( .NOT.UPPER ) then
U**H *A*Q = U**H *( A1 0 )*Q = ( x x )
( A2 A3 ) ( 0 x )
and
V**H *B*Q = V**H *( B1 0 )*Q = ( x x )
( B2 B3 ) ( 0 x )
where
U = ( CSU SNU ), V = ( CSV SNV ),
( -SNU**H CSU ) ( -SNV**H CSV )
Q = ( CSQ SNQ )
( -SNQ**H CSQ )
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.

Parameters

UPPER


UPPER is LOGICAL
= .TRUE.: the input matrices A and B are upper triangular.
= .FALSE.: the input matrices A and B are lower triangular.

A1


A1 is DOUBLE PRECISION

A2


A2 is COMPLEX*16

A3


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

B1


B1 is DOUBLE PRECISION

B2


B2 is COMPLEX*16

B3


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

CSU


CSU is DOUBLE PRECISION

SNU


SNU is COMPLEX*16
The desired unitary matrix U.

CSV


CSV is DOUBLE PRECISION

SNV


SNV is COMPLEX*16
The desired unitary matrix V.

CSQ


CSQ is DOUBLE PRECISION

SNQ


SNQ is COMPLEX*16
The desired unitary matrix Q.

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Generated automatically by Doxygen for LAPACK from the source code.

Thu Aug 7 2025 17:26:25 Version 3.12.0