logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

Generated automatically by Doxygen for LAPACK from the source code. Version 3.12.0 Thu Aug 7 2025 17:26:25 lags2(3)

Detailed Description

Function Documentation

subroutineclags2(logicalupper,reala1,complexa2,reala3,realb1,complexb2,realb3,realcsu,complexsnu,realcsv,complexsnv,realcsq,complexsnq)CLAGS2Purpose: 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. ParametersUPPER 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. subroutinedlags2(logicalupper,doubleprecisiona1,doubleprecisiona2,doubleprecisiona3,doubleprecisionb1,doubleprecisionb2,doubleprecisionb3,doubleprecisioncsu,doubleprecisionsnu,doubleprecisioncsv,doubleprecisionsnv,doubleprecisioncsq,doubleprecisionsnq)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. ParametersUPPER 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. subroutineslags2(logicalupper,reala1,reala2,reala3,realb1,realb2,realb3,realcsu,realsnu,realcsv,realsnv,realcsq,realsnq)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. ParametersUPPER 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. subroutinezlags2(logicalupper,doubleprecisiona1,complex*16a2,doubleprecisiona3,doubleprecisionb1,complex*16b2,doubleprecisionb3,doubleprecisioncsu,complex*16snu,doubleprecisioncsv,complex*16snv,doubleprecisioncsq,complex*16snq)ZLAGS2Purpose: 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. ParametersUPPER 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.

Name

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

Synopsis

Functions 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

See Also