Provided by: liblapack-doc_3.12.0-3build1_all bug

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

Detailed Description

Function Documentation

   subroutine clags2 (logical upper, real a1, complex a2, real a3, real b1, complex b2, real b3,
       real csu, complex snu, real csv, complex snv, real csq, complex snq)
       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.

   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.

       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.

   subroutine slags2 (logical upper, real a1, real a2, real a3, real b1, real b2, real b3, real
       csu, real snu, real csv, real snv, real csq, real 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.

       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.

   subroutine zlags2 (logical upper, double precision a1, complex*16 a2, double precision a3,
       double precision b1, complex*16 b2, double precision b3, double precision csu, complex*16
       snu, double precision csv, complex*16 snv, double precision csq, complex*16 snq)
       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.

Author

       Generated automatically by Doxygen for LAPACK from the source code.